Il-fluss HLS privat tiegħek jitgħabba għalik, mhux għall-udjenza tiegħek
Il-paġna titgħabba għax is-server tiegħek jasal sal-kamera; il-browser xorta jiġbor il-playlist. Iddeċiedi min jagħmel it-talba, imbagħad iċċekkja l-katina.
Tittestja l-paġna fuq il-laptop tiegħek, il-player jibda, u t-ticket jingħalaq. L-udjenza fit-tarf l-ieħor tiftaħ l-istess paġna u tikseb indikatur li jdur u qatt ma jiġi solvut. L-ispjegazzjoni tas-soltu hija li l-VPN qiegħed fuq is-server, allura d-daqq għandu jaħdem — imma l-browser huwa l-komponent li jitlob il-playlist, u għandu t-triq tan-netwerk tiegħu stess. Paġna inkorporata fuq server b'aċċess privat ma ssellifx dak l-aċċess lil min jgħabbiha.
Dan huwa dwar paġna ASP.NET eżistenti li ddoqq sors HLS bħal http://10.5.5.9:8080/live/stream.m3u8, li huwa indirizz privat illustrattiv. Jaħdmu żewġ arranġamenti; wieħed minnhom probabbilment mhux dak li bnejt.
Mitu: paġna li tgħabba tipprova t-triq tal-midja
L-HTML ta’ dik il-paġna jiġi mis-server web tiegħek, mit-triq li jkollu s-server web tiegħek. Il-playlist u s-segmenti jiġu mis-sors tal-midja, mit-triq li jkollu l-komponent li jagħmel it-talba. Meta l-player jaħdem fil-browser tal-udjenza, dawn huma żewġ klijenti differenti, żewġ indirizzi tas-sors differenti u spiss żewġ oqsma ta’ falliment differenti. Li tara l-ewwel wieħed jirnexxi ma jgħid xejn dwar it-tieni.
Dak li t-test tiegħek fil-fatt ipprova huwa eqreb milli deher: il-magna tiegħek tista’ tilħaq il-paġna pubblika u l-host privat tal-midja fl-istess ħin. Il-magna tal-udjenza qatt ma kienet parti mill-esperiment.
X’jitlob il-playlist wara
RFC 8216 jifred il-playlists tal-midja, li jelenkaw is-segmenti, mill-playlists master, li jelenkaw playlists oħra, u jsolvi l-URI relattivi kontra l-URI tal-playlist li tinkludihom. Dik ir-regola hija l-parti li n-nies jaqbżu. Li ġġib b’suċċess fajl .m3u8 wieħed mhix prova tad-daqq, għax il-fajl li ġibt huwa indiċi, mhux il-midja.
Segwi l-katina kif jagħmel il-player: iftaħ il-playlist magħżula, imbagħad itlob ir-riżorsi li ssemmi, imbagħad segwi kwalunkwe ridirezzjoni. Playlist moqdija permezz ta’ server web aċċessibbli xorta tista’ tibgħat lill-udjenza lejn indirizz privat li ma jintlaħaqx. Bl-istess mod, iċ-ċaqliq ta’ playlist relattiva għal URL ieħor ibiddel il-bażi li kontriha jiġu solvuti l-entrati tagħha, u għalhekk l-iskrittura mill-ġdid tal-ewwel URL li tidher u l-waqfa hemmhekk normalment tipproduċi playlist li tidher valida imma ma tistax tindaqq.
Tqassim dirett: l-udjenza għandha bżonn it-triq
Jekk l-udjenza suppost tilħaq il-host tal-midja direttament, il-mezzi tagħhom għandhom bżonn il-VPN approvat jew triq privata oħra, DNS li jsolvi l-ismijiet li fil-fatt użajt, permess li jilħqu dawk id-destinazzjonijiet, u kwalunkwe awtentikazzjoni li teħtieġ is-servizz tal-midja. Iċċekkja kull waħda fuq il-mezz tal-udjenza u mhux fuq is-server. Browser fuq telefon bil-profil VPN installat imma mhux konness huwa falliment komuni u kompletament riproduċibbli.
Dan l-arranġament iżomm is-sors privat u jimbotta r-rekwiżit tal-aċċess fuq l-udjenza. Hija deċiżjoni ta’ politika daqs kemm hija teknika, allura ikkonferma li kull udjenza maħsuba hija permessa żżomm dik it-triq qabel tiddisinja madwarha.
Twassil mis-server: punt ta’ dħul wieħed ikkontrollat
L-alternattiva hija frontend tal-midja awtorizzat li jiġbor is-sors mit-triq privata tiegħu u jerġa’ jippubblika biss ir-riżorsi li jħares lejhom l-udjenza. Żomm il-playlist, is-segmenti u kwalunkwe riżorsa ewlenija konsistenti ma’ dak il-punt ta’ dħul wieħed, inkella l-player se jiġbor playlist miktuba mill-ġdid permezz tal-frontend u s-segmenti direttament minn indirizz li l-udjenza ma tistax tilħaq.
Illimita s-sors u t-toroq permessi f’dak il-frontend. URL arbitrarju mogħti mill-utent ibiddel proxy utli f’ġibitur bla limitu tan-netwerk intern tiegħek, li hija problema ħafna agħar minn fluss li ma jindaqqx. Poġġi s-sors u l-prefiss tat-triq fuq lista ta’ permessi minflok ma tivvalida l-string wara l-fatt.
Għal sors HLS eżistenti, l-ewwel iċċekkja jekk it-twassil ikkontrollat hux biżżejjed; VPN fin-nofs ma jimplikax li hija meħtieġa transkodifikazzjoni. Imbagħad ivvalida l-kombinazzjoni attwali tal-browser u l-kodek, għax tweġiba aċċessibbli u format appoġġjat huma żewġ kundizzjonijiet separati. Żomm it-TLS, l-awtentikazzjoni u r-rekwiżiti tas-sigurtà tal-browser tas-sors intatti — player inkorporat mhuwiex eżenzjoni minnhom.
Ittestja l-katina, mhux l-URL
Mexxi l-kontrolli mill-komponent li se jagħmel tassew kull talba, u ttratta kull pass bħala r-riżultat tiegħu stess:
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.tsImbagħad erġa’ għamilha fil-browser tal-udjenza stess bil-fluss maħsub, mhux b’mudell tat-test minn fuq l-iskrivanija tiegħek. It-tagħbija tal-paġna, it-tagħbija tal-playlist, il-ġbir tas-segment u falliment ta’ awtorizzazzjoni huma erba’ riżultati distinti, u trid tkun rajt l-erbgħa qabel ma tgħid li ġie ffaċilitat. Tinstallax plugin tal-browser antik għax eżempju qadim daqq hekk fluss wieħed; il-biċċa nieqsa normalment hija t-triq tal-udjenza jew l-URL tas-segment mhux iffirmat.
Ladarba l-arranġament ikun intenzjonat, iktbu f’linja waħda: min jiġbor il-midja, minn liema triq, u x’jista’ jitlob l-udjenza. Dik is-sentenza ssolvi l-biċċa l-kbira tad-dibattiti futuri dwar għal min huwa verament il-fluss.