S nejnovější verzí ffmpeg (za předpokladu, že obě videa mají stejné rozlišení):
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 \
output.mp4
Tím se v podstatě zdvojnásobí velikost input1.mp4 tím, že se pravá strana vyplní černou barvou o stejné velikosti jako původní video a pak se input2.mp4 umístí přes horní část této černé oblasti s překryvným filtrem.
Pokud má jedno z vašich videí zvukovou stopu, kterou potřebujete přidat do výstupu, přidejte možnost -map 0:a
pro zvuk prvního souboru nebo -map 1:a
pro zvuk druhého souboru.
Pokud máte dvě zvukové stopy, které byste chtěli smíchat, použijte amix
filtr:
ffmpeg -i input1.mp4 -i input2.mp4 \
-filter_complex \
"[0:v]pad=iw*2:ih[int]; \
[int][1:v]overlay=W/2:0[vid]; \
[0:a][1:a]amix=inputs=2:duration=longest[aud]" \
-map "[vid]" \
-map "[aud]" \
-c:v libx264 -crf 23 \
-c:a aac -b:a 192k \
output.mp4
Proč se moje $LD_LIBRARY_PATH při použití obrazovky s bash odstaví?
Vyloučit skryté soubory při hledání pomocí Unix/Linux find?