Kuchapisha mtiririko wa kamera: RTSP na HLS si ukingo mmoja
Udhibiti wa kipindi wa RTSP na usambazaji wa HLS huhitaji ukingo tofauti wa umma, hata zote mbili zikifikia kamera moja kupitia VPN. Chagua mfano wa mtazamaji kwanza.
Unafungua bandari moja ya kamera, unaelekeza kichezaji kwake na unadhani tatizo la mtandao limetatuliwa. Kisha simu haiwezi kuicheza, kivinjari hakiwezi kuicheza, na ukurasa wa usimamizi wa kamera uko umbali wa njia moja iliyoandikwa vibaya kutoka ukingo wa umma. Mfano wa usambazaji uliouchagua, RTSP au HLS, huamua sehemu kubwa ya hayo kabla ya kanuni yoyote ya ngome ya moto kuandikwa. VPN hutoa tu sehemu ya faragha.
VPN hurekebisha njia ya chanzo, si njia ya mtazamaji
VPS iliyounganishwa na LAN ya kamera kupitia handaki inaweza kufikia kamera kwa anwani yake ya faragha, na hilo lina faida kweli. Inamaanisha kamera haitaji bandari yake ya kuingia na kipanga njia cha nyumbani kinabaki kimefungwa. Hilo halikwambii mtazamaji atazungumza lugha gani. Kichezaji cha kompyuta, kivinjari, simu na televisheni janja husaidia itifaki tofauti, na kila kimoja kina matarajio yake kuhusu TLS, uthibitishaji na kodeki.
Hapa ni dhana inayofaa kuachwa: kuchapisha kwa kudhaniwa kunamaanisha kufanya chanzo kifikike. Kuchapisha kwa kweli kunamaanisha kuwapa watazamaji waliobainishwa njia inayoungwa mkono ya kutumia midia. Mtiririko uliochapishwa una muundo, watazamaji na kitambulisho; kamera inayofikika haina chochote kati ya hivyo. Ufikikaji ni sehemu ambayo handaki hutatua, na kiingilio cha mtazamaji ni sehemu ambayo bado unapaswa kuibuni.
RTSP ni majadiliano, si bandari moja
RTSP hubeba udhibiti wa kipindi: mteja huomba maelezo, huweka njia moja au zaidi za midia kisha hucheza. Usafirishaji wa midia yenyewe hujadiliwa wakati wa usanidi huo, ndiyo sababu itifaki haielezewi vizuri na bandari moja ya TCP iliyopelekwa. Majadiliano hayo ni sehemu ambayo watu huikosa wanapolinganisha kanuni za ngome ya moto.
Kulingana na vituo, RTP inaweza kufika kwenye bandari tofauti za UDP au kusukwa kwenye muunganisho wa udhibiti. Relay inayopeleka tu 554 na kudhani kuwa mengine yatafanya kazi kwa kawaida huzalisha kipindi kinachounganisha, kinachoripoti wimbo mmoja na kisha hakuonyeshi chochote. Angalia usafirishaji ambao kamera yako inajadili kweli kabla ya kuandika kanuni zake. Ukamataji upande wa faragha hujibu hilo kwa dakika moja, na kukisia hugharimu jioni moja.
Kwa watazamaji wachache wanaojulikana wenye vichezaji vinavyopatana, relay ya RTSP iliyosanidiwa kwa makusudi inaweza kuwa jibu sahihi. Weka kikomo cha chanzo inachoweza kuvuta na dai uthibitishaji kwenye relay. Andika vichezaji ulivyojaribu, kwa sababu mtiririko wa RTSP unaofanya kazi katika VLC bado unaweza kushindwa kwenye kivinjari.
HLS ni orodha ya uchezaji pamoja na rasilimali
Mtazamaji wa HLS huchukua orodha ya uchezaji, kisha huchukua sehemu za midia ambazo orodha hiyo inazitaja. Vipimo vya HLS hufafanua mtindo huo wa rasilimali, na maelezo muhimu ya uendeshaji ni kwamba orodha za uchezaji hurejelea URL nyingine. Marejeleo ya jamaa hutatuliwa kwa kuzingatia mahali orodha iko, kwa hivyo proksi inayobadilisha njia lazima izibadilishe kwa uthabiti.
Ikiwa kamera tayari inatoa HLS inayoweza kutumika, frontend ya umma inaweza kupeleka maombi hayo ya orodha na sehemu kupitia handaki. Angalia funguo, uelekezaji upya na URL zinazozalishwa na programu. URL yoyote kamili inayoelekea mwenyeji wa faragha huvunjika mara moja mtazamaji aliye nje ya LAN anapoiendea. Njia za jamaa ndizo zinazostahimili uandikaji upya wa proksi, kwa hivyo zipendelee popote unapodhibiti pato linalozalishwa.
Ikiwa kamera huzungumza RTSP pekee, kitu lazima kibadilishe chanzo kuelekea muundo wa mtazamaji. Ufungashaji upya na ubadilishaji msimbo ni kazi tofauti: ufungashaji upya huhifadhi kodeki, wakati ubadilishaji msimbo huikodi upya kwa upatani, na wa pili pekee hutumia CPU nyingi. Hakuna kinachokuwa cha lazima kwa sababu tu VPN iko kwenye njia.
Panga kiungo cha juu kulingana na mahali usambazaji unafanyika. Uingizaji mmoja wa faragha unaolisha huduma ya midia ya umma hutenda tofauti kabisa na kila mtazamaji anayevuta mtiririko wake mwenyewe kupitia handaki. Mfano wa pili kwa kawaida huishia kwenye muunganisho wa nyumbani uliojaa na kamera inayoonekana kushindwa kwa bahati nasibu.
Weka uthibitishaji kwenye ukingo unaouchapisha
TLS, uthibitishaji wa watazamaji na uandikaji wa ufikiaji ni vya kiingilio cha umma, si vya kamera. Hii huweka kitambulisho cha kamera mbali na kitambulisho cha mtiririko. Pia inakupa mahali pamoja pa kubatilisha ufikiaji mwanachama wa watazamaji anapotoka. Kuweka vidhibiti hivyo kwenye kamera badala yake kunamaanisha kila mabadiliko ya watazamaji yanakuwa mabadiliko ya kiutawala kwenye kifaa ambacho hakipaswi kufikika na umma kamwe.
Weka VPN na ruhusa za usimamizi wa kamera mbali na njia ya uchapishaji. VPS inayoweza kufikia kiolesura cha wavuti cha kamera kuvuta mtiririko haipaswi pia kuwa mashine inayofichua kiolesura hicho. Watazamaji hawapaswi kujua anwani ya kamera kamwe.
Kisha thibitisha ncha mbili ulizojenga kweli badala ya kudhani mnyororo unafanya kazi:
$ ffprobe -v error -rtsp_transport tcp rtsp://10.50.0.9:554/stream1
$ curl -sI https://stream.example.net/live/index.m3u8
HTTP/2 200
content-type: application/vnd.apple.mpegurl
Uchunguzi uliofanikiwa wa chanzo cha faragha na upataji uliofanikiwa wa orodha kwenye ukingo wa umma huthibitisha nusu tofauti za muundo. Zifanyie majaribio kivyake. Uchezaji kutoka kwa aina hiyo hiyo ya mteja ambayo watazamaji wako hutumia ni jaribio pekee linaloshughulikia mnyororo mzima.
Unachomaliza nacho ni mnyororo wenye madhumuni katika kila kiungo: chanzo cha faragha, uingizaji uliozuiliwa, ufungashaji uliochaguliwa, kiingilio cha mtazamaji kilichoidhinishwa. Hakuna kiungo kati ya hivyo kilicho cha hiari, na hakuna kinachoundwa kwa kufungua bandari.