Bir tüp sitesi geliştiriyorum ve şu anda H.264 formatıyla ilgili sorunlar yaşıyorum. YouTube'un yüksek çözünürlüklü videolarını bir MP4 konteynerine koyduğunu fark ettim, bu yüzden mantıklı olarak aynı şeyi yaptım.
Sonra, mod_h264_streaming
akış ve zaman çizelgesi fırçalama işini yapmak için lighttpd için yükledim .
Sorun şu ki, büyük dosyalar (> 500MB biraz yüksek çözünürlükte) arabelleğe almaya başlamak için sonsuza dek sürüyor (Flowplayer ve diğer Flash oynatıcıların önce meta verileri indirmesi gerektiğini okudum). MP4Box ile xmov atomunu dosyanın önüne taşıdım (Qt QuickStart'ı da denedim), ama bu yardımcı olmadı.
Sonra, ses parçalarını serpiştirmem gerektiğini okudum, bunu da yaptım. Bu hiçbir değişikliğe neden olmadı: videolar hala yavaştı.
Bu yüzden aynı H.264 filmi bir FLV konteynerine koymaya çalıştım ve oynatma arabelleği neredeyse anında başladı - yavaşlama yok.
Peki burada ne eksik? mod_264_streaming
Lighttpd'nin yerleşik olduğu normal bir FLV kabı yerine neden süper yavaş görünen modüllü MP4 kabını seçeyim mod_flv_streaming
? Açıkçası, birçok web sitesi MP4 kapsayıcısını seçer, ancak nedenini anlayamıyorum.
Bir yan soru olarak, <video>
aynı H.264 MP4 filmini denemek için HTML5 etiketini kullanmayı denedim ve fırçalama yıldırım hızındaydı ! Lighttpd'nin günlük dosyasına baktım video.mp4?start=234
ve yerel HTML5 <video>
etiketini kullanan tarayıcıların böyle bir şey yapmadığı sırada Flash oyuncularının zaman çizelgesi her görüntülendiğinde eklendiğini fark ettim . Bu bir çeşit Flash sınırlaması mıdır? Flash akışı neden HTML5 akışı kadar hızlı olamaz?