使用ffmpeg修剪过滤器修剪视频,同时保留音频(使用filter_complex)

Ian*_*ess 2 video ffmpeg

我到达了可以剪切视频的部分

ffmpeg -i test.mp4 -filter_complex 
'[0:v] trim=start=5:end=10,setpts=PTS-STARTPTS [cut]' -map [cut]  output.mp4
Run Code Online (Sandbox Code Playgroud)

它可以成功修剪视频,但是会完全删除音频。我正在尝试链接几个不同的过滤器,所以我想保留相似的语法,以某种方式保留音频。

llo*_*gan 5

音频的一个简单方法是声明输入两次并使用-ss& -t,然后映射此流:

ffmpeg -i test.mp4 -ss 5 -t 5 -i test.mp4 -filter_complex 
'[0:v] trim=start=5:end=10,setpts=PTS-STARTPTS [cut]' -map [cut] -map 1:a -c:a copy output.mp4
Run Code Online (Sandbox Code Playgroud)


小智 5

您还可以使用atrim过滤器来修剪音频,并使用asetpts过滤器来修改音频时间戳:

ffmpeg -i test.mp4 -filter_complex \
'[0:v] trim=start=5:end=10, setpts=PTS-STARTPTS [v0]; \
 [0:a]atrim=start=5:end=10,asetpts=PTS-STARTPTS [a0];'\
 -map [v0] -map [a0]  output.mp4
Run Code Online (Sandbox Code Playgroud)

  • 过滤器描述中的最后一个`;`不应该在那里,因为FFmpeg认为会有另一个过滤器:`[AVFilterGraph @ 0x7fcc3ec2aa80]没有这样的过滤器:''` (2认同)