0

我正在研究一种服务器端解决方案,以解决以其中一个位于左下角而另一个位于中心的方式排列 2 个视频流的问题。我发现ffmpeg能够解决这个问题。然而,我是 ffmpeg 语法和语义的新手,并且尝试了一些水平和垂直堆叠以及研究填充、缩放。

Input - 2 webm files

Output - 1 webm file

这是我想要实现的输出示例:

在此处输入图像描述

在这个示例中,中心部分是主视频流,左下角是另一个视频流并排播放。

假设两个视频流是同步的。

我试过用这个做实验:

ffmpeg -i input1.webm -i input2.webm -filter_complex \
"[0:v][1:v]hstack=inputs=2[v]; \
 [0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2  -c:v libvpx split1.webm

上述命令将两个视频水平堆叠。

虽然,我正在尝试越来越多的解决方案,但在此先感谢,因为我希望有开发人员坐在那里,他们有 ffmpeg 的经验。

4

1 回答 1

2

我假设input1是主视频,分辨率为 W x H,并且没有嵌入黑条。input2分辨率为 wxh(可能在缩放后)。

利用

ffmpeg -i input1.webm -i input2.webm -filter_complex \
"[0:v]pad=iw:ih+2*h:0:h[main];[main][1:v]overlay=x=0:y=H-h[v]; \
 [0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2  -c:v libvpx split1.webm
于 2017-10-26T12:31:10.523 回答