本文介绍了视频网格与vstack和hstack的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将四个视频合并成一个网格。目前,我使用 vstack 组合行,然后 hstack 组合两个输出,以及添加音频。

I want to combine four videos into a grid. Currently I'm using vstack to combine the rows and then hstack to combine the two outputs, as well as adding the audio.

ffmpeg -ss 0 -i 1.mp4 -ss 8 -i 3.mp4 -filter_complex vstack left.mp4
ffmpeg -ss 0 -i 2.mp4 -ss 0 -i 4.mp4 -filter_complex vstack right.mp4
ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack -i audio.mp4 output.mp4

您可以使用和过滤器。

ffmpeg -i top_l.mp4 -i top_r.mp4 -i bottom_l.mp4 -i bottom_r.mp4 -i audio.mp4 \
-filter_complex "[0:v][1:v]hstack[t];[2:v][3:v]hstack[b];[t][b]vstack[v]" \
-map "[v]" -map 4:a -c:a copy -shortest output.mp4




  • 音频将从 audio.mp4 而不是不必要地重新编码。

  • 如果您想要将每个输入的音频合并而不是提供单独的音频输入,请使用过滤器。 -ac 2 添加到缩混为立体声;否则输出将具有累积数量的音频通道。

    If you want the audio from each input to be combined instead of providing a separate audio input then use the amerge filter. -ac 2 is added to downmix to stereo; otherwise the output would have a cumulative number of audio channels.

    ffmpeg -i top_l.mp4 -i top_r.mp4 -i bottom_l.mp4 -i bottom_r.mp4 -filter_complex \
    "[0:v][1:v]hstack[t];[2:v][3:v]hstack[b];[t][b]vstack[v]; \
     [0:a][1:a][2:a][3:a]amerge=inputs=4[a]" \
    -map "[v]" -map "[a]" -ac 2 -shortest output.mp4
    

    这篇关于视频网格与vstack和hstack的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-31 03:32
查看更多