CORS विफलता को कैसे पहचानें
| जाँच करना | लक्षण | अर्थ |
|---|---|---|
| प्रकट अवरोधित | प्लेबैक प्रारंभ होने से पहले .m3u8 अनुरोध विफल हो जाता है। | मूल को Access-Control-Allow-Origin की आवश्यकता है या खिलाड़ी को प्रॉक्सी की आवश्यकता है। |
| कुंजी अवरुद्ध | मेनिफेस्ट लोड होता है, लेकिन एन्क्रिप्टेड प्लेबैक विफल हो जाता है। | AES-128 कुंजी URL को CORS या उसी प्रॉक्सी के माध्यम से रूट करने की भी अनुमति देनी चाहिए। |
| खंड अवरुद्ध | प्लेबैक शुरू होता है, फिर बफ़र्स या स्टॉल। | प्रत्येक .ts या .m4s सेगमेंट अनुरोध को समान CORS पथ की आवश्यकता होती है। |
| VLC काम करता है, ब्राउज़र विफल हो जाता है | डेस्कटॉप प्लेबैक काम करता है लेकिन वेब प्लेबैक नहीं। | यह आमतौर पर ब्राउज़र CORS समस्या की पुष्टि करता है, टूटी हुई स्ट्रीम की नहीं। |
| उड़ान पूर्व विफल | कस्टम हेडर एक विकल्प अनुरोध को ट्रिगर करते हैं जिसे मूल अस्वीकार करता है। | अनावश्यक हेडर से बचें या विकल्पों को संभालने के लिए प्रॉक्सी/उत्पत्ति को कॉन्फ़िगर करें। |
HLS CORS त्रुटि को कैसे ठीक करें या उसका परीक्षण करें
- 1
जांचें कि मेनिफेस्ट लोड होता है या नहीं
M3U8 URL खोलें या प्लेयर में चिपकाएँ। यदि मेनिफेस्ट अनुरोध CORS द्वारा अवरुद्ध किया गया है, तो प्लेबैक प्रारंभ भी नहीं हो सकता है।
- 2
VLC से तुलना करें
यदि VLC समान URL चला सकता है लेकिन ब्राउज़र नहीं चला सकता है, तो स्ट्रीम संभवतः पहुंच योग्य है और विफलता ब्राउज़र एक्सेस नियंत्रण है।
- 3
स्मार्ट CORS प्रॉक्सी सक्षम करें
प्रॉक्सी को चालू करें ताकि मैनिफ़ेस्ट, एन्क्रिप्शन कुंजियाँ और मीडिया सेगमेंट सभी एक प्रतिक्रिया के माध्यम से यात्रा करें जिसे ब्राउज़र पढ़ सके।
- 4
स्वास्थ्य रिपोर्ट चलाएँ
यह जांचने के लिए प्रॉक्सी के माध्यम से सत्यापनकर्ता का उपयोग करें कि क्या खंड वास्तव में जीवित हैं न कि केवल CORS द्वारा अवरुद्ध किए गए हैं।
- 5
जरूरत पड़ने पर ही Referer जोड़ें
यदि मूल हॉटलिंक सुरक्षा का उपयोग करता है, तो मूल पृष्ठ URL को Referer के रूप में सेट करें। कस्टम हेडर तब तक न जोड़ें जब तक कि मूल को उनकी आवश्यकता न हो।
एक से अधिक URL पर HLS को CORS की आवश्यकता क्यों है
एक HLS प्लेयर केवल एक फ़ाइल नहीं लाता है। यह एक मास्टर मेनिफेस्ट, एक या अधिक मीडिया प्लेलिस्ट, AES-128 स्ट्रीम के लिए एन्क्रिप्शन कुंजी और कई सेगमेंट URLs लाता है। इनमें से किसी भी संसाधन पर एक भी गुम CORS हेडर प्लेबैक को बाधित कर सकता है, इसलिए केवल पहली .m3u8 प्रतिक्रिया का परीक्षण करना पर्याप्त नहीं है।
Access-Control-Allow-Origin को क्या करना चाहिए
सार्वजनिक स्ट्रीम के लिए, मूल खिलाड़ी को होस्ट करने वाली साइट के लिए Access-Control-Allow-Origin भेज सकता है, या क्रेडेंशियल शामिल नहीं होने पर वाइल्डकार्ड का उपयोग कर सकता है। निजी स्ट्रीम के लिए, मूल को लॉक रखें और परीक्षण के लिए नियंत्रित प्रॉक्सी एंडपॉइंट का उपयोग करें। एक ही HLS सत्र में प्रत्यक्ष और प्रॉक्सी URLs को मिलाने से बचें।
डिबगिंग के लिए प्रॉक्सी क्यों उपयोगी है?
एक प्रॉक्सी ब्राउज़र को आपके स्वयं के अनुमत मूल से HLS परिसंपत्तियों का अनुरोध करने देती है जबकि प्रॉक्सी वास्तविक मैनिफ़ेस्ट, कुंजी और खंड URLs प्राप्त करती है। इससे यह बताना संभव हो जाता है कि कोई स्ट्रीम टूटी हुई है या केवल ब्राउज़र नीति द्वारा अवरुद्ध है। जब मूल को उनकी आवश्यकता होती है तो यह आपको Referer या User-Agent जोड़ने के लिए एक स्थान भी देता है।
संबंधित स्ट्रीम डिबगिंग उपकरण
- M3U8 लिंक समस्या निवारण CORS, Referer, डेड सेगमेंट, कोडेक सीमाएं और DRM को कवर करता है।
- कस्टम Referer M3U8 प्लेयर हॉटलिंक-संरक्षित स्ट्रीम की व्याख्या करता है जिन्हें अग्रेषित हेडर की आवश्यकता होती है।
अक्सर पूछे जाने वाले प्रश्नों
HLS CORS त्रुटि का कारण क्या है?
HLS CORS त्रुटि तब होती है जब ब्राउज़र M3U8 मेनिफेस्ट, एन्क्रिप्शन कुंजी, या मीडिया सेगमेंट को नहीं पढ़ सकता क्योंकि मूल ने क्रॉस-ओरिजिन एक्सेस की अनुमति नहीं दी थी। VLC अभी भी स्ट्रीम चला सकता है क्योंकि CORS ब्राउज़र द्वारा लागू किया गया है।
मेरी M3U8 स्ट्रीम VLC में क्यों चलती है लेकिन क्रोम में नहीं?
VLC ब्राउज़र CORS जाँच द्वारा प्रतिबंधित नहीं है। यदि VLC काम करता है और क्रोम विफल हो जाता है, तो स्ट्रीम आमतौर पर पहुंच योग्य होती है, लेकिन ब्राउज़र CORS हेडर या प्रॉक्सी के बिना एक या अधिक HLS अनुरोधों को नहीं पढ़ सकता है।
क्या CORS प्रॉक्सी M3U8 प्लेबैक को ठीक कर सकता है?
हाँ, परीक्षण और डिबगिंग के लिए। प्रॉक्सी को मेनिफेस्ट, मीडिया प्लेलिस्ट, कुंजी और सेगमेंट को रूट करना होगा ताकि प्रत्येक HLS अनुरोध एक मूल से आए जिसे ब्राउज़र को पढ़ने की अनुमति हो।
क्या HLS सेगमेंट को CORS हेडर की आवश्यकता है?
हाँ। मेनिफेस्ट, चाइल्ड प्लेलिस्ट, कुंजियाँ और प्रत्येक मीडिया सेगमेंट को ब्राउज़र द्वारा पढ़ने योग्य होना चाहिए। एक स्ट्रीम विफल हो सकती है, भले ही शीर्ष-स्तरीय .m3u8 फ़ाइल में सही CORS हेडर हों।
क्या यह हॉटलिंक सुरक्षा के समान है?
क्रमांक CORS एक ब्राउज़र एक्सेस नियम है। हॉटलिंक सुरक्षा एक मूल नियम है जिसके लिए विशिष्ट Referer या User-Agent की आवश्यकता हो सकती है। कुछ धाराओं में दोनों समस्याएं हैं, इसलिए आपको प्रॉक्सी और मिलान वाले Referer की आवश्यकता हो सकती है।