MP4'ün başlaması çok uzun sürüyor


2

Videomu H.264 / MP4'e ffmpeg ile dönüştürüyorum. Daha sonra moov atomunu dosyanın başlangıcına taşıdım qt-faststart, böylece videoyu yayınlayabiliyorum.

Her şey 5-10 dakika uzunluğundaki kük videolarla iyi sonuç veriyor, ancak 1-2 saatlik büyük videolar söz konusu olduğunda, oynamaya başlamak önemli bir zaman alabilir. 6–10 MB yüklüyor ve yalnızca videoyu oynatmaya başlayabiliyorum.

FLV videoları ile durum böyle değil; videonun boyutu ne olursa olsun, hemen oynatılır. Bunu nasıl düzeltebilirim?

Yanıtlar:


5

MOOV atomunuzun boyutunu AtomicParsley ile kontrol edebilirsiniz . Koş atomicparsley file.mp4 -Tve şuna benzer bir şey ara:

Atom moov @ 20 of size: 1653815, ends @ 1653835

Örneğin, burada atomun boyutu 1653815 bayt (kabaca 1.5 MB) olacaktır. Dosyalarınız için atom basitçe çok büyük olabilir.

Kodlama sırasında boyutunu küçültmeyi deneyebilirsiniz. Ffmpeg size atom maksimum boyutu ayarlayabilirsiniz ile -moov_sizeseçeneği . Olduğu söyleniyor, dosyanız bunun için çok büyük olabilir ve akış yönteminizi değiştirmeyi düşünmelisiniz.

Bunu yapmanın bir yolu ISMV "düzgün akış" formatı olacaktır. Parçalanmış MP4 dosyaları oluşturur. Parça seçeneklerinden birini ayarlayıp boş bir MOOV seçerek etkinleştirebilirsiniz. Örneğin:

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict experimental \
-b:v 1M -b:a 128k -movflags frag_keyframe+empty_moov \
output.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.