ffmpeg 按时长切视频的代码的问题,代码如下:
ffmpeg -i /Users/abu/Movies/示例.mp4 -c copy -map 0 -segment_time 8 -f segment output%03d.mp4 想要实现的是每段 8 秒,而实际变成了 第一段正常,第二段就变成 16 秒了,用播放器播放的话从第 9 秒开始,第三段变成了 24 秒,播放器播放就是从 17 秒开始,如果拉入剪辑软件查看的话就是第二段开始每段开头有相应时长的黑屏画面。 错在哪里呢? |
实际测试没有问题啊
ffmpeg -i /Users/abu/Movies/示例.mp4 -c copy -map 0 -segment_list segment_list.csv -segment_time 8 -f segment output%03d.mp4 cat segment_list.csv |
本帖最后由 ShqBql 于 2022-8-2 02:39 编辑
我一开始也没有注意,因为播放器播放是正常的 ,但是是从中间开始播放的,总时长,只有第一段是8秒 第二段是16秒 第三段是24秒,以此类推。如果拉到剪辑软件看下就会发现第二段有8秒左右黑屏,第三段有16秒左右黑屏,以此类推。 |
ffmpeg -i /Users/abu/Movies/示例.mp4 -c copy -map 0 -segment_time 8 -f segment -reset_timestamps 1 output%03d.mp4
这样就可以了。加上 -reset_timestamps 1 |
感谢,很有效。。。。 |
已经有错误的视频能用这个参数修复吗? |