我遇到了一个相当奇怪的问题。我似乎无法让 ffmpeg 的trim
命令真正遵守start
时间并丢弃时间之前的帧。
例如,给出以下命令:
ffmpeg.exe -i myvid.mp4 -filter_complex '[0:v]trim=start=15:end=25;[0:a]atrim=start=15:end=25' out.mp4
我原本以为它out.mp4
包含一段 10 秒的剪辑myvid.mp4
,从第 15 秒开始播放,一直播放到第 25 秒。然而,我实际得到的是一段 25 秒的视频,前 15 秒是单个静态帧,接下来的 10 秒是正常视频。有什么线索可以解释这里发生了什么吗?
以下是演示效果的示例剪辑:
http://gfycat.com/FearfulDigitalIndianskimmer
编辑:
我认为这也许是 Windows 版 ffmpeg 的一个怪癖。我启动了一个 Ubuntu 实例,以便也可以在那里测试语法。值得一提的是,同样的问题也发生在 Linux 上。