FFmpeg - 分割视频多个部分

whi*_*ngs 7 ffmpeg video-editing split

我阅读了以下线程,如果我想每两分钟将视频分成几段,该解决方案就可以工作:Split video file into blocks with ffmpeg

问题是我想每 15 秒将视频分成几段。

当我使用以下命令时:

for i in {00..49}
 do ffmpeg -i fff.avi -sameq -ss 00:$[ i*2 ]:00 -t 00:00:15 output_$i.avi
done
Run Code Online (Sandbox Code Playgroud)

它将输出 15 秒的视频序列,但不按顺序输出。它会跳过部分视频,所以我最终会得到几个 15 秒的剪辑,但不是所有的剪辑。我希望能够使用 ffmpeg 根据我给它的时间将我扔给它的任何视频分成许多部分。

whi*_*ngs 12

我找到了答案。事实证明我遇到了问题,因为我没有安装正确的 FFmpeg,而是 ffmpeg 的一个分支。

这段代码对我有用:

ffmpeg -i fff.avi -acodec copy -f segment -segment_time 10 -vcodec copy -reset_timestamps 1 -map 0 fff%d.avi
Run Code Online (Sandbox Code Playgroud)

fff.avi是源剪辑的名称。更改-segment_time 10为每个分段所需的一般持续时间。如果您希望每个剪辑的时长约为 40 秒,请使用-segment_time 40. 如果您不希望生成的剪辑有声音,请使用-anafter -map 0