Protocoale de streaming video: Which to Use for Professional Broadcasting

Max Wilbert

Max Wilbert este un scriitor pasionat, practician al transmisiunilor live și are o expertiză solidă în industria de streaming video.

Când începeți să vă ocupați de live streaming, veți observa o abundență de acronime care servesc mai multor scopuri diferite. Există RTMP, HLS, HDS și multe altele.

Multe dintre aceste acronime se referă la diferite protocoale de streaming video. Practic, protocoalele sunt procese tehnice care facilitează transferul de date de la un program la altul. În streaming, acest lucru înseamnă transferul fișierelor dvs. video către și de la codificatorul dvs., gazda de streaming și, în cele din urmă, playerul video unde publicul dvs. vizualizează fluxul dvs..

Astăzi, vom identifica unele dintre cele mai comune protocoale de streaming pe care le veți întâlni, ce fac acestea și când ar trebui să le folosească. Pentru a vă oferi un context relevant care să vă ajute să înțelegeți, vom explica, de asemenea, relația dintre un codec și un format container.

Sunteți gata să vă scufundați în protocoalele de streaming live?

Vă rugăm să rețineți că această postare a fost actualizată pentru a reflecta cele mai recente evoluții ale protocoalelor de streaming video din noiembrie 2020.

Tabloul cuprinsului

  • Ce este un protocol de streaming video?
  • Protocol de streaming vs. Codecs vs. Codecs vs. Protocol de streaming video. Container Format
  • Common Video Streaming Protocols
  • Video Protocols for Professional Live Streaming
  • Concluzie

Ce este un protocol de streaming video?

Un protocol de streaming video este necesar pentru transmisiunile în direct.

Înainte de a merge mai departe, haideți să analizăm puțin mai în detaliu definiția unui protocol de streaming video. Majoritatea materialelor video digitale sunt concepute pentru două lucruri: stocare și redare. Acest lucru conduce la două considerente majore, și anume dimensiunea mică a fișierelor și redarea universală.

Majoritatea fișierelor video nu sunt concepute pentru streaming, ceea ce înseamnă că streamingul unui videoclip implică mai întâi convertirea acestuia într-un fișier care poate fi redat în flux. Acest lucru implică descompunerea acestuia în bucăți mici. Aceste bucăți sosesc apoi secvențial și se redau pe măsură ce sunt primite. Dacă faceți streaming video în direct, sursa video vine direct de la o cameră. În caz contrar, provine dintr-un fișier pentru conținut VOD.

Un protocol de streaming video este o metodă de livrare standardizată pentru descompunerea unui videoclip în bucăți, trimiterea acestuia către telespectator și reasamblarea lui.

Protocoalele de streaming pot deveni mult mai complexe. Multe dintre ele sunt protocoale „adaptive bitrate”, de exemplu. Această tehnologie va oferi cea mai bună calitate pe care o poate suporta un telespectator la un moment dat.

Câteva protocoale se concentrează pe reducerea latenței, sau a întârzierii dintre momentul în care un eveniment se întâmplă în viața reală și momentul în care este redat pe ecranul privitorului. Unele protocoale funcționează numai pe anumite sisteme, Iar alte protocoale se concentrează pe gestionarea drepturilor digitale (DRM).

Pe măsură ce trecem în revistă câteva protocoale specifice, vom pune în perspectivă aceste și alte caracteristici.

Protocol de streaming vs. Codec vs. Format de container

Protocoalele, codecurile și formatele de container sunt fiecare fațete separate ale streamingului.

Printre altele, o sursă comună de confuzie în domeniul streaming-ului video se referă la diferența dintre un protocol și un codec.

Simplu spus, termenul „codec” se referă la tehnologia de compresie video. În mod logic, diferite codecuri de streaming sunt utilizate în scopuri diferite. De exemplu, Apple ProRes este adesea utilizat pentru editare video, iar H.264, cel mai comun codec video, este utilizat pe scară largă pentru video online.

Ca și în cazul codecului, termenul „format” poate fi, de asemenea, derutant în contextul protocoalelor de streaming video. În multe cazuri, formatul se referă pur și simplu la formatul container al unui fișier video. Formatele container comune includ .mp4, .m4v și .avi.

În esență, un format container funcționează ca o „cutie” care conține, de obicei, un fișier video, un fișier audio și metadate. Cu toate acestea, formatul container nu este un concept la fel de central pentru cei care fac streaming în direct.

Să facem o comparație pentru a înțelege mai ușor relația dintre un codec, un format container și un protocol de streaming.

Imaginați-vă că sunteți un comerciant și că transportați îmbrăcăminte în vrac (îmbrăcămintea reprezintă conținutul video). Codecul de streaming este echivalent cu mașina care comprimă îmbrăcămintea într-un pachet pentru a economisi spațiu. Formatul container este vagonul în care sunt ambalate aceste pachete. Protocolul de streaming este analog cu șinele de cale ferată, semnalele și șoferii care îl livrează la destinație.

În calitate de radiodifuzor, doriți ca conținutul dvs. video în direct să funcționeze de comun acord cu un codec, un format de container și un protocol de streaming.

Este, de asemenea, important să rețineți că majoritatea protocoalelor de streaming acceptă doar anumite codecuri. Vom discuta mai mult despre acest aspect mai târziu.

Protocoale comune de streaming video

Acum că aveți o idee mai bună despre scopul protocoalelor de streaming video, să începem comparația noastră a celor mai comune protocoale de streaming video din prezent.

În această comparație, vom oferi, de asemenea, cazuri de utilizare pentru fiecare protocol ori de câte ori este posibil.

Real-Time Messaging Protocol (RTMP)

Scopul RTMP a evoluat în ultimii ani.

Primul este protocolul veteran: RTMP sau Protocolul de mesagerie în timp real. Dezvoltat inițial de Macromedia în primele zile de streaming, protocolul RTMP este încă utilizat pe scară largă.

În prezent, RTMP este utilizat în principal pentru ingerarea transmisiunilor în direct cu ajutorul unui codificator compatibil RTMP. În termeni simpli, atunci când vă configurați encoderul pentru a vă trimite fluxul video către platforma de găzduire video, acel video va ajunge la CDN prin intermediul protocolului RTMP. Acel conținut ajunge în cele din urmă la telespectatorul final printr-un alt protocol, de obicei protocolul de streaming HLS.

RTMP este rareori utilizat ca protocol de streaming video orientat către telespectator, așa cum era odată. Acest lucru se datorează faptului că este dependent de pluginul Flash, care a fost afectat de probleme de securitate de ani de zile și care devine rapid învechit.

Cine ar trebui să folosească RTMP?

RTMP este un protocol de streaming care oferă fluxuri cu latență foarte scăzută. Cu toate acestea, deoarece necesită plugin-ul Flash pentru a fi redat, nu îl recomandăm. Din nou, excepția este pentru ingestia de fluxuri. În acest scop, RTMP este încă una dintre cele mai bune opțiuni. Este robust și aproape universal acceptat.

Protocolul de streaming în timp real (RTSP)

Poate un protocol de streaming video mai puțin cunoscut, Protocolul de streaming în timp real (RTSP) a fost publicat pentru prima dată în 1998. RTSP a fost dezvoltat pentru a controla serverele de streaming media în sistemele de divertisment și de comunicații, în special.

În 2016, a devenit disponibil un RTSP 2.0 actualizat. În general, este cunoscut ca un protocol de streaming video pentru stabilirea și controlul sesiunilor media între puncte finale.

RTSP este similar în unele privințe cu protocolul HTTP Live Streaming (HLS), pe care îl vom aborda mai jos. Cu toate acestea, transmiterea de date de streaming în direct nu este ceea ce realizează RTSP de unul singur. În schimb, serverele RTSP lucrează adesea împreună cu Protocolul de transport în timp real (RTP) și cu Protocolul de control în timp real (RTCP) pentru a livra fluxuri media.

Cine ar trebui să utilizeze RTSP?

RTSP a fost conceput pentru a suporta streamingul cu latență redusă și este o alegere bună pentru cazurile de utilizare a streamingului, cum ar fi fluxurile de la camerele IP (de exemplu, camerele de securitate), dispozitivele IoT (de exemplu, drona controlată de laptop) și SDK-urile mobile.

Un dezavantaj semnificativ, totuși, este că există un suport nativ limitat al browserului pentru RTSP.

RTMP vs RTSP

RTMP și RTSP sunt ambele protocoale de streaming, ceea ce înseamnă că sunt seturi de reguli care guvernează modul în care datele călătoresc de la un sistem de comunicare la altul. Dacă datele video pe care încercați să le trimiteți telespectatorilor dvs. sunt o mașină, atunci protocolul de streaming este drumul pe care mașina îl parcurge pentru a ajunge dintr-un loc în altul.

Poroane ale utilizării RTMP:

  • Latență scăzută: Latența scăzută permite fluxului dvs. video live să mențină o conexiune stabilă și un flux video pentru spectator, chiar dacă conexiunea la internet nu este fiabilă. Acest lucru le oferă telespectatorilor dvs. mai puține „întârzieri” atunci când vă urmăresc videoclipurile cu o conexiune de internet șubredă, permițându-le să reia rapid fluxul odată ce conexiunea lor la internet se stabilizează.
  • Adaptabil: Un flux adaptabil înseamnă că telespectatorii dvs. nu sunt blocați în vizionarea fluxurilor dvs. într-o singură direcție liniară. Adaptabilitatea le permite să sară și să deruleze părți din feed sau să se alăture unui flux live după ce acesta a început.
  • Flexibil: RTMP vă permite să integrați o varietate de tipuri de media într-un singur pachet coerent, îmbinând perfect audio, video și text. În plus, puteți avea mai multe variante de canale media, cum ar fi transmiterea atât a fluxurilor audio MP3 și AAC, cât și a fluxurilor video MP4, FLV și F4V.

Inconvenientele utilizării RTMP:

  • Nu este suportat de HTML5: RTMP este suportat de playerele Flash, un format care este pe cale de a deveni obsolescent. Playerii HTML5 devin rapid standardul modern, dar RTMP nu poate fi redat pe playerele HTML5 fără un convertor precum HLS.
  • Probleme legate de lățimea de bandă: Fluxurile RTMP pot fi deosebit de vulnerabile la problemele de lățime de bandă redusă. Acest lucru poate cauza întreruperi frecvente și frustrante ale transmisiunilor dvs. care strică experiența pentru telespectatori.
  • HTTP incompatibil: Nu puteți transmite direct un flux RTMP prin intermediul unei conexiuni HTTP. Pentru a utiliza un flux RTMP pe site-ul dvs. web, trebuie să vă conectați la un server special, cum ar fi Flash Media Server, și să utilizați o rețea de distribuire a conținutului (CDN) terță parte.

Avantajele utilizării RTSP:

  • Streaming segmentat: În loc să îi forțați pe telespectatorii dvs. să descarce un videoclip întreg înainte de a-l viziona, fluxul RTSP le permite să vadă conținutul dvs. înainte ca descărcarea să fie completă.
  • Personalizare: Prin utilizarea altor protocoale, cum ar fi Transmission Control Protocol (TCP) și User Datagram Protocol (UDP), vă puteți crea propriile aplicații de streaming video.

Consecințe ale utilizării RTSP:

  • Mai puțin popular: În comparație cu alte protocoale de streaming media, RTSP este mult mai puțin popular. Majoritatea playerelor video și a serviciilor de streaming nu acceptă streamingul RTSP, ceea ce face mai dificilă difuzarea fluxului dvs. în browser. Pentru a difuza un flux RTSP, trebuie să utilizați un serviciu separat de streaming live RTSP.
  • HTTP incompatibil: La fel ca RTMP, nu puteți transmite direct RTSP prin HTTP. Din această cauză, nu există o modalitate simplă și directă de a transmite RTSP într-un browser web, deoarece RTSP este conceput mai mult pentru streamingul video în rețele private, cum ar fi sistemele de securitate din cadrul unei întreprinderi. Cu toate acestea, puteți face streaming RTSP cu ajutorul unui software suplimentar încorporat pe site-ul dvs. web.

Alegerea între protocoalele de streaming RTMP vs. RTSP depinde în mare măsură de nevoile individuale ale afacerii dvs. și de câți pași suplimentari sunteți dispus să faceți pentru a face ca conținutul dvs. să poată fi redat pe site-ul dvs. web.

Dynamic Adaptive Streaming over HTTP (MPEG-DASH): un protocol în plină ascensiune

Capacitatea de streaming adaptiv este extrem de valoroasă pentru radiodifuzorii profesioniști.

La capătul opus al spectrului, avem MPEG-DASH, unul dintre cele mai noi protocoale de pe scenă. Deși nu este încă utilizat pe scară largă, acest protocol are câteva avantaje mari.

În primul rând, suportă streamingul cu rată adaptivă de biți. Asta înseamnă că telespectatorii vor primi întotdeauna cea mai bună calitate video pe care o poate suporta viteza actuală a conexiunii lor la internet. Aceasta tinde să fluctueze de la secundă la secundă, iar DASH poate ține pasul.

MPEG-DASH rezolvă unele probleme tehnice de lungă durată legate de livrare și compresie. Un alt avantaj este că MPEG-DASH este „agnostic la codecuri”, ceea ce înseamnă că poate fi utilizat cu aproape orice format de codificare. De asemenea, suportă Encrypted Media Extensions (EME) și Media Source Extension (MSE), care sunt API-uri bazate pe standarde pentru gestionarea drepturilor digitale (DRM) pe bază de browser.

Cine ar trebui să folosească MPEG-DASH?

În prezent, MPEG-DASH este folosit doar de o mică parte dintre radiodifuzorii profesioniști, în comparație cu HLS. Cu toate acestea, credem că va fi tehnologia standard în viitor.

Motivul pentru care acest protocol nu este încă incredibil de popular poate fi atribuit compatibilității (de exemplu, Apple Safari și dispozitivele iOS nu îl acceptă) și altor probleme conexe.

Microsoft Smooth Streaming (MSS)

Următorul este protocolul Microsoft Smooth Streaming (MSS). Introdus inițial în 2008, MSS a fost parte integrantă a Jocurilor Olimpice de vară din acel an. Cu toate acestea, popularitatea sa a scăzut, cu excepția dezvoltatorilor axați pe Microsoft și a celor care lucrează în ecosistemul Xbox.

Smooth Streaming suportă streaming cu rată adaptivă de biți și include câteva instrumente robuste pentru DRM. În general, este o metodă hibridă de livrare media care funcționează ca un streaming, dar care se bazează pe descărcarea progresivă HTTP.

Cine ar trebui să folosească Smooth Streaming?

Dacă publicul dumneavoastră țintă principal nu este reprezentat de utilizatorii Xbox sau dacă intenționați să creați aplicații specifice Windows, nu vă recomandăm să folosiți MSS ca protocol principal de streaming video.

HTTP Dynamic Streaming (HDS)

HDS este cel mai puțin recomandat protocol de streaming.

Intrarea celor de la Adobe în lumea protocoalelor de streaming este HTTP Dynamic Streaming (HDS), succesorul RTMP. Ca și RTMP, HDS este un protocol de streaming bazat pe flash. Cu toate acestea, adaugă, de asemenea, suport pentru streaming adaptiv și are o reputație de înaltă calitate.

HDS este, de asemenea, unul dintre cele mai bune protocoale când vine vorba de latență. Pe de altă parte, latența nu este la fel de scăzută ca în cazul RTMP din cauza procesului de fragmentare și criptare, ceea ce îl face mai puțin popular pentru streamingul sportiv și alte evenimente în care secundele contează.

Cine ar trebui să folosească HDS?

În general, nu vă recomandăm să folosiți HDS. În ultimii ani, suportul Flash a devenit prea slab pentru ca orice radiodifuzor să se bazeze pe această tehnologie pentru a ajunge la publicul său. Pe scurt, construirea videoclipului dvs. web în jurul playerului Flash este pur și simplu o alegere proastă în prezent.

HTTP Live Streaming (HLS)

Protocolul HLS, sau HTTP Live Streaming, a fost dezvoltat de Apple și are suport pentru playere media, browsere web, dispozitive mobile și servere media.

Ultimul protocol de streaming video pe care îl vom discuta este HTTP Live Streaming sau HLS. Apple a lansat inițial acest protocol în 2009 pentru a le permite să renunțe la Flash de pe iPhone-uri. De atunci, HLS a devenit cel mai utilizat protocol de streaming.

Există mai multe motive pentru acest lucru. În primul rând, browserele desktop, televizoarele inteligente și dispozitivele mobile atât Android, cât și iOS, toate acceptă HLS. De asemenea, playerele video HTML5 acceptă în mod nativ HLS, în comparație cu HDS și RTMP.

Acest lucru permite ca un flux să ajungă la cât mai mulți spectatori posibil, ceea ce face ca HLS să fie cel mai sigur protocol actual pentru scalarea unui flux live către audiențe mari. De exemplu, puteți utiliza acest protocol pentru a transmite video în direct pe site-ul dvs. web cu un simplu cod embed.

În ceea ce privește caracteristicile, standardul HLS suportă, de asemenea, streamingul cu rată de biți adaptivă, oferind în mod dinamic cea mai bună calitate video posibilă în orice moment. Odată cu actualizările recente, acest standard suportă acum cel mai nou și mai mare codec H.265, care oferă o calitate video de două ori mai bună la aceeași dimensiune a fișierului ca H.264.

În prezent, singurul dezavantaj al HLS este că latența poate fi relativ mare. Cu toate acestea, există metode de reducere a latenței HLS.

Cine ar trebui să utilizeze HLS?

HLS este cel mai utilizat protocol din prezent, deoarece este robust și eficient. De exemplu, știm că puțini telespectatori se vor întoarce pe un site în timpul unei transmisiuni dacă se confruntă cu o defecțiune video. Folosirea unui protocol adaptabil, compatibil pe scară largă, precum HLS, va oferi cea mai bună experiență posibilă publicului.

Am dori, de asemenea, să menționăm că HLS este acum protocolul de streaming implicit utilizat la Dacast.

Protocoale video pentru streaming live profesional

Știți care sunt cele mai bune protocoale video pentru streamingul live profesional?

Pentru a recapitula, există multe protocoale de streaming video în prezent, iar multe dintre acestea pot fi utilizate pentru streamingul video live.

Așa cum am acoperit mai sus, toate protocoalele discutate aici – RTMP, RTSP, MPEG-DASH, MSS, HDS și HLS – au cazuri de utilizare specifice pentru anumiți radiodifuzori. Cu toate acestea, dacă luăm totul în considerare, HLS iese pe primul loc, în special în ceea ce privește compatibilitatea codecurilor, compatibilitatea cu toate dispozitivele, suportul nativ al playerului video HTML5 și capacitatea de streaming cu rată de biți adaptivă.

Recomandarea noastră de aici este simplă: deocamdată, aproape toți radiodifuzorii ar trebui să se limiteze la utilizarea protocolului de streaming video HLS.

Desigur, unii utilizatori pot găsi alte protocoale mai bune pentru nevoile lor. Cu toate acestea, indiferent dacă doriți să transmiteți video în direct pe site-ul dvs. web, să faceți streaming în direct al evenimentelor sportive sau să transmiteți în direct evenimente și întâlniri profesionale, HLS este, în general, cea mai bună cale de urmat.

Rețineți, MPEG-DASH este o opțiune în curs de dezvoltare. Urmăriți adoptarea din ce în ce mai mare a acestui protocol de streaming în viitorul apropiat.

Concluzie

Protocoalele de streaming live fac posibilă transmiterea de fișiere video și sunt parte integrantă a oricărei platforme video online.

Deși protocoalele de streaming și tehnologia aferentă sunt un pic complexe, ele sunt total abordabile atunci când sunt împărțite în idei mai mici, digerabile.

Sperăm că această postare a ajutat la clarificarea scopului protocoalelor de streaming video și a relației dintre protocolul de streaming video, codec și formatul containerului. Avem încredere că sunteți echipat pentru a alege și a utiliza protocolul potrivit pentru nevoile dumneavoastră.

Pentru a testa streamingul HLS pe platforma Dacast, vă invităm să vă înscrieți la testarea noastră gratuită de 30 de zile. În acest fel, vă puteți familiariza cu funcțiile înainte de a vă angaja/

ÎNCEPEȚI GRATUIT

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *