Son zamanlarda OTT servislerinde en çok kullanılan iki “adaptive streaming” çözümü olan HLS ve Smooth Streaming (SS) acaba piyasada kullanılırken ne kadar biliniyor? Her iki çözümün de arkasında çok büyük firmalar olduğundan bu çözümlerin mükemmele yakın olduklarını düşünebilirsiniz fakat gerçekte öyle değil. Bu yazımızda bu iki sistemin birbirlerine karşı avantajlarından/dezavantajlarından bahsedeceğiz. Eğer yazıdaki Big Buck Bunny size tanıdık geldiyse adaptive bitrate teknolojileri ile aşinasınız diyebiliriz. Resmi ilk defa görenler için aşağıdaki yazı oldukça ilgi çekici olacaktır.

Karşılaştırmaya başlamdan önce “adaptive bitrate” hakkında genel bilgi verecek olursak;
Adaptive bitrate streaming iki ana kısımdan oluşur. Server tarafında içerikler farklı çözünürlüklerde tutulur. Yani aynı filmin birden çok hali, HD’den SD’ye farklı profillerde tutulur. Bir içerik encoder’lardan işlemden geçrilerek 1080P, 720P, 576P vs gibi farklı çözünürlüklerdeki varyasyonları oluşturulur. İşin kritik kısmı ise, cihazın hangi çözünürlüğü seçip oynatmaya başlama kısmındadır. Bir client, sunucudaki bir fimi oynatmak istediğinde öncelikle bu içeriğin detaylarını barındıran bir dosyayı (manifest) indirir. Manifest dosyası yemek mönüsü şeklinde o filmin hangi çözünürlüklerde işlendiği bilgisini istemciye sağlar. İstemci içeriği oynatmak istediğinde kendi bant genişliği, işlemcinin yüklenme durumu gibi bir dizi kriterlere bakarak kullanıcıya maximum hangi çözünürlükte video verebileceğini seçer ve serverda bu içeriği paketler halinde indirip ekranda göstermeye başlar. Şu ana kadarki kısımda herhangi bir “adaptivity” bahsi geçmediğini görebilirsiniz. Çözümü ilginç yapan ve altyapıya hükmetmeden en iyi servisi vermek isteyen OTT firmalarının cezbeden kısımise aslında “adaptivity”dir. İstemci içeriği oynatmaya başladıktan sonra olası bandwidth değişikliklerini sürekli monitor eder. Bandwidth’deki değişime göre içeriği kaldığı yerden devam edecek şekilde farklı çözünürlüklerde istemeye başlar. Sonuç olarak bu teknolojide büyük iş istemci tarafından yapılırken sunucunun cihazlara hangi içeriği göndereceğini belirlemesi hakkında bir fikri yoktur.

  • Microsoft Smooth Streaming: MS tarafında geliştirilen bu çözüm, MS tarafından lisanslanmaktadır. SS desteği verecek firmaların MS ile anlaşma yapması ve gerekli ücretleri ödemesi gerekmektedir. SS fMP4 yapısında dosyalar ile çalışır.
  • HLS: Apple tarafından standardları ortaya atılan HLS, open spec bir çalışmadır ve standardlaştırma kurumu IETF’ye bir proposal olarak sunulmuştur. HLS, Mpeg2 TS dosyaları ile çalışan bir sistemdir.

SS vs HLS

  • Dosya Formatı: SS, fragmented MP4 (fMP4) desteklerken HLS, Mpeg Transport Stream (M2TS) desteklemektedir.
  • Chunk büyüklüğü: SS, 2sn’lik chunklar ile video stream ederken HLS 10sn’lik chunklar kullanır. Böylelik SS, bandwidth değişikliklerine daha hızlı tepki verirken HLS daha geç sürede tepki verir ve yer yer SS’e göre daha fazla duraksayabilir.
  • Lisans: SS, MS tarafından belirli bir ücret karşılığı lisanslanan bir çözümdür, HLS’de ise lisanslama olmadığı için ücretsiz olarak kullanılabilir.
  • DRM: SS, MS Playready DRM ile bütünleşik olarak sunulur. HLS’de ise genel geçer bir DRM çözümü yoktur. Verimatrix, Motorola gibi firmalar HLS ve DRM çözümlerini entegre ederek lisanslamaktadırlar.
  • İşleyiş: SS, video parçalarını “zaman bazlı” isterken HLS’de bir index dosyası indirilip o an uygun olan chunklardan birinin indirilmesi gerekmektedir.
  • Dosya Yönetimi: SS çözümünde video dosyaları tek bir parça halinde tutulur, istemcinin istedigi kesit sunucu tarafından gönderilir. HLS’de ise gerçeten videolar küçük dosyalara bölünür ki bu da data yönetimini oldukça zor bir hale getirir.
  • Latency: Canlı yayındaki gecikmeleri larşılaştırdığımızda, fine tuning yapılmamış iki sistem için de 20-30sn civarı gecikmeler mevcut iken fine tuning sonrası iki çözümde de 5sn civarı gecikmelere ulaşılabiliyor.

Canlı yayınları adaptive bitrate ile sunmak için iki çözümün de sıfır latency olması imkansız. HLS, canlı yayın için Apple file segmenter kullanıyor, SS’de ise farklı yollar mevcut iken Encoder Expression ile bu çevrimi yapıyor. Görüldüğü üzere her iki çözümde de arada bir ekstra adıma ihtiyaç duyulduğundan , canlı yayında sıfır gecikme söz konusu olmamaktadır.

İki çözümün de birbirlerine göre avantajlarından söz edebilirsiniz. Hangi çözümün seçileceği kararında ise birden çok teknik konu ile sizin business kararlarınızın, hangi yöne yatırım yapmak isteyeceğinizin de büyük etkisi olacağını unutmayalım.

Share.

About Author

Leave A Reply