ffmpeg - 将视频组合成一个宽视频

ffmpeg - combine videos into one wide video

我有 3 个 1920x1080 的视频。他们都是一样的length/codec。我想将它们合并(而不是串联),这样结果就是一个 5760x1080 的视频。

有人可以向我解释如何在 ffmpeg(或其他免费应用程序)中执行此操作吗?

谢谢!

供将来参考 - 这些类型的非编程问题应该继续 superuser.com - 不在这里。

回答你的问题:

据我所知,在 FFmpeg 中执行此操作的唯一方法将导致重新编码文件(所有视频过滤器都需要指定 audio/video 编解码器,并且流复制被禁用)

只要这对您来说不是问题,以下是如何处理您的文件:

ffmpeg -i [input1] -i [input2] -i [input3] -filter_complex "[0:v]pad=width=5760:height=1080:x=0:y=0[p];[p][1:v]overlay=shortest=1:x=1920:y=0[p2];[p2][2:v]overlay=shortest=1:x=3840:y=0[full]" -map [full] .... [OUTPUT]

您需要将 .... 区域替换为您想要使用的编解码器和任何其他转码选项。

稍微分解一下:您正在获取第一个输入文件并将其用黑色填充到 5760x1080。然后您将获取第二个文件并从坐标 1920x0 开始覆盖它。最后,您将第三个文件添加为坐标 3840x0 处的叠加层。