我需要将视频剪辑成多个时长不等的部分,并将它们输出为单独的文件。
例如,.mp4
100 秒长,我需要提取并保留
- output0.mp4 5 - 10秒
- output1.mp4 10 - 20 秒
- output2.mp4 35 - 60 秒
当前解决方案:
ffmpeg -i video.mp4 -c copy -t 5 output0.mp4 -ss 10 -c copy -t 10 output1.mp4 -ss 20 -c copy -ss 35 t 60 output2.mp4 -y
当前解决方案有效,但有没有办法对流程进行分组并使用格式说明符对输出进行索引?像下面这样或没有重新编码的替代方法?
ffmpeg -i video.mp4 -c copy -t 5 -ss 10 -t 10 -ss 20 -y output%d.mp4
我使用的替代解决方案segment
存在问题,它也返回output3.mp4
60 到 100 秒的时间,并且除此之外的持续时间与output0.mp4
预期值不匹配。
ffmpeg -i video.mp4 -c copy -f segment -segment_times 5,10,20,35,60 output%d.mp4