我正在尝试并排加入两个视频。 我使用这个命令,但它增加了我需要它的垫子:
ffmpeg -i video_1.mp4 -i video_2.mp4 -filter_complex '[0:v]pad=iw*2:ih:0:0[intv];[intv][1:v]overlay=W/2:0[vid]' -map [vid] -c:v libx264 -crf 22 -preset veryfast output.mp4
有没有办法改变焊盘宽度,所以它是:input1 width + input2 width? 并且还覆盖在第一个输入宽度的最后?
我的意思是,如果video_1宽度为600px,video_2宽度为200px,则输出视频宽度应为800px,video_2应从(600,0)开始。
谢谢
答案 0 :(得分:0)
使用hstack过滤器:
ffmpeg -i video_1.mp4 -i video_2.mp4 -filter_complex '[0:v][1:v]hstack=2[vid]' -map [vid] -c:v libx264 -crf 22 -preset veryfast output.mp4
hstack过滤器要求所有输入具有相同的高度。
如果输入的高度不同,则需要更长的解决方法。
ffmpeg -i video_1.mp4 -i video_2.mp4 -filter_complex "color=d=0.1[c];
[c][0]scale2ref[c][v1];[c][1]scale2ref=w=main_w+iw:h=max(main_h,ih)[c][v2];
[c][v1]overlay=0:0[ol-vid1];[ol-vid1][v2]overlay=W-w:0,setsar=1" out.mp4
这需要2017年6月中旬或更高版本的ffmpeg。