使用 ffmpeg 将视频拆分成多集

使用 ffmpeg 将视频拆分成多集

我需要用 将一个视频剪切成多个片段ffmpeg

当我只剪掉一集的时候

ffmpeg -i 001.mp4 -vcodec copy -acodec copy -ss 00:00:00.000 -t 00:00:25.500 -strict -2 out1.mp4

或者

ffmpeg -i 001.mp4 -vcodec copy -acodec copy -ss 00:00:25.500 -t 00:00:33.750 -strict -2 out2.mp4

我的视频瞬间被切断了。

但当我把标记连在一起,我想剪裁的地方

ffmpeg -i 001.mp4 -vcodec copy -acodec copy -ss 00:00:00.000 -t 00:00:25.500 -strict -2 out1.mp4 -ss 00:00:25.500 -t 00:00:33.750 -strict -2 out2.mp4

它仍然有效,但需要花费更多的时间(大约 10 秒),并且我看到的输出与转换某些内容时相同。

是不是我的哪里错了ffmpeg-command,还是建议ffmpeg-commands一个一个的执行?

答案1

ffmpeg 可能正在重新编码,out2.mp4因为您没有为第二个输出包含复制选项:

ffmpeg -i 001.mp4 -codec copy -t 00:00:25.5 out1.mp4 -codec copy -ss 00:00:25.5 -t 00:00:33.75 out2.mp4
  • -strict -2在这种情况下不是必需的。如果您正在重新编码,并且没有其他可用的 AAC 编码器,则 ffmpeg 将使用-codec:a aac需要的-strict -2(或我更喜欢的别名-strict experimental)。

  • -codec copy如果存在,将复制每种类型的所有流。对于 MP4,这通常仅意味着音频和视频,但其他容器可以有字幕甚至数据流。

  • -ss如果值为 0,则无需使用。

相关内容