ffmpeg:将 -tpad 与 -ss 和 -t 结合起来

ffmpeg:将 -tpad 与 -ss 和 -t 结合起来

使用带有 -ss、-t 和 -tpad 的 ffmpeg,我试图将一堆剪辑剪辑成总共 6 秒的固定长度:开头 2 秒的句柄 + 2 秒的关注点 + 结尾 2 秒的尾随时间。不幸的是,我的一些输入剪辑在结尾或开头没有 2 秒的尾随时间,因此我尝试使用 tpad 填充它们(因此输出始终为 6 秒)。这有点有效,但现在我关注的两秒总是在开头 - 而不是像我想要的那样在中间。我该如何解决这个问题?

附加问题:目前它用黑色填充。颜色选项怎么能使用视频的第一帧/最后一帧作为静态图像呢?

我使用的代码(从 Python 调用但对于过滤链来说应该没有区别):

filterchain = "[0:v]tpad=stop=-1,trim=end=6,scale='if(gt(a,1/1),-1,480)':'if(gt(a,1/1),480,-1)',setsar=1,crop=480:480"
subprocess.call(['ffmpeg', '-ss', str(inpoint-2), '-t', '6',
  '-i', input_clip, '-filter_complex', filterchain, '-r', '25',
  '-c:v', 'prores', '-profile:v', '1', '-c:a', 'pcm_s16le',
  '-ar', '48000', "-hide_banner", '-loglevel', 'error', output])

相关内容