ffmpeg从视频旋转和裁剪视频中删除多个片段

时间:2017-11-01 12:29:24

标签: video ffmpeg

ffmpeg从视频旋转和裁剪视频中删除多个片段

我有一个2分25秒的视频,我想将部分从10秒移到16秒,20秒移到26秒并旋转视频然后裁剪

我正在尝试这个命令

 "-y", "-i", j,
                      "-filter_complex",
                        "[0:v]trim=start=10:end=16,setpts=PTS-STARTPTS[a];  " +
                                "[0:v]trim=start=20:end=26,setpts=PTS-STARTPTS[b]; " +
                                "[0:a]atrim=start=10:end=16,asetpts=PTS-STARTPTS[c]; " +
                                "[0:a]atrim=start=20:end=26,asetpts=PTS-STARTPTS[d]; " +
                                "[a][c][b][d]concat=n=2:v=1:a=1[e][f],"+
                                "crop=" + 40 + ":" + 20 + ":" + 100 + ":" + 100,"+
                                "transpose=1", "-map", "'[e]'" ,"-map",
                        "'[f]'", "-preset", "ultrafast",out

执行此操作的正确命令是什么

1 个答案:

答案 0 :(得分:2)

对于过滤,请使用

ffmpeg -y -i in
 -filter_complex,
       "[0:v]select='not(between(t,10,16)+between(t,20,26))',setpts=N/30/TB,crop=40:20:100:100,transpose=1[v];
        [0:a]aselect='not(between(t,10,16)+between(t,20,26))',asetpts=N/SR/TB[a]"
 -map '[v]' -map '[a]' -b:v 2097k -r 60 -vcodec mpeg4 out.mp4

(如果视频旋转,请删除转置过滤器。这是因为ffmpeg预先自动旋转视频。

修剪过滤器将指定的段保留在中并删除其他所有内容。你想做相反的事情。这也可以通过多个修剪滤镜来完成,但单个选择滤镜更方便。