İki video klibi bir araya getirin, yan yana yerleştirin


38

İki video klibim var. Her ikisi de 640x480 ve son 10 dakikadır. Biri arkaplan sesi, diğeri şarkı söyleyen bir aktör içerir. 1280x480 boyutunda tek bir 10 dakikalık video klip oluşturmak istiyorum (başka bir deyişle, videoları yan yana yerleştirmek ve aynı anda oynatmak, her iki klipten de sesi karıştırmak istiyorum). Bunu ffmpeg / avidemux ile nasıl yapacağımı bulmaya çalıştım, ama şimdiye kadar boş geldim. Birleşme için aradığım zaman hepsi birleştirme anlamına gelir.

Herhangi bir tavsiye?

Yanıtlar:


44
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 \
  -preset veryfast \
  output.mp4

Bu, esas olarak, sağ tarafın orijinal video ile aynı boyutta siyahla doldurulmasıyla input1.mp4 boyutunu iki katına çıkarır ve daha sonra input2.mp4'ü yer paylaşımı filtresi olan siyah alanın üzerine yerleştirir.

Kaynak: https://superuser.com/questions/153160/join-videos-split-screen


Ne yapar -map [vid]?
0xcaff

@caffinatedmonkey [vid], filtre grafiğinde tanımlanmış bir çıkış link etiketi olan linklebel denilen bir filtredir (yukarıdaki satır filter_complex ile birlikte). Çıktıyı karmaşık filtre grafiğinden çıktı dosyasına eşler.
Ocak

Ben alıyorum Unrecognized option 'crf'. Argüman listesini bölme hatası: Seçenek bulunamadı. Ben kaldırırsanız cro zamanunrecognized option 'preset'
RLER

Almano such filter
user1767754

25

Dürüst olmak gerekirse, kabul edilen cevabı kullanmak benim için çok fazla atılan çerçeveyle sonuçlandı.

Bununla birlikte, hstackfilter_complex kullanılarak mükemmel bir sıvı çıkışı elde edildi:

ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4

21

Bu sadece iki filtre ile yapılabilir ve her iki girişten gelen ses de eklenecektir.

ffmpeg -i left.mp4 -i right.mp4 -filter_complex \
"[0:v][1:v]hstack=inputs=2[v]; \
 [0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4
  • hstack her videoyu yan yana yerleştirir.
  • Amerika , her iki girişten gelen sesi tek, çok kanallı bir ses akışında birleştirecek ve -ac 2stereo yapacak; Bu seçenek olmadan, her iki giriş de stereo ise, ses akışı 4 kanal olarak bitebilir.

Merhaba, Bir videoyu başka bir videoya ekleyebilir miyim?
Nisarg

@Nisarg Kaplama filtresini kullanın .
llogan,

Üst videonun biraz şeffaf olmasını istiyorum, böylece arka planda neler olup bittiğini görebilirsiniz, Bana bu konuda yardımcı olabilir misiniz?
Nisarg

Merhaba Efendim, bakmak ister misin bu out.
Nisarg

1
Kabul edilen cevapla sesimi kaybettim. Bu mükemmel çalışıyor.
Matt Hough

2
ffmpeg -y -ss 0 -t 5 -i inputVideo1.mp4 -ss 0 -t 5 -i inputVideo2.mp4 -i BgPaddingImage.jpg -filter_complex nullsrc=size=720*720[base];[base][2:v]overlay=1,format=yuv420p[base1];[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];[base1][upperleft]overlay=shortest=1:x=10:y=10[tmp1];[tmp1][upperright]overlay=shortest=1:x=366:y=10 -c:a copy -strict experimental -ss 0 -t 5 -preset ultrafast -an output.mp4

Yan Yana İki Video Ekleyiniz ve Ayrıca Dolgu Videolarını Gösteren OverLay Resim Ekleyiniz [BgPaddingImage.jpg]Burada Arka Plan Resmini değiştirebilirsiniz ;

Aşağıda bu videoyu göster Yukarıdaki komuttan oluştur

görüntü tanımını buraya girin


1
Bu hangi dil? Nasıl çalıştırıyorsun?
muru

@muru Şimdi kontrol edin, FFMPEG Komutanlığı ?? :)
Sanjay Hadiya
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.