Dir test d’Säit op Ärem Laptop, de Player startet an den Ticket gëtt zougemaach. Den Zuschauer op der anerer Säit mécht déi selwecht Säit op a kritt e Lueden, dat ni opgeet. Déi üblech Erklärung ass, datt de VPN um Server läit, also sollt d’Ofspillen funktionéieren — awer de Browser ass de Bestanddeel, deen d’Playlist ufreit, an hien huet säin eegene Netzwierkwee. Eng Säit, déi op engem Server mat private Zougang agebett ass, verléint deen Zougang net un dee, deen se lued.

Dëst geet ëm eng bestoend ASP.NET-Säit, déi eng HLS-Quell wéi http://10.5.5.9:8080/live/stream.m3u8 spillt, wat eng illustrativ privat Adress ass. Zwee Opstelle funktionéieren; eng dovun ass wuel net déi, déi Dir gebaut hutt.

Mythos: eng Säit, déi lued, beweist de Medienwee

D’HTML vun där Säit kënnt vun Ärem Webserver, iwwer wéi enger Route Äre Webserver och ëmmer huet. D’Playlist an d’Segmenter komme vun der Medienquell, iwwer wéi enger Route deen ufroende Bestanddeel och ëmmer huet. Wa de Player am Browser vum Zuschauer leeft, sinn dat zwee verschidde Cliente, zwou verschidde Quelladressen an dacks zwee verschidde Feelerdomänen. Datt den éischten erfollegräich ass, seet näischt iwwer den zweeten.

Wat Ären Test tatsächlech bewisen huet, ass méi schmuel wéi et ausgesouch: Äre Rechner kann gläichzäiteg d’ëffentlech Säit an de private Medienhost erreechen. De Rechner vum Zuschauer war ni Deel vum Experiment.

Wat d’Playlist als Nächstes freet

RFC 8216 trennt Medien-Playliste, déi Segmenter opzielen, vu Master-Playlisten, déi aner Playliste opzielen, a léist relativ URIen géintiwwer der URI vun der Playlist, déi se enthält. Genau déi Regel gëtt iwwersprong. Eng eenzel .m3u8-Datei erfollegräich ze sichen ass keen Ofspilltest, well d’Datei, déi Dir geholl hutt, en Index ass an net d’Medien.

Follegt der Kette wéi et de Player mécht: maacht déi gewielten Playlist op, freet dann d’Ressourcen un, déi se nennt, a folgt dann all Ëmleedung. Eng Playlist, déi iwwer en erreechbare Webserver ausgeliewert gëtt, kann den Zuschauer nach ëmmer op eng onerreechbar privat Adress schécken. Genee esou ännert d’Verschiewe vun enger relativer Playlist op eng aner URL d’Basis, géint déi hir Entréeë geléist ginn, an dofir gëtt d’Iwwerschreiwen vun der éischter sichtbarer URL an d’Stoppen do meeschtens eng Playlist, déi gëlteg ausgesäit, awer net ka spillen.

Direkt Kucken: den Zuschauer brauch de Wee

Wann d’Zuschauer de Medienhost direkt solle erreechen, brauchen hir Apparater de guttgeheesche VPN oder en anere private Wee, DNS, deen d’Nimm léist, déi Dir tatsächlech benotzt hutt, d’Erlaabnes fir déi Destinatiounen z’erreechen, an all Authentifikatioun, déi de Medienservice freet. Kontrolléiert jiddwereen dovun um Apparat vum Zuschauer an net um Server. E Browser op engem Telefon mam installéierten, awer net verbonnene VPN-Profil ass e heefege a komplett reproduzierbare Feeler.

Dës Opstelle hält d’Quell privat a verréckelt d’Zougangsfuerderung op d’Publikum. Et ass eng politesch Entscheedung esou wéi eng technesch, also bestätegt, datt jiddwer geduechte Zuschauer deen Wee dierf halen, ier Dir ronderëm hien designt.

Liwwerung vum Server: ee kontrolléierte Punkt

D’Alternativ ass eng autoriséiert Medien-Frontend, déi d’Quell iwwer hiren eegene private Wee hëlt an nëmmen déi Ressourcen nei publizéiert, déi de Zuschauer gesäit. Halt d’Playlist, d’Segmenter an all Schlësselressourcen mat deem eenzegen Zougangspunkt konsequent, soss hëlt de Player eng ëmgeschriwwe Playlist iwwer d’Frontend an d’Segmenter direkt vun enger Adress, déi den Zuschauer net erreeche kann.

Limitt d’Quell an déi erlabe Weeër an där Frontend. Eng beliebig URL, déi de Benotzer gëtt, mécht en nëtzleche Proxy zu engem onbegrenzten Ofruffer vun Ärem internen Netzwierk, wat e vill méi schlëmme Problem ass wéi e Stream, deen net spillt. Setzt d’Quell an de Weepräfix op eng Erlaabnislëscht, amplaz de String duerno ze validéieren.

Fir eng bestoend HLS-Quell, préift als éischt, ob kontrolléiert Weiderleedung duergeet; e VPN an der Mëtt heescht net, datt Transkodéierung néideg ass. Validéiert dann déi tatsächlech Kombinatioun vu Browser a Codec, well eng erreechbar Äntwert an en ënnerstëtzte Format zwee getrennte Konditioune sinn. Halt TLS, Authentifikatioun a Browser-Sécherheetsfuerderunge vun der Quell onverännert — en agebettete Player ass keng Ausnam dovun.

Test d’Kette, net d’URL

Féiert d’Kontrollen aus deem Bestanddeel aus, deen tatsächlech all Ufro mécht, a behandelt all Schrëtt als säin eegene Resultat:

curl -s http://10.5.5.9:8080/live/stream.m3u8
curl -s -o /dev/null -w '%{http_code}\n' http://10.5.5.9:8080/live/segment-000123.ts

Widderhëlt et dann am Browser vum Zuschauer selwer mam geduechte Stream, net mat engem Testmuster vun Ärem Schreifdësch. D’Luede vun der Säit, d’Luede vun der Playlist, d’Siche vum Segment an e Feeler bei der Autorisatioun sinn véier verschidde Resultater, an Dir wëllt all véier gesinn hunn, ier Dir et als gefléckt bezeechent. Installéiert keen veralteten Browser-Plugin, well en ale Beispill esou ee Stream gespillt huet; de fehlenden Deel ass meeschtens de Wee vum Zuschauer oder d’net ënnerschriwwen URL vum Segment.

Wann d’Opstelle bewosst ass, schreift se an enger Zeil op: wien d’Medien hëlt, iwwer wéi ee Wee, a wat den Zuschauer dierf ufroen. Dee Saz entscheet déi meescht zukünfteg Diskussiounen driwwer, fir wien de Stream wierklech geduecht ass.

Ähnlech Artikelen