RTMPS की मदद से YouTube पर लाइव कॉन्टेंट डिलीवर करना

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

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

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

YouTube लाइव पर RTMPS भेजने के लिए, कुछ शर्तों को पूरा करना ज़रूरी है:

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

कनेक्शन का यूआरएल लोड हो रहा है

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

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

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

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

समस्या हल करना

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

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

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

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

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

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