2016-03-28 24 views
5

4つのビデオをグリッドに結合したいと思っています。現在、vstackを使用して行を結合し、次にhstackを使用して2つの出力を結合し、オーディオを追加しています。vstackとhstackを使用したビデオグリッド

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 

It seams possible to do this in one operation using overlay and pad.ただし、ドキュメントがvstackhstackを使用して高速であると述べています。これら2つのフィルターを1つの操作に組み合わせることはできますか?

答えて

10

enter image description here

あなたはhstackvstackフィルタを使用して1つのコマンドでそれをすべて行うことができます。

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からstream copied代わりに不再エンコードされるであろう。

別々のオーディオ入力を提供する代わりに、各入力のオーディオを結合する場合は、amergeフィルタを使用してください。 -ac 2がステレオにダウンミックスされます。それ以外の場合、出力にはオーディオチャンネルの累積数があります。

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 
+0

素晴らしい!しかし、そのフィルタはちょっと混乱しています。私はオーディオ入力を動作させることができません。エラーメッセージの質問を参照してください。 – MeinAccount

+0

編集したコマンドを試してみてください。 – Mulvya

+0

幻想的に動作します。ありがとうございました! – MeinAccount

関連する問題