Görüntülerden FFMPEG video, kare hızından bağımsız olarak aynı (ancak hatalı) süre ile çıkıyor


0

Ffmpeg kullanarak bir resim dizisinden video oluştururken, 30fps veya 60fps olarak kodlamakla aynı uzunlukta bir video elde ettiğimi tespit ediyorum. Şimdiki durumda, 6329 görüntü dosyası göz önüne alındığında, aşağıdaki iki komut aynı uzunluktaki video dosyalarını üretir:

1. ffmpeg -pattern_type glob -i '*.png' -r 30 -pix_fmt yuv420p out-30fps.mp4
2. ffmpeg -pattern_type glob -i '*.png' -r 60 -pix_fmt yuv420p out-60fps.mp4

Yukarıdakiler ile ffprobe, video 1'in 00: 04: 13.17 olduğunu ve 30fps'de kodlandığını, video 2'nin 00: 04: 13.15 olduğunu ve 60fps'de kodlandığını gösterir. Quicktime Player'a yüklendiğinde, her iki video da aynı uzunluk ve hızdadır.

Yani, iki soru:

  1. Toplam video süresiyle kafam karıştı, çünkü 4m13s toplam 253 saniye. 30 fps'de 253 saniyede 6329 değil 7590 kare gerekir.

  2. Mevcut kare sırasını 30 yerine 60fps kaynağı gibi kullanmak için ne gereklidir? Veya, başka bir deyişle, son videonun oynatma sırasında saniyede iki katı kare / kare olmasını nasıl sağlayacağınızı?

Yanıtlar:


2

Görüntü dizileri için ffmpeg, aksi belirtilmediği takdirde giriş akımının 25 kare hızına sahip olduğunu varsayar. Öyleyse kullan

ffmpeg -pattern_type glob -framerate 60 -i '*.png' -r 60 -pix_fmt yuv420p out-60fps.mp4

Ne -r 60bir çıkış seçeneği yaptığı gibi 60 fps sabit kare hızı akışı oluşturmaktır. Girdi akışının farklı bir hızı varsa, bu oranı karşılamak için kareleri çoğaltır veya düşürür.

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.