FFMPEG:剪辑视频和包括结束视频/图像



我使用这个命令行在视频结束时添加一个五秒钟的图像:

ffmpeg -i "f:outputinput.mov" -loop 1 -t 5 -i "f:outputtaff.jpg" -f lavfi -t 5 -i anullsrc -filter_complex "[0:v] [0:a] [1:v] [2:a] concat=n=2:v=1:a=1 [v] [a]" -c:v libx264 -c:a aac -strict -2 -map "[v]" -map "[a]" f:outputoutput.mp4

效果很好,但有时我想剪掉视频,然后添加五秒钟。所以,制作一个120秒的视频110秒,然后加上5秒的结尾。

可能在一个命令行中?我试图把它分成两个,通过开始切割视频,但后来我得到一个"无法解析选项值"-1"像素格式"错误,如果我试图重新编码我用ffmpeg使用这个:

ffmpeg -i f:outputinput.mov -vcodec copy -acodec copy -ss 00:00:00.000 -t 00:01:50.000 f:outputoutput.mov

如果我试图对它运行第一个命令行,那么输出视频将给出一个错误。

对缩短视频,然后添加结尾的所有反馈表示赞赏。

干杯!瑞安

使用

ffmpeg -t 110 -i "f:outputinput.mov"
       -loop 1 -t 5 -i "f:outputtaff.jpg"
       -f lavfi -t 5 -i anullsrc
       -filter_complex "[0:v][0:a][1:v][2:a]concat=n=2:v=1:a=1[v][a]"
       -c:v libx264 -c:a aac -strict -2 -map "[v]" -map "[a]" f:outputoutput.mp4

对于scale2ref,它应该是

ffmpeg -t 110 -i "f:outputinput.mov"
       -loop 1 -t 5 -i "f:outputtaff.jpg"
       -f lavfi -t 5 -i anullsrc
       -filter_complex "[1][0]scale2ref[2nd][ref];[ref][0:a][2nd][2:a]concat=n=2:v=1:a=1[v][a]"
       -c:v libx264 -c:a aac -strict -2 -map "[v]" -map "[a]" f:outputoutput.mp4

如果图像具有不同的宽高比,则使用

ffmpeg -t 110 -i "f:outputinput.mov"
       -loop 1 -t 5 -i "f:outputtaff.jpg"
       -f lavfi -t 5 -i anullsrc
       -filter_complex "[0]split[base][full];[base]trim=0:5,drawbox=t=fill[base];[1][base]scale2ref='if(lt(mdar,dar),oh*mdar/sar,iw)':'if(lt(mdar,dar),ih,ow*sar/mdar)'[2nd][base];[base][2nd]overlay='(W-w)/2':'(H-h)/2'[padded];[full][0:a][padded][2:a]concat=n=2:v=1:a=1[v][a]"
       -c:v libx264 -c:a aac -strict -2 -map "[v]" -map "[a]" f:outputoutput.mp4

最后一个命令要求ffmpeg version>= 3.4

最新更新