आरटीएमपीएस का इस्तेमाल करके, YouTube पर लाइव कॉन्टेंट डिलीवर करना

इस दस्तावेज़ में, एन्कोडर से YouTube पर लाइव डेटा स्ट्रीम करने के लिए, RTMPS का इस्तेमाल करने का तरीका बताया गया है. RTMPS, एक सामान्य आरटीएमपी (रीयलटाइम मैसेजिंग प्रोटोकॉल) वीडियो स्ट्रीम है. इसे एसएसएल कनेक्शन के ज़रिए टनल किया जाता है. यह दस्तावेज़, एन्कोडर बनाने वाली उन कंपनियों के लिए है जो आरटीएमपी के साथ काम करने वाले एन्कोडर में आरटीएमपीएस की सुविधा जोड़ना चाहती हैं.

RTMPS, उपयोगकर्ता के ज़्यादातर सामान्य कॉन्टेंट के लिए एक अच्छा विकल्प है. खास तौर पर, तब जब कम इंतज़ार के समय की ज़रूरत हो. YouTube लाइव स्ट्रीमिंग के साथ काम करने वाले अलग-अलग डेटा डालने के प्रोटोकॉल की खास जानकारी पाने के लिए, डेटा डालने के प्रोटोकॉल की तुलना देखें.

ज़रूरी शर्तें

YouTube लाइव पर आरटीएमपीएस से डेटा डालने के लिए, कुछ ज़रूरी शर्तें पूरी करनी होंगी:

  • कनेक्शन यूआरएल (<protocol>://<server>/<path>) का हर हिस्सा सही होना चाहिए:
    • प्रोटोकॉल rtmps होना चाहिए.
    • सर्वर, YouTube का मान्य आरटीएमपीएस इंजेक्शन एंडपॉइंट होना चाहिए.
    • पाथ, YouTube लाइव आरटीएमपी ऐप्लिकेशन का मान्य नाम होना चाहिए.
  • कनेक्शन, डेटा ट्रांसफ़र करने वाले सर्वर पर पोर्ट 443 से होना चाहिए.
  • मल्टीमीडिया स्ट्रीम को आरटीएमपीएस के साथ भेजा जाना चाहिए. इसका मतलब है कि एसएसएल कनेक्शन पर आरटीएमपी का इस्तेमाल करके.

कनेक्शन का यूआरएल पाना

अगर आपका एन्कोडर पहले से ही YouTube Live API का इस्तेमाल करता है, तो आरटीएमपीएस से डेटा डालने का यूआरएल पाने की प्रोसेस, आरटीएमपी से डेटा डालने का यूआरएल पाने की प्रोसेस जैसी ही है. नई इनजेशन स्ट्रीम बनाने के लिए, LiveStreams insert (POST) अनुरोध भेजें. जवाब में, cdn.ingestionInfo.rtmpsIngestionAddress फ़ील्ड में आरटीएमपीएस यूआरएल की जानकारी दी जाती है. अगर आपको ड्यूअल इंजेक्शन की सुविधा चाहिए, तो बैकअप पता cdn.ingestionInfo.rtmpsBackupIngestionAddress है.

कनेक्शन बनाया जा रहा है

अपनी पसंदीदा सॉकेट लाइब्रेरी का इस्तेमाल करके, पोर्ट 443 पर एसएसएल/टीएलएस कनेक्शन बनाएं. यह कनेक्शन, डेटा डालने के लिए इस्तेमाल किए जाने वाले यूआरएल में बताए गए सर्वर पर बनाया जाना चाहिए. टीएलएस सिर्फ़ ट्रांसपोर्ट लेयर के साथ काम करता है. इसलिए, कनेक्शन शुरू करने के लिए सर्वर होस्टनेम की ज़रूरत नहीं होती. हालांकि, हमारे सर्वर से पुष्टि करने के लिए इसकी ज़रूरत होती है. इसलिए, पक्का करें कि आपने अपने एसएसएल हैंडशेक में एसएनआई एक्सटेंशन (सर्वर नेम इंडिकेशन) जोड़ा हो. साथ ही, सर्वर का नाम उस सर्वर होस्टनेम पर सेट करें जिससे आपको कनेक्ट करना है.

एसएसएल कनेक्शन सेट अप होने के बाद, इसे अपनी आरटीएमपी क्लाइंट लाइब्रेरी के कनेक्शन के तौर पर इस्तेमाल करें. शुरू किए गए एसएसएल कनेक्शन में, स्टैंडर्ड टीसीपी कनेक्शन के जैसा ही एपीआई होता है. इसलिए, RTMP लाइब्रेरी को दोनों के साथ एक जैसा काम करना चाहिए.

समस्या का हल

एसएसएल से जुड़ी गड़बड़ियां

अगर एसएसएल कनेक्शन बनाने की कोशिश करने पर आपको अमान्य सर्टिफ़िकेट मिलता है, तो हो सकता है कि आप किसी ऐसे YouTube सर्वर से कनेक्ट कर रहे हों जो आरटीएमपी का इस्तेमाल करता है. पक्का करें कि इस्तेमाल किए जा रहे सर्वर के नाम में "rtmps" शामिल हो. "s" पर ध्यान दें.

अगर यूआरएल सही होने के बावजूद आपको एसएसएल से जुड़ी गड़बड़ी दिखती है, तो हो सकता है कि आपने गलत पोर्ट कनेक्ट किया हो. पुष्टि करें कि आपने पोर्ट 443 से कनेक्ट किया है.

अगर यूआरएल और पोर्ट सही हैं, तो हो सकता है कि आपकी एसएसएल लाइब्रेरी, सर्टिफ़िकेट को सही तरीके से मैनेज न कर रही हो. एसएसएल से जुड़ी गड़बड़ियों के बारे में, कम लेवल के डाइग्नोस्टिक मैसेज देखें. साथ ही, दोबारा जांच करें कि हैंडशेक में एसएनआई का इस्तेमाल किया जा रहा हो.

कनेक्शन का समय खत्म होना

अगर सर्वर से कनेक्ट किया जा सकता है, लेकिन आपकी आरटीएमपी लाइब्रेरी को सही जवाब मिले बिना ही टाइम आउट हो जाता है, तो हो सकता है कि आपने YouTube के किसी ऐसे सर्वर के लिए क्लियर टेक्स्ट आरटीएमपी कनेक्शन सेट अप किया हो जो आरटीएमपीएस का इस्तेमाल करता है. पक्का करें कि आपने एसएसएल कनेक्शन बनाया हो, न कि सादा टीसीपी कनेक्शन.