代码之家  ›  专栏  ›  技术社区  ›  1234567

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

  •  0
  • 1234567  · 技术社区  · 8 年前

    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 回复  |  直到 8 年前
        1
  •  2
  •   Gyan    8 年前

    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事先会自动旋转视频。

    在里面 并删除所有其他内容。你想做相反的事。这也可以通过多个微调过滤器来实现,但单个选择过滤器更方便。