కెమెరా స్ట్రీమ్ను ప్రచురించడం: RTSP మరియు HLS ఒకే అంచు కాదు
RTSP సెషన్ నియంత్రణ మరియు HLS డెలివరీ వేర్వేరు పబ్లిక్ అంచులను అవసరం చేస్తాయి, రెండూ VPN ద్వారా ఒకే కెమెరాను చేరుకున్నా. మొదట వీక్షక నమూనాను ఎంచుకోండి.
మీరు కెమెరా యొక్క ఒక పోర్టును తెరుస్తారు, దాని వైపు ఒక ప్లేయర్ను చూపిస్తారు, ఇంటర్నెట్ సమస్య పరిష్కారమైందని భావిస్తారు. తర్వాత ఒక ఫోన్ దాన్ని ప్లే చేయలేదు, ఒక బ్రౌజర్ దాన్ని ప్లే చేయలేదు, కెమెరా యొక్క నిర్వహణ పేజీ పబ్లిక్ అంచు నుండి ఒకే ఒక తప్పుగా టైప్ చేసిన మార్గం దూరంలో ఉంటుంది. మీరు ఎంచుకున్న డెలివరీ మోడల్, RTSP లేదా HLS, ఏ ఫైర్వాల్ నియమం రాయబడకముందే దీనిలో ఎక్కువ భాగాన్ని నిర్ణయిస్తుంది. VPN కేవలం ప్రైవేట్ భాగాన్ని అందిస్తుంది.
VPN మూలం మార్గాన్ని సరిచేస్తుంది, వీక్షకుని మార్గాన్ని కాదు
టన్నెల్ ద్వారా కెమెరా ల్యాన్కు కలిపిన VPS కెమెరాను దాని ప్రైవేట్ చిరునామాలో చేరుకోగలదు, ఇది నిజంగా ఉపయోగకరం. దీని అర్థం కెమెరాకు సొంత ఇన్బౌండ్ పోర్టు అవసరం లేదు, ఇంటి రౌటర్ మూసి ఉంటుంది. ఇది వీక్షకుడు ఏ భాష మాట్లాడతారో చెప్పదు. డెస్క్టాప్ ప్లేయర్, బ్రౌజర్, ఫోన్ మరియు స్మార్ట్ టీవీ వేర్వేరు ప్రోటోకాల్లను మద్దతిస్తాయి, ప్రతిదానికీ TLS, ప్రామాణీకరణ మరియు కోడెక్లపై సొంత అంచనాలు ఉన్నాయి.
ఇక్కడ విడిచిపెట్టదగిన ఊహ ఇది: ప్రచురణ అంటే మూలాన్ని చేరుకోగలిగేలా చేయడం. ప్రచురణ నిజానికి ఒక నిర్దిష్ట ప్రేక్షకులకు మీడియాను వినియోగించే మద్దతు పొందిన మార్గాన్ని ఇవ్వడం. ప్రచురిత స్ట్రీమ్కు ఒక ఫార్మాట్, ఒక ప్రేక్షకవర్గం మరియు ఒక క్రెడెన్షియల్ ఉంటాయి; చేరుకోగల కెమెరాకు వీటిలో ఏదీ ఉండదు. చేరుకోగలగడం అనేది టన్నెల్ పరిష్కరించే భాగం, వీక్షకుని ప్రవేశ బిందువు మీరు ఇంకా రూపకల్పన చేయాల్సిన భాగం.
RTSP ఒక బేరసారం, ఒక పోర్టు కాదు
RTSP సెషన్ నియంత్రణను మోసుకెళ్తుంది: క్లయింట్ వివరణను అడుగుతుంది, ఒకటి లేదా అనేక మీడియా ట్రాక్లను ఏర్పాటు చేస్తుంది, తర్వాత ప్లే చేస్తుంది. మీడియా రవాణా ఆ సెటప్ సమయంలోనే బేరసారం చేయబడుతుంది, అందుకే ప్రోటోకాల్ను ఒకే ఒక ఫార్వర్డ్ చేసిన TCP పోర్టుతో బాగా వివరించలేము. ఆ బేరసారమే ఫైర్వాల్ నియమాలను పోల్చేటప్పుడు ప్రజలు మరచిపోయే భాగం.
ఎండ్పాయింట్లను బట్టి RTP వేర్వేరు UDP పోర్టులపై రావచ్చు లేదా నియంత్రణ కనెక్షన్లో అల్లబడి ఉండవచ్చు. 554 మాత్రమే పంపి మిగతాది పనిచేస్తుందని భావించే రిలే సాధారణంగా కనెక్ట్ అయ్యే, ఒక ట్రాక్ను నివేదించే, తర్వాత ఏమీ చూపని సెషన్ను సృష్టిస్తుంది. దానికి నియమాలు రాయకముందే మీ కెమెరా నిజంగా ఏ రవాణాపై బేరసారం చేస్తుందో తనిఖీ చేయండి. ప్రైవేట్ వైపు క్యాప్చర్ ఒక నిమిషంలో దానికి జవాబిస్తుంది, ఊహించడం ఒక సాయంత్రం ఖర్చవుతుంది.
సరిపోయే ప్లేయర్లు ఉన్న చిన్న, తెలిసిన ప్రేక్షకవర్గానికి ఉద్దేశపూర్వకంగా కాన్ఫిగర్ చేసిన RTSP రిలే సరైన సమాధానం కావచ్చు. ఏ మూలం నుండి లాగగలదో పరిమితం చేయండి మరియు రిలేలో ప్రామాణీకరణను కోరండి. మీరు పరీక్షించిన ప్లేయర్లను రాసుకోండి, ఎందుకంటే VLCలో పనిచేసే RTSP స్ట్రీమ్ బ్రౌజర్లో ఇప్పటికీ విఫలం కావచ్చు.
HLS అంటే ప్లేలిస్ట్ మరియు వనరులు
HLS వీక్షకుడు ప్లేలిస్ట్ను తెచ్చుకుంటారు, తర్వాత ఆ ప్లేలిస్ట్ పేర్కొనే మీడియా విభాగాలను తెచ్చుకుంటారు. HLS స్పెసిఫికేషన్ ఆ వనరు నమూనాను నిర్వచిస్తుంది, ముఖ్యమైన కార్యాచరణ వివరం ఏమిటంటే ప్లేలిస్ట్లు ఇతర URLలను సూచిస్తాయి. సాపేక్ష సూచనలు ప్లేలిస్ట్ స్థానానికి సంబంధించి పరిష్కరించబడతాయి, కాబట్టి మార్గాలను తిరిగి రాసే ప్రాక్సీ వాటిని స్థిరంగా తిరిగి రాయాలి.
కెమెరా ఇప్పటికే ఉపయోగపడే HLSను అందిస్తే, ఒక పబ్లిక్ ఫ్రంటెండ్ ఆ ప్లేలిస్ట్ మరియు విభాగ అభ్యర్థనలను టన్నెల్ ద్వారా పంపగలదు. అప్లికేషన్ సృష్టించే కీలు, రీడైరెక్ట్లు మరియు URLలపై శ్రద్ధ వహించండి. ప్రైవేట్ హోస్ట్ను సూచించే ఏదైనా సంపూర్ణ URL ల్యాన్ వెలుపల ఉన్న వీక్షకుడు దాన్ని అనుసరించిన క్షణంలో విరిగిపోతుంది. సాపేక్ష మార్గాలే ప్రాక్సీ మళ్లీ-రాయడం నుండి తప్పించుకునేవి, కాబట్టి మీరు ఉత్పత్తి చేసిన అవుట్పుట్ను నియంత్రించే చోట వాటికి ప్రాధాన్యం ఇవ్వండి.
కెమెరా RTSP మాత్రమే మాట్లాడితే, ఏదో ఒకటి మూలాన్ని వీక్షకుని ఫార్మాట్కు మార్చాలి. రీప్యాకేజింగ్ మరియు ట్రాన్స్కోడింగ్ వేర్వేరు పనులు: రీప్యాకేజింగ్ కోడెక్ను కాపాడుతుంది, ట్రాన్స్కోడింగ్ సరిపోలిక కోసం దాన్ని మళ్లీ ఎన్కోడ్ చేస్తుంది, రెండవది మాత్రమే తీవ్రమైన CPU ఖర్చు చేస్తుంది. మార్గంలో VPN ఉన్నందుకే ఏదీ అవసరం కాదు.
పంపిణీ ఎక్కడ జరుగుతుందో దాన్ని బట్టి అప్లింక్ను ప్రణాళిక చేయండి. ఒక పబ్లిక్ మీడియా సేవకు ఆహారం ఇచ్చే ఒక ప్రైవేట్ ఇన్జెస్ట్, తన స్ట్రీమ్ను టన్నెల్ ద్వారా లాగే ప్రతి వీక్షకుని కంటే పూర్తిగా భిన్నంగా ప్రవర్తిస్తుంది. రెండవ నమూనా సాధారణంగా నిండిన గృహ కనెక్షన్ మరియు యాదృచ్ఛికంగా విఫలమైనట్టు కనిపించే కెమెరాతో ముగుస్తుంది.
ప్రామాణీకరణను మీరు ప్రచురించే అంచుపై ఉంచండి
TLS, వీక్షకుల ప్రామాణీకరణ మరియు యాక్సెస్ లాగింగ్ పబ్లిక్ ప్రవేశ బిందువుకు చెందుతాయి, కెమెరాకు కాదు. ఇది కెమెరా ఆధారాలను స్ట్రీమ్ ఆధారాల నుండి వేరుగా ఉంచుతుంది. ప్రేక్షకవర్గంలోని ఒకరు వెళ్లినప్పుడు యాక్సెస్ను రద్దు చేయడానికి ఒక చోటును కూడా ఇస్తుంది. ఆ నియంత్రణలను కెమెరాపై పెట్టడం అంటే దానికి బదులుగా ప్రేక్షకవర్గ మార్పు ఒకప్పుడూ పబ్లిక్గా చేరుకోకూడని పరికరంపై నిర్వహణ మార్పు అవుతుంది.
VPN మరియు కెమెరా నిర్వహణ అనుమతులను ప్రచురణ మార్గం నుండి వేరుగా ఉంచండి. స్ట్రీమ్ లాగడానికి కెమెరా వెబ్ ఇంటర్ఫేస్ను చేరుకోగల VPS ఆ ఇంటర్ఫేస్ను బయటపెట్టే యంత్రం కూడా కాకూడదు. ప్రేక్షకవర్గం కెమెరా చిరునామాను ఎప్పుడూ తెలుసుకోకూడదు.
తర్వాత గొలుసు పనిచేస్తుందని భావించకుండా మీరు నిజంగా నిర్మించిన రెండు చివరలను ధృవీకరించండి:
$ 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
ప్రైవేట్ మూలం యొక్క విజయవంతమైన పరిశీలన మరియు పబ్లిక్ అంచున ప్లేలిస్ట్ యొక్క విజయవంతమైన సేకరణ రూపకల్పనలోని వేర్వేరు సగాలను నిరూపిస్తాయి. వాటిని విడివిడిగా పరీక్షించండి. మీ ప్రేక్షకవర్గం ఉపయోగించే అదే రకం క్లయింట్ నుండి ప్లేబ్యాక్ మాత్రమే మొత్తం గొలుసును కవర్ చేసే ఏకైక పరీక్ష.
చివరికి ప్రతి కణుపుకు ఒక లక్ష్యం ఉన్న గొలుసు మీ దగ్గర ఉంటుంది: ప్రైవేట్ మూలం, పరిమిత ఇన్జెస్ట్, ఎంపిక చేసిన ప్యాకేజింగ్, అధికారం పొందిన వీక్షక ప్రవేశం. ఆ కణుపుల్లో ఏదీ ఐచ్ఛికం కాదు, ఏదీ పోర్టు తెరవడం ద్వారా ఏర్పడదు.