HLS vs. DASH: Miten suoratoistoprotokollat todella toimivat

Ennen suoratoistoa videon katsominen verkossa tarkoitti yhtä asiaa: lataa ensin koko tiedosto ja toista se sitten. 500 Mt:n videon piti saapua laitteellesi kokonaan, vaikka olisit halunnut vain ensimmäiset 30 sekuntia. Suoratoistoprotokollat ratkaisevat juuri tämän ongelman: ne leikkaavat videon pieniksi paloiksi ja toistavat sen, kun loput vielä latautuvat.

Segmentointi: Suoratoiston rakennuspalikka

Otetaan HLS (HTTP Live Streaming, Applen luoma), yleisin protokolla: palvelin leikkaa koko videon suureksi määräksi pieniä tiedostoja, joita kutsutaan segmenteiksi, jotka ovat tyypillisesti 2–10 sekuntia pitkiä ja pakataan MPEG-TS- tai fMP4-muodossa. Se myös luo soittolistatiedoston (.m3u8), joka tallentaa segmenttien järjestyksen ja osoitteet. Soitin hakee ensin soittolistan ja lataa sitten osia tarpeen mukaan – lopeta yksi, hae seuraava lähes ilman odottelua.

Videotoistin verkossa

Mukautuva bittinopeus: Miksi toisto ei keskeydy heikossa verkossa

HLS ja DASH (Dynamic Adaptive Streaming over HTTP, jota Microsoft ja muut puolustavat) valmistelevat useita segmenttejä samalle videolle eri resoluutioilla ja bittinopeuksilla – esimerkiksi yksi sarja 1080p-, 720p- ja 480p-tarkkuudelle – kaikki lueteltu pääsoittolistalla. Soitin tarkkailee latausnopeutta ja puskuritasoja reaaliajassa: se vaihtaa suuremmalle bittinopeudelle, kun verkko on hyvä, ja laskee, kun se huononee, pitäen toiston jatkuvana. Tämä on adaptiivista bittinopeussuoratoistoa (ABR), ja siksi videot muuttuvat automaattisesti sumeiksi, kun matkustat metrolla.

Miksi m3u8-linkin lataaminen niin usein epäonnistuu

Lataamalla .m3u8-URL-osoitteen suoraan saat muutaman kilotavun tekstiä – soittolistan, ei itse videota. Videon tallentamiseksi työkalun on jäsennettävä soittolista, ladattava jokainen segmentti ja liitettävä ne takaisin yhteen järjestyksessä. Tästä syystä monet lataustyökalut eivät joko tue HLS-videota ollenkaan tai vaativat erillisen "segmenttien yhdistämisen" -vaiheen. TakeVid sisältää sisäänrakennetun segmenttien tunnistuksen ja automaattisen yhdistämisen, joten lataamasi tiedosto on täydellinen, valmiina toistamiseen.

M3U8-lataus

  • HLS: Applelta, käyttää .m3u8-soittolistoja, iOS/Safari tukee natiivia, käsittelee sekä live- että on-demand-lähetyksiä
  • DASH: avoin standardi .mpd-luetteloilla, jota YouTube, Netflix ja muut käyttävät massiivisessa mittakaavassa
  • Molemmat käyttävät yksinkertaista HTTP:tä, ovat CDN-ystävällisiä ja hallitsevat suoratoistoa nykyään

DASH-lataus

Takaisin kaikkiin artikkeleihin