将两个视频片段合并为一个,并排放置


38

我有两个视频片段。两者均为640x480,持续10分钟。一个包含背景音频,另一个包含唱歌演员。我想创建一个10分钟的视频片段,尺寸为1280x480(换句话说,我想将视频彼此相邻放置并同时播放,同时混合两个片段的音频)。我试图弄清楚如何用ffmpeg / avidemux做到这一点,但到目前为止,我还是空着。当我搜索合并时,它们都指串联。

有什么建议吗?

Answers:


44
ffmpeg \
  -i input1.mp4 \
  -i input2.mp4 \
  -filter_complex '[0:v]pad=iw*2:ih[int];[int][1:v]overlay=W/2:0[vid]' \
  -map [vid] \
  -c:v libx264 \
  -crf 23 \
  -preset veryfast \
  output.mp4

这实际上是通过在右侧填充与原始视频相同的黑色来填充input1.mp4大小的两倍,然后使用覆盖过滤器将input2.mp4放在该黑色区域的顶部。

资料来源:https : //superuser.com/questions/153160/join-videos-split-screen


怎么-map [vid]办?
0xcaff

@caffinatedmonkey [vid]是一个所谓的LinkLabel,这是在过滤器图形确定的输出链路的标签(以上与filter_complex的线)。它将复杂过滤器图的输出映射到输出文件。
1

我正在Unrecognized option 'crf'。拆分参数列表时出错:找不到选项。如果我删除cr,然后unrecognized option 'preset'
RS

开始no such filter
user1767754

25

老实说,使用可接受的答案对我来说造成很多丢帧。

但是,使用hstackfilter_complex可以产生完美的流体输出:

ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4

22

只需两个过滤器即可完成此操作,两个输入的音频也将包括在内。

ffmpeg -i left.mp4 -i right.mp4 -filter_complex \
"[0:v][1:v]hstack=inputs=2[v]; \
 [0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4
  • hstack会将每个视频并排放置。
  • amerge将来自两个输入的音频合并到一个多通道音频流中,并-ac 2使其成为立体声;如果没有此选项,则如果两个输入均为立体声,则音频流可能会终止为4个通道。

您好,我可以将一个视频叠加到另一个视频上吗?
Nisarg

@Nisarg使用覆盖滤镜
llogan's

我希望上部视频不透明,以便可以看到背景中发生的事情,您能帮我吗?
Nisarg

您好先生,你可以注意看这个了。
Nisarg

1
我丢失了音频并接受了答案。这一个完美。
马特·霍夫

2
ffmpeg -y -ss 0 -t 5 -i inputVideo1.mp4 -ss 0 -t 5 -i inputVideo2.mp4 -i BgPaddingImage.jpg -filter_complex nullsrc=size=720*720[base];[base][2:v]overlay=1,format=yuv420p[base1];[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];[base1][upperleft]overlay=shortest=1:x=10:y=10[tmp1];[tmp1][upperright]overlay=shortest=1:x=366:y=10 -c:a copy -strict experimental -ss 0 -t 5 -preset ultrafast -an output.mp4

并排添加两个视频,还添加在视频填充上显示的叠加图像可以[BgPaddingImage.jpg]在此处更改背景图像设置背景图像路径。

在视频下方显示此视频从上方命令创建视频

在此处输入图片说明


1
这是什么语言?您如何运行它?
muru

@muru立即查看其FFMPEG命令?? :)
Sanjay Hadiya
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.