Use*_*841 66 ffmpeg video avidemux
我有两个视频剪辑。两者都是 640x480,持续 10 分钟。一个包含背景音频,另一个包含歌唱演员。我想创建一个大小为 1280x480 的 10 分钟视频剪辑(换句话说,我想将视频并排放置并同时播放,混合来自两个剪辑的音频)。我试图弄清楚如何使用 ffmpeg/avidemux 来做到这一点,但到目前为止我还是空的。当我搜索合并时,它们都指连接。
有什么建议吗?
小智 79
老实说,使用公认的答案会导致我丢帧很多。
然而,使用hstack
filter_complex 产生了完美的流体输出:
ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4
Run Code Online (Sandbox Code Playgroud)
Jan*_*Jan 68
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
Run Code Online (Sandbox Code Playgroud)
这实际上是input1.mp4
通过用与原始视频大小相同的黑色填充右侧来使 的大小加倍,然后input2.mp4
使用覆盖过滤器放置在该黑色区域的顶部。
来源:https : //superuser.com/questions/153160/join-videos-split-screen
llo*_*gan 31
这可以仅使用两个过滤器来完成,并且还将包括来自两个输入的音频。
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
Run Code Online (Sandbox Code Playgroud)
-ac 2
使其成为立体声;如果没有这个选项,如果两个输入都是立体声,音频流最终可能会变成 4 个通道。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
Run Code Online (Sandbox Code Playgroud)
并排添加两个视频并添加显示在视频填充上的叠加图像您可以[BgPaddingImage.jpg]
在此处更改背景图像设置您的 bg 图像路径。
在下面显示它的视频是从上面的命令创建的