使用 ffmpeg 在多集中拆分视频

Ale*_*lov 7 ffmpeg

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

当我只剪一集

ffmpeg -i 001.mp4 -vcodec copy -acodec copy -ss 00:00:00.000 -t 00:00:25.500 -strict -2 out1.mp4
Run Code Online (Sandbox Code Playgroud)

或者

ffmpeg -i 001.mp4 -vcodec copy -acodec copy -ss 00:00:25.500 -t 00:00:33.750 -strict -2 out2.mp4
Run Code Online (Sandbox Code Playgroud)

我的视频瞬间被剪掉了。

但是当我将标记链接到我想切割的地方时

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
Run Code Online (Sandbox Code Playgroud)

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

是不是我的有问题ffmpeg-command,还是ffmpeg-commands一个一个执行比较好?

llo*_*gan 6

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
Run Code Online (Sandbox Code Playgroud)
  • -strict -2在这种情况下不需要。如果您正在重新编码,并且没有其他 AAC 编码器可用,那么 ffmpeg 将使用-codec:a aacwhich requires -strict -2(或-strict experimental我更喜欢的别名)。

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

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