我正在寻找一种方法来快速修剪 mp4 文件边缘的 2 帧左右。使用 ffmpeg,我可以通过以下方式做到这一点,但我希望有更快的方法:
ffmpeg -y -i myVid.mp4 -ss 0.066 -t 0.066 -c:a copy result.mp4
这是可行的,因为我使用了相对较慢的搜索 [在文件名后放置 ss] 选项并进行编码。我必须进行编码(根据 ffmpeg 开发人员),因为我修剪的时间少于 GOP 时间(我的视频 GOP 是 33 帧)。
现在我想让它更快。为了这个小剪辑我必须对整个视频进行编码,这太可怕了。
我的问题是,有没有一个好的方法来更快地做到这一点,以及这个提出的解决方案存在哪些可能的注意事项[我知道它不是 100% 有效]:
- 使用段复用器将文件分成 3 个部分,使用 fragment_times 来要求相对较小的开始和结束。这应该创建 3 个段。
- 使用 -ss 从第一个片段修剪。使用 -t 修剪最后一个片段(计算出其持续时间之后)。两者都是使用视频帧编码完成的(我使用默认值,只是注意 -c:a copy)。
- 通过 concat 解复用器将它们重新连接起来,并使用流复制。
尝试这个,然后在某些播放器上直接跳过中间部分。所以我想有些地方出了问题。