Přejít na obsah
Callaba

WebRTC vs HLS vs RTMP pro živé video

Na této stránce

Stručná odpověď: použijte RTMP tam, kde má kodér publikovat na ingest koncový bod, WebRTC tam, kde to vyžaduje interakce diváka a cesta v reálném čase, a HLS tam, kde je zvolenou cestou doručování publiku přes HTTP. Služba pro živé vysílání často používá více než jeden z nich; názvy protokolů popisují různé hranice.

Vybírejte od diváka zpět ke zdroji

OtázkaWebRTCHLSRTMP
Primární příjemceInteraktivní peer prohlížeče/aplikace nebo mediální službaPřehrávač podporující HTTP a cesta doručováníIngest server nebo koncový bod platformy
Model přenosu/doručováníMediální relace v reálném čase vyjednaná pro peeryPlaylist a segmenty médií načítané přes HTTPTrvalá relace publikování TCP
Role prohlížečeNavrženo pro rozhraní API médií prohlížeče v reálném časeDoručuje se cestou přehrávače; podpora platformy se lišíNení nativním přehráváním v moderním prohlížeči
Kontrola kodekuOvěřte podporu prohlížeče, služby a vyjednáváníOvěřte kompatibilitu přehrávače, zapouzdření a variantyOvěřte kompatibilitu kodéru a ingest koncového bodu
Kontrola sítěPodmínky signalizace, ICE/STUN/TURN a firewalluChování požadavků originu, cache/CDN a přehrávačeDosažitelnost přiřazeného ingest hostitele a portu
Hodí se, kdyžInterakce je součástí požadavku produktuÚlohou je doručování publikuKodér musí předat tok ingest přijímači

Co testovat nejdříve

Volba workflowKoncový bod k testováníPrvní kontrola přijetí
Interaktivní příspěvek nebo publikum: WebRTCNakonfigurovaný koncový bod relace/diváka WebRTCSignalizace a konektivita ICE/TURN, poté zvuk/video programu
Široké přehrávání v prohlížeči: HLShttps://example.invalid/live/master.m3u8Načtení manifestu a zamýšlená varianta přehrávače
Ingest kodéru/platformy: RTMPrtmp://example.invalid/app plus přiřazený klíčStav publisheru, poté výslovně zvolený výstup HLS nebo WebRTC

Jde o tvary koncových bodů, nikoli adresy poskytované Callaba. Základní modely doručování popisují W3C WebRTC, IETF HLS a specifikace RTMP.

Rychlé rozhodnutí: zvolte protokol podle úlohy

Pro interaktivní příspěvek nebo účast publika před volbou WebRTC otestujte signalizaci WebRTC a ICE/TURN. Pro široké přehrávání v prohlížeči otestujte manifest HLS a přehrávač. Pro ingest z kodéru do platformy otestujte RTMP na přiřazeném koncovém bodu, poté zvolte a otestujte navazující výstup HLS nebo WebRTC.

Pokud zní rozhodnutí „jak diváci přijmou program v prohlížeči?“, začněte u WebRTC nebo HLS a jejich požadavků na přehrávač, přístup a doručování. Pokud zní „jak tento kodér publikuje na platformu?“, začněte u smlouvy ingestu RTMP dané platformy. RTMP může napájet pozdější fázi HLS nebo WebRTC, ale sám tuto fázi nevytváří.

Častá zavádějící srovnání

WebRTC vs HLS

Jde o rozhodnutí pro doručování. WebRTC potřebuje cestu relace v reálném čase; HLS potřebuje doručování playlistu/segmentů a kompatibilní přehrávač. Testujte přesný koncový bod publika a jeho model přístupu, nikoli pouze zdrojový tok.

RTMP vs WebRTC

Tyto protokoly často zaujímají různé konce workflow: RTMP jako ingest z kodéru, WebRTC jako interaktivní doručování. Most je nakonfigurovaná funkce mediálního serveru nebo služby s vlastními kodeky, signalizací a provozem, nikoli vlastnost kteréhokoli URL.

HLS vs RTMP

HLS balí média pro doručování přes HTTP; RTMP publikuje média do ingest přijímače. Divák, který nemůže otevřít URL RTMP, potřebuje zvolenou výstupní cestu HLS nebo WebRTC, nikoli jiný prohlížeč.

Referenční workflow se smíšenými protokoly

Kodér programu může publikovat RTMP do řízeného ingest prostředku. Operátor potvrdí aktivitu zdroje a poté nakonfiguruje samostatný výstup pro doručování publiku — HLS pro workflow přehrávače HTTP nebo WebRTC pro cestu interakce. Každou hranici ověřte postupně: kodér–ingest, vytvoření zpracování/výstupu a poté skutečnou URL diváka.

Kontrolní seznam protokolu před produkcí

  • Zapište kodek zdroje, snímkovou frekvenci, zvuk a omezení cílového přijímače.
  • Přiřaďte vlastníka přihlašovacím údajům pro publikování, signalizaci/přístupu a testování přehrávače.
  • Použijte soukromé publikum pro zkoušku a po zastavení zdroje otestujte obnovu.
  • Přímá tvrzení o přehrávání v prohlížeči vztahujte ke konfigurovanému výstupu, nikdy ke zdrojové URL RTMP.

Zvolte další krok

Pro ingest kodéru a přístup publisheru/přijímače viz RTMP Server. URL pro publikování RTMP může používat stejný název aplikace a streamu jako URL přijímače, ale publisher a přijímač mají stále různé role. Pro výstup do prohlížeče začněte pokyny pro Web Player; pro záměr zapouzdření viz RTMP to HLS. Pokud workflow používá příspěvek SRT namísto publikování RTMP, vhodným vlastníkem je SRT Server.