使用 ffmpeg 将视频文件分割成相等的片段

使用 ffmpeg 将视频文件分割成相等的片段

我的 Linux 机器上安装了 ffmpeg。我使用它将文件分割成相等的段。到目前为止,我已经测试了两种方法:1. 创建一个 bash 脚本,获取文件时长ffprobe,然后执行数学等式将文件分割成相等的段 2. 直接从 ffmpeg 中使用 执行此操作segment_time。第一种方法在将段分割成相等大小方面大部分(某些段会相差 1 或 2 秒)是一致的,但段中存在一些帧丢失并且速度非常慢。到目前为止,第二种方法是分割视频文件最快的方法,因为我直接运行 ffmpeg 而无需进行外部持续时间计算。如何使用 ffmpeg 获得严格相等的段大小?

ffmpeg -i input.mp4 -c copy -map 0 -segment_time 10 -f segment output%03d.mp4

答案1

一般情况下你不能不这样做,除非你想重新编码所有的 mp4,但这可能会违背你对速度的要求。

分割器可能是提高速度和利用其他人的工作成果的最佳选择。

注意:如果您想手动分割视频,那么除了找到合适的时间戳之外,您还需要做更多的工作。

编辑:如果您同意重新编码,则转换为 yuv,然后使用分段器。这会降低视频质量,并且不会处理您的声音。

相关内容