HLS ve DASH: Akış Protokolleri Gerçekte Nasıl Çalışır?

Akış mevcut olmadan önce, çevrimiçi video izlemenin tek bir anlamı vardı: önce dosyanın tamamını indirin, sonra oynatın. Sadece ilk 30 saniyesini isteseniz bile 500 MB'lık bir videonun cihazınıza tam olarak ulaşması gerekiyordu. Akış protokolleri tam olarak bu sorunu çözer: videoyu küçük parçalara bölerler ve geri kalanı indirilmeye devam ederken oynatırlar.

Segmentasyon: Akışın Yapı Taşı

En yaygın protokol olan HLS'yi (Apple tarafından geliştirilen HTTP Live Streaming) ele alalım. Sunucu videoyu, genellikle 2–10 saniye uzunluğunda MPEG-TS veya fMP4 segmentlerine böler. .m3u8 oynatma listesi bunların sırasını ve adreslerini belirtir. Oynatıcı önce listeyi alır, sonra ihtiyaç duydukça segmentleri indirir: biri bitince diğeri gelir, neredeyse hiç bekleme olmaz.

Çevrimiçi Video Oynatıcı

Uyarlanabilir Bit Hızı: Oynatma Zayıf Bir Ağda Neden Durmuyor?

HLS ve DASH (Microsoft ve diğerlerinin desteklediği Dynamic Adaptive Streaming over HTTP), aynı video için farklı çözünürlük ve bit hızlarında segmentler hazırlar; örneğin 1080p, 720p ve 480p seçenekleri ana listede bulunur. Oynatıcı indirme hızını ve arabellek seviyesini anlık izler. Ağ iyiyse yüksek bit hızına geçer; kötüleşince daha düşük bit hızına dönerek oynatmayı sürdürür. Buna uyarlanabilir bit hızı akışı (ABR) denir. Metroda videonun kendiliğinden bulanıklaşmasının nedeni budur.

Bir m3u8 Bağlantısını İndirmek Neden Sıklıkla Başarısız Olur?

Bir .m3u8 URL'sini indirmek size doğrudan birkaç KB metin (videonun kendisi değil, oynatma listesi) sağlar. Videoyu gerçekten kaydetmek için bir aracın oynatma listesini ayrıştırması, her bölümü indirmesi ve bunları sırayla bir araya getirmesi gerekir. Bu nedenle birçok indirici HLS videosunu hiç desteklemez veya özel bir "bölümleri birleştirme" adımı gerektirir. TakeVid'de yerleşik bölüm algılama ve otomatik birleştirme özelliği vardır, böylece indirdiğiniz dosya eksiksiz, oynatılmaya hazır bir dosya olur.

M3U8 İndirici

  • HLS: Apple tarafından geliştirilmiştir, .m3u8 listeleri kullanır, iOS/Safari'de yerleşik desteklenir ve canlı yayın ile isteğe bağlı videoyu işler
  • DASH: .mpd manifestlerini kullanan, YouTube, Netflix ve diğer platformlarda yaygın bir açık standart
  • Her ikisi de düz HTTP kullanıyor, CDN dostu ve günümüzde yayına hakim durumda

DASH İndirici

Tüm makalelere dön