将视频修剪成多个部分 ffmpeg

将视频修剪成多个部分 ffmpeg

我需要将视频剪辑成多个时长不等的部分,并将它们输出为单独的文件。

例如,.mp4100 秒长,我需要提取并保留

  • 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.mp460 到 100 秒的时间,并且除此之外的持续时间与output0.mp4预期值不匹配。

ffmpeg -i video.mp4 -c copy -f segment -segment_times 5,10,20,35,60 output%d.mp4

相关内容