మీ ప్రైవేట్ HLS స్ట్రీమ్ మీ వీక్షకుల కోసం కాదు, మీ కోసమే లోడ్ అవుతుంది
మీ సర్వర్ కెమెరాను చేరుకోగలుగుతుంది కాబట్టి పేజీ లోడ్ అవుతుంది; బ్రౌజర్ ఇప్పటికీ ప్లేలిస్ట్ను తెస్తుంది. అభ్యర్థన ఎవరు చేస్తారో నిర్ణయించి, ఆపై గొలుసును పరీక్షించండి.
మీరు ల్యాప్టాప్లో పేజీని పరీక్షిస్తారు, ప్లేయర్ ప్రారంభమవుతుంది, టికెట్ మూసివేయబడుతుంది. ఆవలి వైపు ఉన్న వీక్షకుడు అదే పేజీని తెరిచి ఎప్పటికీ ముగియని తిరిగే సూచికను పొందుతాడు. సాధారణ వివరణ VPN సర్వర్లో ఉంది కాబట్టి ప్లేబ్యాక్ పని చేయాలి అని ఉంటుంది — కానీ ప్లేలిస్ట్ను అడిగే భాగం బ్రౌజర్, మరియు దానికి దాని సొంత నెట్వర్క్ మార్గం ఉంది. ప్రైవేట్ యాక్సెస్ ఉన్న సర్వర్లో పొందుపరిచిన పేజీ ఆ యాక్సెస్ను దానిని లోడ్ చేసే ఎవరికీ అప్పుగా ఇవ్వదు.
ఇది http://10.5.5.9:8080/live/stream.m3u8 వంటి HLS మూలాన్ని ప్లే చేసే ఇప్పటికే ఉన్న ASP.NET పేజీ గురించి; ఇది వివరణాత్మక ప్రైవేట్ చిరునామా. రెండు అమరికలు పని చేస్తాయి; వాటిలో ఒకటి బహుశా మీరు నిర్మించినది కాదు.
అపోహ: లోడ్ అయ్యే పేజీ మీడియా మార్గాన్ని నిరూపిస్తుంది
ఆ పేజీ HTML మీ వెబ్ సర్వర్ నుండి, మీ వెబ్ సర్వర్కు ఉన్న ఏ మార్గం ద్వారానైనా వస్తుంది. ప్లేలిస్ట్ మరియు సెగ్మెంట్లు మీడియా మూలం నుండి, అభ్యర్థన చేసే భాగానికి ఉన్న ఏ మార్గం ద్వారానైనా వస్తాయి. ప్లేయర్ వీక్షకుడి బ్రౌజర్లో నడిచినప్పుడు ఇవి రెండు వేర్వేరు క్లయింట్లు, రెండు వేర్వేరు మూల చిరునామాలు మరియు తరచుగా రెండు వేర్వేరు వైఫల్య ప్రాంతాలు. మొదటిది విజయవంతం కావడం చూడటం రెండవది గురించి ఏమీ చెప్పదు.
మీ పరీక్ష వాస్తవానికి నిరూపించినది కనిపించినదానికంటే చాలా సన్ననిది: మీ యంత్రం ఒకేసారి పబ్లిక్ పేజీని మరియు ప్రైవేట్ మీడియా హోస్ట్ను చేరుకోగలదు. వీక్షకుడి యంత్రం ఎప్పుడూ ప్రయోగంలో భాగం కాలేదు.
ప్లేలిస్ట్ తర్వాత ఏమి అడుగుతుంది
RFC 8216 సెగ్మెంట్లను జాబితా చేసే మీడియా ప్లేలిస్ట్లను, ఇతర ప్లేలిస్ట్లను జాబితా చేసే మాస్టర్ ప్లేలిస్ట్ల నుండి వేరు చేస్తుంది, మరియు సాపేక్ష URIలను అవి ఉన్న ప్లేలిస్ట్ URIకి సంబంధించి పరిష్కరిస్తుంది. ప్రజలు దాటవేసే భాగం ఆ నియమమే. ఒక .m3u8 ఫైల్ను విజయవంతంగా తెచ్చుకోవడం ప్లేబ్యాక్ పరీక్ష కాదు, ఎందుకంటే తెచ్చుకున్న ఫైల్ సూచిక, మీడియా కాదు.
ప్లేయర్ చేసినట్లే గొలుసును అనుసరించండి: ఎంచుకున్న ప్లేలిస్ట్ను తెరవండి, తర్వాత అది పేర్కొనే వనరులను అడగండి, తర్వాత ఏదైనా మళ్లింపును అనుసరించండి. చేరుకోగల వెబ్ సర్వర్ ద్వారా అందించే ప్లేలిస్ట్ కూడా వీక్షకుడిని చేరుకోలేని ప్రైవేట్ చిరునామాకు పంపగలదు. అలాగే, సాపేక్ష ప్లేలిస్ట్ను మరో URLకు తరలించడం దాని నమోదులు పరిష్కరించబడే ఆధారాన్ని మారుస్తుంది, అందుకే మొదటి కనిపించే URLను తిరిగి రాసి అక్కడే ఆగడం సాధారణంగా చెల్లుబాటు అయినట్లు కనిపించే కానీ ప్లే చేయలేని ప్లేలిస్ట్ను ఉత్పత్తి చేస్తుంది.
నేరుగా వీక్షణ: వీక్షకుడికి మార్గం అవసరం
వీక్షకులు మీడియా హోస్ట్ను నేరుగా చేరుకోవాల్సి ఉంటే, వారి పరికరాలకు ఆమోదించిన VPN లేదా మరో ప్రైవేట్ మార్గం, మీరు నిజంగా ఉపయోగించిన పేర్లను పరిష్కరించే DNS, ఆ గమ్యస్థానాలను చేరుకోవడానికి అనుమతి, మరియు మీడియా సేవ కోరే ఏదైనా ప్రామాణీకరణ అవసరం. ప్రతిదీ సర్వర్లో కాదు, వీక్షకుడి పరికరంలో తనిఖీ చేయండి. VPN ప్రొఫైల్ ఇన్స్టాల్ అయి కానీ కనెక్ట్ కాని ఫోన్లోని బ్రౌజర్ సాధారణ మరియు పూర్తిగా పునరుత్పత్తి చేయగల వైఫల్యం.
ఈ అమరిక మూలాన్ని ప్రైవేట్గా ఉంచి యాక్సెస్ అవసరాన్ని ప్రేక్షకులపైకి నెట్టివేస్తుంది. ఇది సాంకేతికమైనంతగానే విధాన నిర్ణయం, కాబట్టి దాని చుట్టూ రూపకల్పన చేయడానికి ముందు ప్రతి లక్ష్య వీక్షకుడికి ఆ మార్గాన్ని కలిగి ఉండే అనుమతి ఉందని నిర్ధారించుకోండి.
సర్వర్ వైపు పంపిణీ: ఒక నియంత్రిత ప్రవేశ బిందువు
ప్రత్యామ్నాయం ఏమిటంటే, మూలాన్ని తన ప్రైవేట్ మార్గం ద్వారా తెచ్చుకుని వీక్షకుడి వైపు ఉన్న వనరులను మాత్రమే తిరిగి ప్రచురించే అధికారం పొందిన మీడియా ఫ్రంటెండ్. ప్లేలిస్ట్, సెగ్మెంట్లు మరియు ఏదైనా కీ వనరులను ఆ ఒకే ప్రవేశ బిందువుతో సుసంగతంగా ఉంచండి, లేకపోతే ప్లేయర్ తిరిగి రాసిన ప్లేలిస్ట్ను ఫ్రంటెండ్ ద్వారా, సెగ్మెంట్లను వీక్షకుడు చేరుకోలేని చిరునామా నుండి నేరుగా తెస్తుంది.
ఆ ఫ్రంటెండ్లో మూలాన్ని మరియు అనుమతించిన మార్గాలను పరిమితం చేయండి. వినియోగదారు ఇచ్చిన ఏకపక్ష URL ఉపయోగకరమైన ప్రాక్సీని మీ అంతర్గత నెట్వర్క్ యొక్క అపరిమిత తెచ్చుకునేదిగా మారుస్తుంది, ఇది ప్లే కాని స్ట్రీమ్ కంటే చాలా ఘోరమైన సమస్య. స్ట్రింగ్ను తర్వాత ధృవీకరించడానికి బదులు మూలాన్ని మరియు మార్గ ఉపసర్గను అనుమతి జాబితాలో పెట్టండి.
ఇప్పటికే ఉన్న HLS మూలం కోసం, మొదట నియంత్రిత ఫార్వార్డింగ్ సరిపోతుందో లేదో తనిఖీ చేయండి; మధ్యలో VPN ఉండటం ట్రాన్స్కోడింగ్ అవసరమని అర్థం కాదు. తర్వాత వాస్తవ బ్రౌజర్ మరియు కోడెక్ కలయికను ధృవీకరించండి, ఎందుకంటే చేరుకోగల ప్రతిస్పందన మరియు మద్దతు ఉన్న ఫార్మాట్ రెండు వేర్వేరు షరతులు. మూలం యొక్క TLS, ప్రామాణీకరణ మరియు బ్రౌజర్ భద్రతా అవసరాలను అలాగే ఉంచండి — పొందుపరిచిన ప్లేయర్ వాటికి మినహాయింపు కాదు.
URL కాదు, గొలుసును పరీక్షించండి
ప్రతి అభ్యర్థనను నిజంగా చేసే భాగం నుండి తనిఖీలను నడపండి, మరియు ప్రతి దశను దాని స్వంత ఫలితంగా పరిగణించండి:
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తర్వాత దానిని వీక్షకుడి సొంత బ్రౌజర్లో ఉద్దేశించిన స్ట్రీమ్తో పునరావృతం చేయండి, మీ బల్ల నుండి తీసుకున్న పరీక్షా నమూనాతో కాదు. పేజీ లోడ్, ప్లేలిస్ట్ లోడ్, సెగ్మెంట్ తెచ్చుకోవడం మరియు అధికార వైఫల్యం నాలుగు వేర్వేరు ఫలితాలు, మరియు సరిచేయబడింది అని చెప్పే ముందు నాలుగూ చూసి ఉండాలని మీరు కోరుకుంటారు. పాత ఉదాహరణ ఒక స్ట్రీమ్ను అలా ప్లే చేసిందని పాత బ్రౌజర్ ప్లగిన్ను ఇన్స్టాల్ చేయవద్దు; తప్పిపోయిన భాగం సాధారణంగా వీక్షకుడి మార్గం లేదా సంతకం చేయని సెగ్మెంట్ URL.
అమరిక ఉద్దేశపూర్వకంగా మారిన తర్వాత దానిని ఒక వరుసలో రాయండి: మీడియాను ఎవరు తెస్తారు, ఏ మార్గం ద్వారా, మరియు వీక్షకుడు ఏమి అడగడానికి అనుమతి ఉంది. ఆ వాక్యం స్ట్రీమ్ నిజంగా ఎవరి కోసమో అనే భవిష్యత్ చర్చలలో చాలా వాటిని పరిష్కరిస్తుంది.