ffmpeg -segment_time 产生损坏的片段

ffmpeg -segment_time 产生损坏的片段

我用这个docker 镜像而不是直接将 ffmpeg 安装到我的 OS X。我想要实现的是将一些 .avi 文件分割成每个持续时间为 30 秒的部分。这是我的命令:

ffmpeg -i /mounted/fixed.avi -c copy -map 0:0 -map 0:1 -segment_time 30 -f segment /mounted/cutted_video/output%03d.avi

结果与预期一致,几乎 %)。从 output000.avi 到 outputxxx.avi 有多个文件。但是,只有第一个文件同时有视频和音频,其余文件被静音并且第二帧被破坏(mplayer 会在此帧上冻结,直到我快进)。如果我删除音频映射参数:

ffmpeg -i /mounted/fixed.avi -c copy -map 0:0 -segment_time 30 -f segment /mounted/cutted_video/output%03d.avi

ffmpeg 可以制作出不错的视频(甚至时间或多或少都准确),但显然声音很暗。问题是我在这里做错了什么?我想这与音频映射有某种关系,但我还没有找到任何答案。我将非常感谢任何帮助,因为我对视频处理还很陌生。

PS 当然还有另一种解决方案 - 编写非常简单的 python 脚本,使用 -ss 参数将视频切成片段,但由于 ffmpeg 中有内置功能,所以我想使用它。

相关内容