Títẹ̀jáde ìṣàn láti kamẹra: RTSP àti HLS kì í ṣe etí kan
Ìṣàkóso ìpàdé RTSP àti ìfúnpá HLS nílò àwọn etí gbangba ọ̀tọ̀ọ̀tọ̀, àní nígbà tí àwọn méjèèjì bá dé kamẹra kan nípasẹ̀ VPN. Yan àwòrán olùwòran kọ́kọ́.
O ṣí ibudo kamẹra kan, o darí ẹrọ orin kan sí i, o sì ro pe iṣoro íńtánẹ́ẹ̀tì ti yanjú. Lẹ́yìn náà fọ́nù kan kò lè ṣe é, aṣàwákiri kan kò lè ṣe é, ojú-ìwé ìṣàkóso kamẹra náà sì wà ní ọ̀nà kan tí a tẹ̀ ní àṣìṣe péré láti etí gbangba. Àwòrán ìfúnpá tí o yàn, RTSP tàbí HLS, ló pinnu ọ̀pọ̀ jùlọ nínú ìyẹn kí a tó kọ òfin firewall kan pàápàá. VPN ń pèsè apá àdáni nìkan.
VPN ń tún ọ̀nà orísun ṣe, kì í ṣe ọ̀nà olùwòran
VPS tí a so mọ́ LAN kamẹra nípasẹ̀ ihò kan lè dé kamẹra ní àdírẹ́sì àdáni rẹ̀, ìyẹn sì wúlò gan-an. Ó túmọ̀ sí pé kamẹra kò nílò ibudo àbáwọlé tirẹ̀, rọ́útà ilé sì ṣì wà ní ìdì. Ìyẹn kò sọ fún ọ ní èdè tí olùwòran yóò sọ. Ẹrọ orin orí tábìlì, aṣàwákiri, fọ́nù àti tẹlifíṣànọ̀nàgbọ́nún ṣe àtìlẹ́yìn àwọn ìlànà ọ̀tọ̀ọ̀tọ̀, ọ̀kọ̀ọ̀kan sì ní ìfojúsọ́nà rẹ̀ nípa TLS, ìjẹ́rìí àti àwọn codec.
Èyí ni àbá tí ó yẹ kí a kọ̀: ìtẹ̀jáde túmọ̀ sí mímú orísun dé ọ̀nà. Ìtẹ̀jáde gan-an túmọ̀ sí fífún àwọn olùgbọ́ tí a ti pinnu ní ọ̀nà tí a ṣe àtìlẹ́yìn fún láti lo àwòrán náà. Ìṣàn tí a tẹ̀jáde ní àwòrán-ọ̀rọ̀, olùgbọ́ àti ẹ̀rí ìwọlé; kamẹra tí ó dé ọ̀nà kò ní ọ̀kan nínú àwọn náà. Ìdé ọ̀nà ni apá tí ihò ń yanjú, ibi ìwọlé olùwòran sì ni apá tí o ṣì gbọ́dọ̀ ṣe àpẹẹrẹ rẹ̀.
RTSP jẹ́ ìjíròrò, kì í ṣe ibudo kan
RTSP ń gbé ìṣàkóso ìpàdé: oníbàárà béèrè àpèjúwe, ó ṣètò ọ̀nà àwòrán ọ̀kan tàbí jù bẹ́ẹ̀ lọ, lẹ́yìn náà ó ṣeré. Ìgbé àwòrán náà fúnra rẹ̀ ni a ń jíròrò nígbà ìṣètò yẹn, ìdí niyẹn tí ìlànà náà kò fi lè ṣàpèjúwe dáadáa nípasẹ̀ ibudo TCP kan tí a ti gbà kọjá. Ìjíròrò yẹn ni apá tí àwọn ènìyàn ń gbàgbé nígbà tí wọ́n ń fi àwọn òfin firewall wé.
Ní ìbámu pẹ̀lú àwọn ibi ìparí, RTP lè dé lórí àwọn ibudo UDP ọ̀tọ̀ọ̀tọ̀ tàbí kí a hun ún sínú ìsopọ̀ ìṣàkóso. Relay tí ń gbà 554 nìkan kọjá tí ó sì ro pé ìyókù yóò ṣiṣẹ́ máa ń dá ìpàdé tí ó so, tí ó sọ nípa ọ̀nà kan, tí kò sì fi nǹkan kan hàn. Ṣàyẹ̀wò ìgbé tí kamẹra rẹ gbà jíròrò gan-an kí o tó kọ àwọn òfin fún un. Gbígbà ní ẹ̀gbẹ́ àdáni ń dáhùn èyí ní ìṣẹ́jú kan, ìfojúsọ́nà sì ń ná alẹ́ kan.
Fún olùgbọ́ kékeré tí a mọ̀ tí ó ní àwọn ẹrọ orin tí ó bá a mu, relay RTSP tí a ṣètò pẹ̀lú ìmọ̀ọ́kán lè jẹ́ ìdáhùn tí ó tọ́. Fi ààlà sí orísun tí ó lè fà láti inú rẹ̀, kí o sì béèrè ìjẹ́rìí ní relay. Kọ àwọn ẹrọ orin tí o dán wò sílẹ̀, nítorí ìṣàn RTSP tí ń ṣiṣẹ́ ní VLC lè ṣì kùnà ní aṣàwákiri.
HLS jẹ́ àkójọ orin àti àwọn ohun àmúlò
Olùwòran HLS ń gba àkójọ orin, lẹ́yìn náà ó ń gba àwọn ẹ̀ka àwòrán tí àkójọ yẹn dárúkọ. Àpèjúwe HLS ń ṣàlàyé àwòrán ohun àmúlò yẹn, àkọ́kọ́ ìsọfúnni pàtàkì fún ìṣiṣẹ́ ni pé àwọn àkójọ orin ń tọ́ka sí URL mìíràn. Àwọn ìtọ́kasí ìbámu ni a ń yanjú ní ìbámu pẹ̀lú ibi tí àkójọ orin wà, nítorí náà proxy tí ń tún àwọn ọ̀nà kọ gbọ́dọ̀ tún wọ́n kọ ní ọ̀nà tí ó tẹ̀síwájú.
Tí kamẹra bá ti ń pèsè HLS tí ó wúlò, frontend gbangba lè gbé àwọn ìbéèrè àkójọ orin àti ẹ̀ka náà kọjá larin ihò. Ṣọ́ra fún àwọn kọ́kọ́rọ́, ìdarí àti URL tí ohun èlò náà ń dá. URL pípé èyíkéyìí tí ó tọ́ka sí olùgbàlejò àdáni yóò fọ́ ní ìṣẹ́jú tí olùwòran kan ní ẹ̀yìn LAN bá tẹ̀ lé e. Àwọn ọ̀nà ìbámu ni àwọn tí ó ń yè kúrò nínú àtúntò proxy, nítorí náà fẹ́ràn wọn níbikíbi tí o bá ń ṣàkóso àbájáde tí a dá.
Tí kamẹra bá ń sọ RTSP nìkan, ohun kan gbọ́dọ̀ yí orísun padà sí àwòrán olùwòran. Ìkójọpọ̀ àti ìyípadà kóòdù jẹ́ iṣẹ́ ọ̀tọ̀ọ̀tọ̀: ìkójọpọ̀ ń pa kóòdù mọ́, nígbà tí ìyípadà kóòdù ń tún un kódù fún ìbámu, ìkejì nìkan sì ń ná CPU tí ó pọ̀. Kò sí èyí tí ó di dandan nítorí pé VPN wà ní ọ̀nà nìkan.
Ṣètò ìsopọ̀ ìsọfúnni jáde ní ìbámu pẹ̀lú ibi tí ìpínpin ń ṣẹlẹ̀. Ìgbàwọlé àdáni kan tí ń bọ́ iṣẹ́ àwòrán gbangba ń hùwà yàtọ̀ pátápátá sí olùwòran kọ̀ọ̀kan tí ń fa ìṣàn tirẹ̀ larin ihò. Àwòrán kejì máa ń parí ní ìsopọ̀ ilé tí ó kún àti kamẹra tí ó dàbí pé ó ń kùnà láìsí ìdí.
Fi ìjẹ́rìí sí etí tí o ń tẹ̀jáde
TLS, ìjẹ́rìí olùwòran àti gbígbà àkọsílẹ̀ ìwọlé jẹ́ ti ibi ìwọlé gbangba, kì í ṣe ti kamẹra. Èyí ń pa ẹ̀rí kamẹra mọ́ lọ́tọ̀ kúrò nínú ẹ̀rí ìṣàn. Ó tún fún ọ ní ibi kan láti fagilé ìwọlé nígbà tí ọmọ ẹgbẹ́ olùgbọ́ kan bá lọ. Fífi àwọn ìṣàkóso yẹn sórí kamẹra dípò bẹ́ẹ̀ túmọ̀ sí pé ìyípadà olùgbọ́ kọ̀ọ̀kan di ìyípadà ìṣàkóso lórí ẹ̀rọ tí kò gbọ́dọ̀ dé ọ̀nà ní gbangba rárá.
Pa VPN àti àwọn àṣẹ ìṣàkóso kamẹra mọ́ lọ́tọ̀ kúrò ní ọ̀nà ìtẹ̀jáde. VPS tí ó lè dé ojú-ìwé wẹ́ẹ̀bù kamẹra láti fa ìṣàn kò gbọ́dọ̀ tún jẹ́ ẹ̀rọ tí ń fi ojú-ìwé yẹn hàn. Olùgbọ́ kò gbọ́dọ̀ mọ àdírẹ́sì kamẹra láé.
Lẹ́yìn náà ṣàyẹ̀wò àwọn etí méjì tí o kọ́ gan-an dípò kí o ro pé ẹ̀wọ̀n náà ń ṣiṣẹ́:
$ 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
Ìṣàyẹ̀wò àṣeyọrí orísun àdáni àti gbígbà àkójọ orin àṣeyọrí ní etí gbangba ń fi ìdàméjì ọ̀tọ̀ọ̀tọ̀ ti àpẹẹrẹ hàn. Dán wọn wò lọ́tọ̀ọ̀tọ̀. Ṣíṣeré láti irú oníbàárà kan náà tí olùgbọ́ rẹ ń lò ni ìdánwò kan ṣoṣo tí ó bo gbogbo ẹ̀wọ̀n.
Ohun tí o ń parí pẹ̀lú ni ẹ̀wọ̀n tí ó ní èròngbà ní ìsopọ̀ kọ̀ọ̀kan: orísun àdáni, ìgbàwọlé tí a fi ààlà sí, ìkójọpọ̀ tí a yàn, ìwọlé olùwòran tí a fọwọ́ sí. Kò sí ìsopọ̀ kan nínú wọn tí ó jẹ́ àṣàyàn, kò sì sí èyí tí a dá nípasẹ̀ ṣíṣí ibudo.