- Max Wilbert
- Tartalomjegyzék
- Mi a videó streaming protokoll?
- Streaming protokoll vs. kodek vs. konténer formátum
- A leggyakoribb videostreaming protokollok
- Real-Time Messaging Protocol (RTMP)
- Kinek érdemes az RTMP-t használni?
- Real-Time Streaming Protocol (RTSP)
- Kinek érdemes az RTSP-t használni?
- RTMP vs. RTSP
- Az RTMP használatának előnyei:
- Az RTMP használatának hátrányai:
- Az RTSP használatának előnyei:
- Az RTSP használatának hátrányai:
- Dynamic Adaptive Streaming over HTTP (MPEG-DASH): feltörekvő protokoll
- Kinek érdemes az MPEG-DASH-t használni?
- Microsoft Smooth Streaming (MSS)
- Ki használjon Smooth Streaminget?
- HTTP Dynamic Streaming (HDS)
- Kinek érdemes HDS-t használni?
- HTTP Live Streaming (HLS)
- Kinek érdemes a HLS-t használni?
- Videoprotokollok a professzionális élő közvetítéshez
- Következtetés
Max Wilbert
Max Wilbert szenvedélyes író, az élő közvetítés gyakorlója, és komoly szakértelemmel rendelkezik a videostreaming iparágban.
Amint belekezdesz az élő közvetítésbe, észre fogod venni a rengeteg rövidítést, amelyek sokféle célt szolgálnak. Ott van az RTMP, a HLS, a HDS és még sorolhatnánk.
Ezek a rövidítések közül sok különböző videóstreaming protokollokhoz kapcsolódik. A protokollok alapvetően olyan technikai folyamatok, amelyek megkönnyítik az adatok átvitelét egyik programról a másikra. A streamingben ez a videófájlok átvitelét jelenti a kódoló, a streaming host és végül a videólejátszó között, ahol a közönség megtekintheti a streamet.
Most azonosítunk néhányat a leggyakoribb streaming protokollok közül, amelyekkel találkozhat, mit csinálnak, és mikor érdemes használni őket. Annak érdekében, hogy némi releváns hátteret nyújtsunk a megértéshez, azt is elmagyarázzuk, hogy mi a kapcsolat a kodek és a konténerformátum között.
Készen áll arra, hogy belevesse magát az élő streaming protokollokba?
Felhívjuk figyelmét, hogy ez a bejegyzés a videó streaming protokollok legújabb, 2020 novemberi fejleményeinek megfelelően frissült.
Tartalomjegyzék
- Mi az a videó streaming protokoll?
- Streaming protokoll vs. Codec vs. Konténer formátum
- Gyakori videó streaming protokollok
- Videó protokollok a professzionális élő streaminghez
- Következtetés
Mi a videó streaming protokoll?
Mielőtt továbbmennénk, nézzük meg egy kicsit részletesebben a video streaming protokoll definícióját. A legtöbb digitális videót két dologra tervezték: tárolásra és lejátszásra. Ez két fő szempontot eredményez, nevezetesen a kis fájlméretet és az univerzális lejátszást.
A legtöbb videofájlt nem streamingre tervezték, ami azt jelenti, hogy a videó streameléséhez először streamelhető fájlba kell konvertálni. Ez azt jelenti, hogy kis darabokra kell bontani. Ezek a darabok ezután szekvenciálisan érkeznek, és lejátszásuk a beérkezésükkor történik. Ha élő videót streamel, a forrásvideó egyenesen a kamerából érkezik. Ellenkező esetben a VOD-tartalom egy fájlból érkezik.
A videó streaming protokoll egy szabványosított szállítási módszer a videó darabokra bontására, a nézőnek való elküldésére és újra összerakására.
A streaming protokollok sokkal összetettebbek lehetnek. Sok például az “adaptív bitráta” protokoll. Ez a technológia a legjobb minőséget szolgáltatja, amelyet a néző egy adott időpontban támogatni tud.
Egyes protokollok a késleltetés csökkentésére összpontosítanak, vagyis a késleltetésre a valós életben bekövetkező esemény és a néző képernyőjén történő lejátszás között. Egyes protokollok csak bizonyos rendszereken működnek, más protokollok pedig a digitális jogkezelésre (DRM) összpontosítanak.
Amint végigmegyünk néhány konkrét protokollon, ezeket és más jellemzőket fogunk perspektívába helyezni.
Streaming protokoll vs. kodek vs. konténer formátum
Az egyik gyakori zavarforrás a streaming videó területén a protokoll és a kodek közötti különbség.
Egyszerűen fogalmazva, a “codec” kifejezés a videotömörítési technológiára utal. Értelemszerűen a különböző streaming kodekeket különböző célokra használják. Például az Apple ProRes-t gyakran használják videoszerkesztéshez, a H.264-et, a legelterjedtebb videokodekket pedig széles körben használják online videókhoz.
A codec-hez hasonlóan a “formátum” kifejezés is zavaró lehet a videó streaming protokollokkal összefüggésben. Sok esetben a formátum egyszerűen a videofájl tárolóformátumára utal. Az általános tárolóformátumok közé tartozik az .mp4, .m4v és .avi.
A konténerformátum lényegében úgy működik, mint egy “doboz”, amely általában egy videofájlt, egy hangfájlt és metaadatokat tartalmaz. A konténerformátum azonban nem annyira központi fogalom az élő közvetítők számára.
Végezzünk egy összehasonlítást, hogy könnyebb legyen megérteni a kapcsolatot a kodek, a konténerformátum és a streaming protokoll között.
Képzeljük el, hogy kereskedő vagy, és ömlesztve szállítasz ruhákat (a ruha a videotartalmat jelképezi). A streaming kodek egyenértékű azzal a géppel, amely a ruhát helytakarékossági okokból kötegbe tömöríti. A konténerformátum a dobozkocsi, amelybe ezeket a kötegeket csomagolják. A streaming protokoll analóg a vasúti sínekkel, a jelzőkkel és a mozdonyvezetőkkel, akik eljuttatják a célállomásra.
Sugárzóként azt szeretné, ha az élő videótartalom a kodekkel, a konténerformátummal és a streaming protokollal összhangban működne.
Azt is fontos megjegyezni, hogy a legtöbb streaming protokoll csak bizonyos kodekeket támogat. Erre később bővebben is kitérünk.
A leggyakoribb videostreaming protokollok
Most, hogy jobb képet kaptál a videostreaming protokollok céljáról, kezdjük el a ma leggyakrabban használt videostreaming protokollok összehasonlítását.
Az összehasonlításban, amikor csak lehetséges, használati eseteket is kínálunk az egyes protokollokhoz.
Real-Time Messaging Protocol (RTMP)
Az első a veterán protokoll: RTMP vagy valós idejű üzenetküldő protokoll. Az RTMP protokollt eredetileg a Macromedia fejlesztette ki a streaming korai időszakában, és még mindig széles körben használják.
Az RTMP-t manapság leginkább élő streamek bevitelére használják egy RTMP-kompatibilis kódoló segítségével. Egyszerűbben fogalmazva, amikor beállítja az enkódert, hogy elküldje a videótovábbítást a videohoszting platformjára, a videó az RTMP protokollon keresztül jut el a CDN-hez. Ez a tartalom végül egy másik protokollon, általában a HLS streaming protokollon keresztül jut el a végső nézőhöz.
Az RTMP-t ritkán használják a néző felé irányuló videostreaming protokollként, mint egykoron. Ez azért van, mert a Flash plugintól függ, amelyet évek óta biztonsági problémák gyötörnek, és amely gyorsan elavul.
Kinek érdemes az RTMP-t használni?
Az RTMP egy olyan streaming protokoll, amely nagyon alacsony késleltetésű streameket biztosít. Mivel azonban a lejátszásához Flash plugin szükséges, nem ajánljuk. Kivételt képez ezúttal is a stream bevitel. Erre a célra az RTMP még mindig az egyik legjobb lehetőség. Robusztus és szinte általánosan támogatott.
Real-Time Streaming Protocol (RTSP)
A talán kevésbé ismert videó streaming protokollt, a Real-Time Streaming Protocol-t (RTSP) először 1998-ban tették közzé. Az RTSP-t kifejezetten a szórakoztató és kommunikációs rendszerek streaming médiakiszolgálóinak vezérlésére fejlesztették ki.
2016-ban vált elérhetővé a frissített RTSP 2.0. Összességében a végpontok közötti médiamunkamenetek létrehozására és vezérlésére szolgáló videostreaming protokollként ismert.
Az RTSP bizonyos szempontból hasonlít a HTTP Live Streaming (HLS) protokollhoz, amellyel az alábbiakban foglalkozunk. Az élő streaming-adatok továbbítása azonban nem az, amit az RTSP önmagában megvalósít. Ehelyett az RTSP-kiszolgálók gyakran a Real-Time Transport Protocol (RTP) és a Real-Time Control Protocol (RTCP) protokollal együtt működnek együtt a médiafolyam továbbítása érdekében.
Kinek érdemes az RTSP-t használni?
Az RTSP-t az alacsony késleltetésű streaming támogatására tervezték, és jó választás olyan streaming felhasználási esetekben, mint az IP-kamerák (pl. biztonsági kamerák), IoT-eszközök (pl. laptop által vezérelt drón) és mobil SDK-k esetében.
Egy jelentős hátránya azonban, hogy az RTSP-nek korlátozott a natív böngészőtámogatása.
RTMP vs. RTSP
Az RTMP és az RTSP is streaming protokoll, vagyis olyan szabályrendszerek, amelyek azt szabályozzák, hogy az adatok hogyan haladnak az egyik kommunikációs rendszerből a másikba. Ha a videóadatok, amelyeket a nézőkhöz akarsz küldeni, egy autó, akkor a streaming protokoll az az út, amelyen az autó az egyik helyről a másikra jut.
Az RTMP használatának előnyei:
- Alacsony késleltetés: Az alacsony késleltetés lehetővé teszi, hogy az élő videostream stabil kapcsolatot és videótovábbítást biztosítson a néző számára, még akkor is, ha az internetkapcsolat megbízhatatlan. Ezáltal a nézők kevesebb “késleltetést” tapasztalnak, amikor ingatag internetkapcsolat mellett nézik videóit, és gyorsan folytathatják a streamet, amint az internetkapcsolat stabilizálódik.
- Alkalmazkodó: Az adaptálható feed azt jelenti, hogy a nézők nincsenek arra korlátozva, hogy egy lineáris irányban nézzék a feedjeidet. Az alkalmazkodóképesség lehetővé teszi számukra, hogy átugorják és visszatekerjék a feed egyes részeit, vagy csatlakozzanak az élő közvetítéshez, miután az már elkezdődött.
- Rugalmas: Az RTMP lehetővé teszi, hogy különböző médiatípusokat integráljon egyetlen összefüggő csomagba, zökkenőmentesen vegyítve a hangot, a videót és a szöveget. Ezenkívül a médiacsatornák többféle változata is elérhető, például MP3 és AAC hangfolyamokat is streamelhet, vagy MP4, FLV és F4V videókat is streamelhet.
Az RTMP használatának hátrányai:
- A HTML5 nem támogatja: Az RTMP-t a Flash-lejátszók támogatják, egy olyan formátum, amely jó úton halad az elavulás felé. A HTML5 lejátszók gyorsan a modern szabványokká válnak, de az RTMP nem játszható le a HTML5 lejátszókon olyan átalakító nélkül, mint a HLS.
- Sávszélességi problémák: Az RTMP streamek különösen érzékenyek lehetnek az alacsony sávszélesség problémáira. Ez gyakori, frusztráló megszakításokat okozhat a streamjeidben, amelyek tönkreteszik a nézők élményét.
- HTTP inkompatibilis: Az RTMP-továbbítást nem lehet közvetlenül HTTP-kapcsolaton keresztül streamelni. Ahhoz, hogy RTMP streamet használhasson webhelyén, egy speciális kiszolgálóhoz, például a Flash Media Serverhez kell csatlakoznia, és egy harmadik féltől származó tartalomszolgáltató hálózatot (CDN) kell használnia.
Az RTSP használatának előnyei:
- Szegmentált streaming: Ahelyett, hogy a nézőket arra kényszerítené, hogy a teljes videót letöltsék, mielőtt megnéznék, az RTSP stream lehetővé teszi számukra, hogy megnézzék a tartalmát, mielőtt a letöltés befejeződne.
- Testreszabás: Más protokollok, például a TCP (Transmission Control Protocol) és az UDP (User Datagram Protocol) felhasználásával saját videostreaming-alkalmazásokat hozhat létre.
Az RTSP használatának hátrányai:
- Kevésbé népszerű: Más médiastreaming protokollokhoz képest az RTSP sokkal kevésbé népszerű. A legtöbb videólejátszó és streaming szolgáltatás nem támogatja az RTSP streaminget, ami megnehezíti a stream közvetítését a böngészőben. Az RTSP stream sugárzásához külön RTSP élő streaming szolgáltatást kell használnia.
- HTTP inkompatibilis: Az RTMP-hez hasonlóan az RTSP-t sem lehet közvetlenül HTTP-n keresztül streamelni. Emiatt nincs egyszerű, egyenes módja az RTSP streamelésének egy webböngészőben, mivel az RTSP-t inkább a magánhálózatokon, például egy vállalat biztonsági rendszerein belüli videostreamelésre tervezték. Az RTSP-t azonban streamelheti a weboldalára beágyazott kiegészítő szoftver segítségével.
Az RTMP vs. RTSP streaming protokollok közötti választás nagyban függ az Ön egyéni üzleti igényeitől és attól, hogy hány extra lépést hajlandó megtenni annak érdekében, hogy a tartalma lejátszható legyen a weboldalán.
Dynamic Adaptive Streaming over HTTP (MPEG-DASH): feltörekvő protokoll
A spektrum másik végén ott van az MPEG-DASH, az egyik legújabb protokoll a színen. Bár még nem használják széles körben, ennek a protokollnak van néhány nagy előnye.
Először is, támogatja az adaptív bitsebességű streaminget. Ez azt jelenti, hogy a nézők mindig a legjobb videóminőséget kapják, amelyet az aktuális internetkapcsolatuk sebessége támogatni tud. Ez hajlamos másodpercről másodpercre ingadozni, és a DASH képes lépést tartani.
A MPEG-DASH megold néhány régóta fennálló technikai problémát a szállítással és a tömörítéssel kapcsolatban. További előnye, hogy az MPEG-DASH “codec-agnosztikus”, azaz szinte bármilyen kódolási formátummal használható. Támogatja továbbá az Encrypted Media Extensions (EME) és a Media Source Extension (MSE) szabványalapú API-kat a böngészőalapú digitális jogkezeléshez (DRM).
Kinek érdemes az MPEG-DASH-t használni?
Az MPEG-DASH-t manapság a HLS-hez képest csak a professzionális műsorszolgáltatók töredéke használja. Úgy gondoljuk azonban, hogy a jövőben ez lesz a szabványos technológia.
Az ok, amiért ez a protokoll még nem hihetetlenül népszerű, a kompatibilitásnak (pl. az Apple Safari és az iOS készülékek nem támogatják) és egyéb kapcsolódó problémáknak tudható be.
Microsoft Smooth Streaming (MSS)
A következő a Microsoft Smooth Streaming (MSS) protokollja. Az eredetileg 2008-ban bevezetett MSS az akkori nyári olimpiai játékok szerves részét képezte. Népszerűsége azonban csökkent, kivéve a Microsoft-fókuszú fejlesztők és az Xbox ökoszisztémában dolgozók körében.
A Smooth Streaming támogatja az adaptív bitsebességű streaminget, és tartalmaz néhány robusztus eszközt a DRM-hez. Összességében ez egy hibrid médiaszolgáltatási módszer, amely úgy működik, mint a streaming, de a HTTP progresszív letöltésen alapul.
Ki használjon Smooth Streaminget?
Hacsak nem az Xbox-felhasználók a fő célközönsége, vagy nem tervez Windows-specifikus alkalmazásokat készíteni, nem javasoljuk az MSS használatát elsődleges videóstreaming protokollként.
HTTP Dynamic Streaming (HDS)
Az Adobe belépése a streaming protokollok világába a HTTP Dynamic Streaming (HDS), az RTMP utódja. Az RTMP-hez hasonlóan a HDS is egy flash-alapú streaming protokoll. Azonban az adaptív streaminget is támogatja, és jó hírnévnek örvend a kiváló minőségéről.
A HDS a késleltetés tekintetében is a jobb protokollok közé tartozik. Másrészt a késleltetés a töredezettség és a titkosítási folyamat miatt nem olyan alacsony, mint az RTMP esetében, ami miatt kevésbé népszerű a sport és más olyan események streameléséhez, ahol másodpercek számítanak.
Kinek érdemes HDS-t használni?
Általában nem javasoljuk a HDS használatát. Az elmúlt években a Flash-támogatás túl gyenge lett ahhoz, hogy bármely műsorszolgáltató erre a technológiára támaszkodjon a közönség elérésében. Röviden, a Flash lejátszó köré építeni a webes videókat ma már egyszerűen rossz választás.
HTTP Live Streaming (HLS)
Az utolsó videostreaming protokoll, amelyet tárgyalunk, a HTTP Live Streaming vagy HLS. Az Apple eredetileg 2009-ben adta ki ezt a protokollt, hogy lehetővé tegye számukra a Flash elhagyását az iPhone-okról. Azóta a HLS a legszélesebb körben használt streaming protokoll lett.
Ennek több oka is van. Először is, az asztali böngészők, az okostévék, valamint az Android és iOS mobileszközök mind támogatják a HLS-t. A HTML5 videolejátszók is natívan támogatják a HLS-t, szemben a HDS-sel és az RTMP-vel.
Ez lehetővé teszi, hogy egy stream a lehető legtöbb nézőt elérje, így a HLS ma a legbiztonságosabb protokoll egy élő stream nagy közönségre történő skálázásához. Ezzel a protokollal például egy egyszerű beágyazási kóddal élő videót streamelhet a weboldalán.
A funkciókat illetően a HLS szabvány támogatja az adaptív bitsebességű streaminget is, amely dinamikusan, minden pillanatban a lehető legjobb videóminőséget biztosítja. A legújabb frissítésekkel ez a szabvány már támogatja a legújabb és legnagyszerűbb H.265 kodeket, amely kétszer jobb videóminőséget biztosít ugyanolyan fájlméret mellett, mint a H.264.
A HLS egyetlen hátránya jelenleg az, hogy a késleltetés viszonylag magas lehet. Vannak azonban módszerek a HLS késleltetésének csökkentésére.
Kinek érdemes a HLS-t használni?
A HLS ma a legszélesebb körben használt protokoll, mivel robusztus és hatékony. Tudjuk például, hogy kevés néző fog visszatérni egy webhelyre a streamelés során, ha videóhibát tapasztal. Egy olyan széles körben kompatibilis, adaptív protokoll használata, mint a HLS, a lehető legjobb nézői élményt nyújtja.
Megemlítjük azt is, hogy a HLS mostantól a Dacastnál használt alapértelmezett streaming protokoll.
Videoprotokollok a professzionális élő közvetítéshez
Még egyszer összefoglalva, ma már számos videostreaming protokoll létezik, és ezek közül sok használható élő videostreamingre.
Amint fentebb már említettük, az itt tárgyalt protokollok – RTMP, RTSP, MPEG-DASH, MSS, HDS és HLS – mindegyike speciális felhasználási esetekkel rendelkezik az egyes műsorszolgáltatók számára. Ha azonban mindent figyelembe veszünk, a HLS kerül az élre, különösen a kodek-kompatibilitás, az összes eszközzel való kompatibilitás, a HTML5 videolejátszó natív támogatása és az adaptív bitsebességű streaming-kapacitás tekintetében.
A javaslatunk egyszerű: egyelőre szinte minden műsorszolgáltatónak ragaszkodnia kell a HLS videostreaming protokoll használatához.
A felhasználók egy része persze más protokollokat is jobbnak találhat az igényeinek. Azonban akár élő videót szeretne streamelni a weboldalán, akár sportesemények élő közvetítését vagy szakmai események és összejövetelek élő közvetítését szeretné végezni, a HLS általában a legjobb megoldás.
Ne feledje, az MPEG-DASH egy feltörekvő lehetőség. A közeljövőben számítson ennek a streaming protokollnak a növekvő elfogadására.
Következtetés
Noha a streaming protokollok és a kapcsolódó technológia kissé összetett, teljesen megközelíthető, ha kisebb, emészthető gondolatokra bontjuk őket.
Reméljük, ez a bejegyzés segített tisztázni a videó streaming protokollok célját és a videó streaming protokoll, a codec és a konténer formátum közötti kapcsolatot. Bízunk benne, hogy felkészült az igényeinek megfelelő protokoll kiválasztására és használatára.
A HLS streaming teszteléséhez a Dacast platformon arra kérjük, hogy regisztráljon a 30 napos ingyenes próbaverzióra. Így megismerkedhet a funkciókkal, mielőtt elkötelezné magát/
INDULJ INGYENESEN