Ffmpeg kullanarak 2 video dosyasını nasıl dikebilirim?


3

Bu komutu kullanarak fotoğraflardan bazı hızlandırılmış videolar oluşturdum:

ffmpeg -i IMG_%03d.JPG -s 1440x1080 -sameq video.MP4

Ve harika çalıştı. Şimdi, daha uzun bir video oluşturmak için bu hızlandırılmış videoların birçoğuna katılmak istiyorum (tüm giriş videoları aynı biçimdedir). Ben zaten kullanmayı denedim:

cat video1.MP4 video2.MP4 > stitch.MP4

ancak çıktı video1.MP4'e eşit

Videonun herhangi bir parametresini dönüştürmek veya değiştirmek istemiyorum, sanki sanki bir oynatma listesiymiş gibi baştan sona bir dikiş istiyorum.

Teşekkürler!

Yanıtlar:


3

Yeni bir ffmpeg sürümü ile, concat demuxer'ı kullanabilirsiniz. Şunun gibi satırları içeren inputs.txt adlı bir dosya oluşturun:

file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
file 'input4.mp4'

Bir bash kabuğuyla, aşağıdaki gibi dosyayı oluşturmak için bir for döngüsü kullanabilirsiniz:

rm inputs.txt
for f in input{1..4}.mp4; do echo "file '$f'" >> inputs.txt; done

Sonra,

ffmpeg -f concat -i inputs.txt -c copy output.mp4

Kullandığından -c copy, bu tamamen kayıpsız olacaktır.


1

Çıktı video1.mp4'e eşit olmayacak, ancak videonun başlıkları / altbilgileri video1.mp4 etrafında başlayıp bitecek, böylece oynatıcınız video2.mp4 içine girmeyecek. Videoların aynı bitrate / codec vb olduğunu varsayalım:

cat video1.MP4 video2.MP4 | ffmpeg -y -i - -genpts -vcodec copy -acodec copy stitch.MP4

Bunun mutlaka en iyi yöntem olmadığını (bir videoda tüm zamanların aynı anda geçmesini sağlamak daha iyi olur) aklınızda bulundurmayın, eğer codec kayıpsa, üretim kaybına neden olursunuz .


Çalışmıyor. "Kodek parametrelerini tespit edemedi" diyor
tomm89 2

1

Ffmpeg ile söylediğinizi biliyorum ama dosyaların basit bir şekilde dikilmesi için mp4box'ı kullanma şansım iyiydi. Buradan indirebilirsiniz.

http://gpac.wp.mines-telecom.fr/mp4box/

İşte komut satırı örneği:

mp4box -cat <file> -cat <file> dest.mp4
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.