YouTube लाइव स्ट्रीमिंग एपीआई के बारे में खास जानकारी

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

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

यह दस्तावेज़ उन डेवलपर के लिए है जिन्हें YouTube पर लाइव ब्रॉडकास्ट करने के लिए ऐप्लिकेशन लिखना है. इसमें YouTube और एपीआई के मूल सिद्धांत बताए गए हैं. इसमें एपीआई के साथ काम करने वाले अलग-अलग फ़ंक्शन की खास जानकारी भी दी गई है.

मुख्य सिद्धांत

ब्रॉडकास्ट
ब्रॉडकास्ट किसी ऐसे इवेंट को दिखाता है जिसे YouTube पर उसी समय देखा जा सकता है, जब वह होता है. ब्रॉडकास्ट को YouTube वीडियो के तौर पर रिकॉर्ड और सेव भी किया जा सकता है, ताकि लोग वीडियो होने के बाद उन्हें देख सकें.
स्ट्रीम
स्ट्रीम की मदद से, YouTube पर बताए जा रहे ऑडियो वीडियो की पहचान की जाती है. हर ब्रॉडकास्ट एक वीडियो स्ट्रीम से जुड़ा होता है.
क्यूपॉइंट
क्यूपॉइंट, विज्ञापन के लिए ब्रेक को दिखाता है. इसे लाइव ब्रॉडकास्ट में जोड़ा जा सकता है.

एपीआई के इस्तेमाल के उदाहरण

नीचे दी गई सूची में बताया गया है कि एपीआई का इस्तेमाल कैसे किया जा सकता है:

  • ब्रॉडकास्ट शेड्यूल करें और ब्रॉडकास्ट की सेटिंग तय करें. आपके ऐप्लिकेशन से उपयोगकर्ता ब्रॉडकास्ट सेटिंग को पहले से तय कर सकते हैं. इसके बाद, वे सेटिंग चुन सकते हैं जो किसी खास ब्रॉडकास्ट पर लागू होती हैं.

  • वीडियो स्ट्रीम और ब्रॉडकास्ट को जोड़ें.

  • ब्रॉडकास्ट करने वालों को, ब्रॉडकास्ट और उसके वीडियो (YouTube Data API का इस्तेमाल करके) के बारे में जानकारी देने की सुविधा एक साथ चालू करें.

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

शुरू करने से पहले

  1. Google API Console को ऐक्सेस करने, एपीआई कुंजी का अनुरोध करने, और अपना ऐप्लिकेशन रजिस्टर करने के लिए, आपके पास Google खाता होना ज़रूरी है.

  2. Google में अपना ऐप्लिकेशन रजिस्टर करें, ताकि वह एपीआई अनुरोध सबमिट कर सके.

  3. अपना आवेदन रजिस्टर करने के बाद, आपका ऐप्लिकेशन जिन सेवाओं का इस्तेमाल करता है उनमें से किसी एक के तौर पर YouTube Data API को चुनें:

    1. API Console पर जाएं और अभी-अभी रजिस्टर किया गया प्रोजेक्ट चुनें.
    2. एपीआई को चालू करने वाले पेज पर जाएं. एपीआई की सूची में, पक्का करें कि YouTube डेटा एपीआई v3 के लिए स्थिति चालू हो. अगर आप YouTube कॉन्टेंट पार्टनर हैं, तो YouTube Content ID एपीआई भी यही स्थिति है.

  4. JSON (JavaScript ऑब्जेक्ट नोटेशन) डेटा फ़ॉर्मैट के मुख्य कॉन्सेप्ट के बारे में जानें. JSON एक सामान्य, भाषा-स्वतंत्र डेटा फ़ॉर्मैट है, जो आर्बिट्रेरी डेटा स्ट्रक्चर को आसान टेक्स्ट में दिखाता है. ज़्यादा जानकारी के लिए, json.org देखें.

एपीआई अनुरोधों को अनुमति देना

जैसा कि ऊपर बताया गया है, 'लाइव स्ट्रीमिंग एपीआई' उस सुविधा का इस्तेमाल करता है जो तकनीकी रूप से YouTube डेटा एपीआई या YouTube Content ID एपीआई का हिस्सा है. YouTube को अपनी एसेट के मेटाडेटा, मालिकाना हक से जुड़ी जानकारी, और नीति से जुड़ी जानकारी देने के लिए, Content ID API का इस्तेमाल किया जा सकता है. (लाइव वीडियो ब्रॉडकास्ट, एसेट का एक उदाहरण है.) एपीआई की मदद से, वीडियो पर दावा किया जा सकता है. साथ ही, वीडियो के लिए विज्ञापन नीतियां सेट की जा सकती हैं.

इस सेक्शन में, Content ID API को मिलने वाले अनुरोधों के लिए अनुमति लेने की ज़रूरी शर्तों के बारे में बताया गया है. ये अनुरोध, Live Streaming API से जुड़े अन्य अनुरोधों को अनुमति देने की ज़रूरी शर्तों से अलग होते हैं.

Data API को कॉल किया जा रहा है
एपीआई अनुरोध को उस Google खाते से मंज़ूरी मिली होनी चाहिए जिसके पास ब्रॉडकास्ट करने वाले YouTube चैनल का मालिकाना हक है.
Content ID API को कॉल किया जा रहा है
एपीआई अनुरोध को उस Google खाते से मंज़ूरी मिली होनी चाहिए जो ब्रॉडकास्टिंग YouTube चैनल के मालिक, कॉन्टेंट के मालिक से जुड़ा है.

रिसॉर्स और रिसॉर्स टाइप

रिसॉर्स, एक यूनीक आइडेंटिफ़ायर के साथ निजी डेटा इकाई होती है. इस टेबल में उन अलग-अलग तरह के संसाधनों के बारे में बताया गया है जिनके साथ आप Live Streaming API का इस्तेमाल करके इंटरैक्ट करेंगे. तकनीकी तौर पर, इन सभी रिसॉर्स को YouTube Data API या YouTube Content ID API के हिस्से के तौर पर शामिल किया गया है. हालांकि, liveBroadcast, liveStream, और cuepoint रिसॉर्स का इस्तेमाल, सिर्फ़ लाइव इवेंट बनाने और मैनेज करने के लिए किया जाता है.

रिसॉर्स
liveBroadcast इसमें उस इवेंट के बारे में जानकारी होती है जिसे आप YouTube पर ब्रॉडकास्ट कर रहे/रही हैं. liveBroadcast रिसॉर्स, YouTube वीडियो रिसॉर्स का एक्सटेंशन है. यह वीडियो मेटाडेटा को सेट करता है, जो किसी लाइव ब्रॉडकास्ट से जुड़ा हो, लेकिन YouTube के अन्य वीडियो के लिए नहीं.

इसलिए, liveBroadcast का रिसॉर्स YouTube के सिर्फ़ एक संसाधन से मेल खाता है. असल में, liveBroadcast रिसॉर्स और video रिसॉर्स का आईडी एक ही होता है. लाइव स्ट्रीमिंग एपीआई का इस्तेमाल करके, ब्रॉडकास्ट बनाने के बाद, वीडियो के बारे में ज़्यादा मेटाडेटा देने के लिए, YouTube Data API का इस्तेमाल किया जा सकता है.
liveStream इसमें उस वीडियो स्ट्रीम की जानकारी शामिल है जिसे YouTube पर शेयर किया जा रहा है. स्ट्रीम में ऐसा कॉन्टेंट होगा जिसे YouTube के उपयोगकर्ताओं को ब्रॉडकास्ट किया जाएगा. बनाने के बाद, liveStream संसाधन को सिर्फ़ एक liveBroadcast संसाधन से जोड़ा जा सकता है. इसी तरह, liveBroadcast संसाधन को सिर्फ़ एक liveStream संसाधन से जोड़ा जा सकता है.
cuepoint ब्रॉडकास्ट वीडियो स्ट्रीम में एक क्यूपॉइंट डालता है. इससे विज्ञापन के लिए ब्रेक ट्रिगर हो सकता है. ब्रॉडकास्ट के दौरान क्यूपॉइंट डालने के लिए, liveBroadcasts.cuepoint तरीके का इस्तेमाल करें.
video यह टैग एक ही YouTube वीडियो को दिखाता है. जैसा कि ऊपर बताया गया है, liveBroadcast संसाधन, video संसाधन का एक्सटेंशन है. YouTube Data API का इस्तेमाल, वीडियो के मेटाडेटा को अपडेट करने के लिए किया जा सकता है. उदाहरण के लिए, रिकॉर्डिंग की जगह या वे क्षेत्र जहां ब्रॉडकास्ट किया जा सकता है.
videoAdvertisingOptions किसी वीडियो (या ब्रॉडकास्ट) के लिए विज्ञापन की सेटिंग के बारे में बताता है. विज्ञापन के विकल्प सेट करने के लिए, YouTube Content ID API का इस्तेमाल किया जाता है.
asset यहां किसी फ़िल्म या शो के एपिसोड जैसी बौद्धिक संपत्ति की जानकारी होती है. इस मामले में, ब्रॉडकास्ट वीडियो ही एसेट होता है. आप YouTube Content ID API का इस्तेमाल asset संसाधन बनाने और प्रबंधित करने के लिए करेंगे.
claim वीडियो को वीडियो से मिलते-जुलते एसेट से लिंक करता है. आप YouTube Content ID API का इस्तेमाल करके, खुद को ब्रॉडकास्ट वीडियो के मालिक के तौर पर पेश करने के लिए दावा करते हैं.
policy इससे उन नियमों के बारे में पता चलता है जिनमें खास तौर पर आपके वीडियो को YouTube पर दिखने या ब्लॉक करने की सुविधा होती है. आपको अपने प्रसारण वीडियो पर एक नीति लागू करनी होगी. साथ ही, आपके पास यह भी तय करने की सुविधा है कि YouTube आपके ब्रॉडकास्ट वीडियो से मिलते-जुलते उन वीडियो पर भी लागू होगा या नहीं जिन्हें उपयोगकर्ता ने अपलोड किया है.

इस्तेमाल की जा सकने वाली कार्रवाइयां

इस टेबल में, एपीआई के साथ काम करने वाले अलग-अलग तरीके बताए गए हैं:

ऑपरेशंस
list शून्य या ज़्यादा संसाधनों की सूची (GET) मिलती है.
insert नया संसाधन (POST) बनाता है.
update आपके अनुरोध में डेटा को दिखाने के लिए, मौजूदा संसाधन (PUT) में बदलाव करता है.
bind liveStream रिसॉर्स वाले liveBroadcast रिसॉर्स को लिंक करता है या ऐसा लिंक हटा देता है.
transition liveBroadcast संसाधन का स्टेटस बदलता है और नए स्टेटस से जुड़े सभी प्रोसेस शुरू करता है. उदाहरण के लिए, जब आप ब्रॉडकास्ट का स्टेटस testing पर स्विच करते हैं, तो YouTube उस ब्रॉडकास्ट की मॉनिटर स्ट्रीम पर वीडियो शेयर करना शुरू कर देता है.
delete किसी खास रिसॉर्स को हटाता है (DELETE).

नीचे दी गई टेबल में अलग-अलग तरह के संसाधनों के लिए इस्तेमाल की जा सकने वाली कार्रवाइयों की पहचान की गई है. संसाधनों को डालने, अपडेट करने या मिटाने वाले कामों के लिए हमेशा उपयोगकर्ता की अनुमति की ज़रूरत होती है. कुछ मामलों में, list के तरीकों से अनुमति वाले और बिना अनुमति वाले, दोनों तरह के अनुरोध स्वीकार किए जाते हैं. इन अनुरोधों में सिर्फ़ सार्वजनिक डेटा को फिर से हासिल किया जाता है. हालांकि, अनुमति वाले अनुरोधों से ऐसी जानकारी भी फिर से पाई जा सकती है जो सिर्फ़ पुष्टि किए गए उपयोगकर्ता के लिए होती है.

काम करने वाले ऑपरेशन
list insert update bind transition cuepoint delete
लाइव ब्रॉडकास्ट
लाइव स्ट्रीम

सीमित संसाधन

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

किसी भी एपीआई अनुरोध के लिए part पैरामीटर एक ज़रूरी पैरामीटर है. यह YouTube Data API रिसॉर्स को वापस या रिटर्न करता है. पैरामीटर, एक या उससे ज़्यादा टॉप लेवल (नेस्ट न की गई) रिसॉर्स प्रॉपर्टी की पहचान करता है, जिन्हें एपीआई रिस्पॉन्स में शामिल किया जाना चाहिए. उदाहरण के लिए, liveStream संसाधन में ये हिस्से होते हैं:

  • snippet
  • cdn
  • status

ये सभी भाग, नेस्ट किए गए प्रॉपर्टी वाली ऑब्जेक्ट हैं. आप इन ऑब्जेक्ट को मेटाडेटा फ़ील्ड के ग्रुप की तरह मान सकते हैं, जो एपीआई सर्वर हासिल कर सकता है या नहीं कर सकता है. इसलिए, part पैरामीटर के लिए आपको वे संसाधन घटक चुनने होंगे, जिनका उपयोग आपका ऐप्लिकेशन वास्तव में करता है. इस शर्त को पूरा करने के दो मुख्य मकसद हैं:

  • यह एपीआई सर्वर को ऐसे एपीआई फ़ील्ड वापस पाने में समय लगने से रोकता है जिनका इस्तेमाल आपका ऐप्लिकेशन नहीं करता.
  • यह आपके ऐप्लिकेशन को वापस पाने वाले गैर-ज़रूरी डेटा को कम करके (या खत्म करके) बैंडविड्थ के इस्तेमाल को कम करता है.

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

सलाह और सबसे सही तरीके

अपने वीडियो पर दावा करना

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

आपके लाइव ब्रॉडकास्ट वीडियो पर दावा करने की प्रोसेस, वीडियो पर दावा करने की सामान्य प्रोसेस से अलग है. लाइव वीडियो पर दावा करते समय, आपको दावा करना होगा कि वीडियो वाकई में मौजूद है. एपीआई इसमें काम करता है और ब्रॉडकास्ट की अवधि के दस्तावेज़ में, YouTube Content ID API की उन कॉल के बारे में बताया जाता है जिनकी मदद से दावा किया जा सकता है.

अपने कॉन्टेंट की झलक देखना और उसकी जांच करना

आपका इनबाउंड वीडियो स्ट्रीम मिलने पर, YouTube उस वीडियो को दो अलग-अलग आउटबाउंड स्ट्रीम पर ब्रॉडकास्ट कर सकता है:

  • मॉनिटर स्ट्रीम से अपने वीडियो ब्रॉडकास्ट की झलक देखी जा सकती है और उसकी जांच की जा सकती है. यह एक निजी स्ट्रीम है, जिसे सिर्फ़ आप ऐक्सेस कर सकते हैं. अगर प्रसारण की मॉनिटर स्ट्रीम चालू है, तो ही आप प्रसारण को testing फ़ेज़ में बदल सकते हैं. मॉनिटर स्ट्रीम, विज्ञापन के लिए ब्रेक नहीं दिखाती है.

  • ब्रॉडकास्ट स्ट्रीम वह स्ट्रीम होती है जो आपके दर्शकों को दिखती है. ब्रॉडकास्ट की निजता स्थिति को public, private या unlisted पर सेट किया जा सकता है. (एक निजी प्रसारण केवल उन उपयोगकर्ताओं को दिखाई देता है, जिन्हें इसे देखने के लिए स्पष्ट रूप से आमंत्रित किया गया है, जबकि असूचीबद्ध प्रसारण उन सभी लोगों को दिखाई देता है, जिनके पास इसे देखने का लिंक होता है.)

    आप ब्रॉडकास्ट स्ट्रीम को देरी से चुन सकते हैं ताकि वह मॉनिटर स्ट्रीम के साथ-साथ न चले. ब्रॉडकास्ट स्ट्रीम में देरी करने से, आपके पास ब्रॉडकास्ट में क्यूपॉइंट डालने का ज़्यादा कंट्रोल होता है.

    हालांकि, ब्रॉडकास्ट स्ट्रीम को चलाने में देरी होने पर, लाइव प्रज़ेंटर आपके लिए दर्शक के साथ इंटरैक्ट नहीं कर पाते. इसके अलावा, प्रसारण में देरी होने पर दर्शकों को आपके प्रसारण के अलावा दूसरे स्रोतों से इवेंट की मुख्य जानकारी मिलने की संभावना बढ़ जाती है. उदाहरण के लिए, अगर किसी खेल के इवेंट को 60 सेकंड की देरी से ब्रॉडकास्ट किया जा रहा है, तो दर्शक उस इवेंट के अहम पलों को रीयल-टाइम में अन्य सोर्स से ब्रॉडकास्ट करके देख सकते हैं.

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

ब्रॉडकास्ट स्ट्रीम के दौरान मिड-रोल विज्ञापन चलाना

ब्रॉडकास्ट के दौरान, एक क्यूपॉइंट डाला जा सकता है. इससे यह पता चलता है कि विज्ञापन का ब्रेक, ब्रॉडकास्ट में जल्द से जल्द या किसी तय समय पर शुरू होना चाहिए. विज्ञापन के लिए ब्रेक की मदद से, YouTube ब्रॉडकास्ट के दौरान विज्ञापन दिखा सकता है.

विज्ञापन के लिए ये खास बातें नीचे दी गई हैं:

  1. इसकी तय समयसीमा पहले से तय होती है. इसे cuepoint संसाधन की durationSecs प्रॉपर्टी का इस्तेमाल करके सेट किया जाता है. विज्ञापन के लिए ब्रेक की अवधि खत्म होने के बाद, दर्शक लाइव ब्रॉडकास्ट पर वापस आ जाते हैं.

  2. विज्ञापन चलने के दौरान, वीडियो प्लेयर में विज्ञापन सिर्फ़ उन दर्शकों के लिए चलता है जो क्यूपॉइंट डाले जाने के बाद ब्रॉडकास्ट देख रहे होते हैं. विज्ञापन तब नहीं दिखाया जाता, जब दर्शक उस पेज को रीफ़्रेश करते हैं जहां ब्रॉडकास्ट चल रहा है या जब दर्शक क्यूपॉइंट डालने के बाद ब्रॉडकास्ट देखना शुरू करते हैं.

नीचे दिए गए क्रम, ब्रॉडकास्ट के दौरान विज्ञापन के लिए ब्रेक डालने का सबसे सही तरीका बताते हैं:

समय ऑफ़सेट सेट करें

क्यूपॉइंट डालते समय, आप यह तय कर सकते हैं कि उसे तुरंत डालना है या उसे ब्रॉडकास्ट के किसी खास समय पर डालना चाहिए. आपके विकल्प इस बात पर निर्भर करते हैं कि आपके वीडियो को ब्रॉडकास्ट स्ट्रीम करने में देरी हो रही है या नहीं.

  • अगर आपकी ब्रॉडकास्ट स्ट्रीम देर से जाती है, तो आप क्यूपॉइंट तुरंत लगा सकते हैं या walltimeMs प्रॉपर्टी का इस्तेमाल करके, विज्ञापन को किसी खास समय पर शुरू कर सकते हैं.

    • विज्ञापन के लिए ब्रेक तुरंत शुरू करने के लिए, liveBroadcasts.cuepoint के तरीके पर कॉल करें. रिसॉर्स के अनुरोध में, insertionOffsetTimeMs प्रॉपर्टी की वैल्यू 0 पर सेट करें या इस प्रॉपर्टी के लिए कोई वैल्यू तय न करें और walltimeMs प्रॉपर्टी के लिए कोई वैल्यू तय न करें.

      अहम जानकारी: ध्यान दें कि व्यूअर को, विज्ञापन में शामिल कॉन्टेंट तुरंत नहीं दिखता. उपयोगकर्ताओं को विज्ञापन का कॉन्टेंट दिखने में करीब 30 सेकंड लग सकते हैं. इस दौरान, आपके स्ट्रीम की जानकारी आपके दर्शकों को दिखेगी. साथ ही, आपको यह पता लगाने के लिए ब्रॉडकास्ट स्ट्रीम को देखना होगा कि मॉनिटर के बजाय, विज्ञापन का कॉन्टेंट असल में कब दिखेगा.

    • किसी खास समय पर विज्ञापन के लिए ब्रेक शुरू करने के लिए, liveBroadcasts.cuepoint तरीके को कॉल करें और अपने हिसाब से समय तय करने के लिए walltimeMs प्रॉपर्टी का इस्तेमाल करें. प्रॉपर्टी की वैल्यू, एक इंटेजर टाइमस्टैंप दिखाने वाली पूरी संख्या होती है.

  • अगर आपका ब्रॉडकास्ट स्ट्रीम देर से चलता है, तो ऊपर बताए गए तरीके से तुरंत क्यूपॉइंट डालें. इसके अलावा, ऊपर बताए गए तरीके से घड़ी का समय भी सेट किया जा सकता है या विज्ञापन के शुरू होने का समय तय करने के लिए समय ऑफ़सेट तय किया जा सकता है. समय ऑफ़सेट आपके प्रसारण में एक बिंदु बताता है, जब दर्शकों को कोई विज्ञापन देखना चाहिए.

    आपके ब्रॉडकास्ट के लिए मॉनिटर स्ट्रीम की शुरुआत से ऑफ़सेट वैल्यू को मिलीसेकंड में मापा जाता है. ध्यान दें कि अगर आपके ब्रॉडकास्ट का कोई टेस्ट चरण है, तो जब आपके ब्रॉडकास्ट का testing स्टेटस में ट्रांज़िशन किया जाता है, तब मॉनिटर स्ट्रीम शुरू हो जाती है. ऐसा न होने पर, आपका ब्रॉडकास्ट तब शुरू होता है, जब आपका ब्रॉडकास्ट live स्टेटस में बदल जाता है.

    क्यूपॉइंट डालते समय, cuepoint रिसॉर्स की insertionOffsetTimeMs प्रॉपर्टी को मनचाहे ऑफ़सेट पर सेट करें.

टाइम ऑफ़सेट की वैल्यू कैलकुलेट करना

ऑफ़सेट मान फिर से पाने के लिए, मॉनिटर स्ट्रीम चलाने वाले प्लेयर के लिए YouTube प्लेयर API के getCurrentTime फ़ंक्शन को कॉल करें. उस समय ब्रॉडकास्ट स्ट्रीम में क्यूपॉइंट डालने के लिए, वापस पाई गई वैल्यू का इस्तेमाल करें.

ऑफ़सेट समय की संभावित वैल्यू को इस रेंज के हिसाब से कैलकुलेट किया जा सकता है:

[(elapsed_time - broadcast_delay + Δ), (elapsed_time - Δ)]

Δ की मदद से, संभावित टाइम ऑफ़सेट की शुरुआत और आखिर में पांच सेकंड का बफ़र रखा जाता है. ऐसा तब होता है, जब YouTube क्यूपॉइंट बिलकुल नहीं डाल सकता. उदाहरण के लिए:

  • ब्रॉडकास्ट का परीक्षण पांच मिनट का होता है.
  • ब्रॉडकास्ट स्ट्रीम, मॉनिटर स्ट्रीम के 60 सेकंड बाद खत्म हो जाती है.
  • ब्रॉडकास्ट करने वाले व्यक्ति को, live की स्थिति पर स्विच करने के चार मिनट बाद, क्यूपॉइंट मोड शुरू करना होगा. (यह ब्रॉडकास्ट स्ट्रीम दिखने के तीन मिनट बाद है.)

इस मामले में, ऑफ़सेट समय की संभावित सीमा [(485,000), (535,000)] है.

ये समय मिलीसेकंड में बताए जाते हैं और इनका हिसाब नीचे दिए गए मानों का इस्तेमाल करके लगाया जाता है:

  • elapsed_time=540000liveBroadcasts.cuepoint तरीके को कॉल करने पर, मॉनिटर स्ट्रीम नौ मिनट (540 सेकंड, 540000 मिलीसेकंड) तक चलती है.
  • broadcast_delay=60000 – ब्रॉडकास्ट स्ट्रीम 60 सेकंड या 60, 000 मिलीसेकंड की देरी से उपलब्ध है.
  • Δ=5000 – क्यूपॉइंट के भरोसेमंद होने पर पांच-सेकंड का बफ़र.

समस्या का हल और गड़बड़ी को ठीक करना

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

  • जब ब्रॉडकास्ट का स्टेटस स्टेटस से किसी दूसरे स्टेटस में बदलता है, तो हो सकता है कि उसे कुछ समय के लिए अन्य स्टेटस असाइन कर दिया जाए. हालांकि, YouTube उस ट्रांज़िशन से जुड़ी कार्रवाइयां पूरी कर सकता है. उदाहरण के लिए, अगर आप liveBroadcasts.transition के ब्रॉडकास्ट की स्थिति को ready से testing में बदलने का अनुरोध भेजते हैं, तो YouTube ब्रॉडकास्ट की स्थिति को testStarting पर सेट कर देगा और फिर स्थिति में बदलाव से जुड़ी कार्रवाइयों को पूरा करेगा. जब ये सभी कार्रवाइयां पूरी हो जाएंगी, तो YouTube ब्रॉडकास्ट का स्टेटस, testing में अपडेट कर देगा. इससे, यह बताया जाएगा कि ट्रांज़िशन पूरा हो गया है.

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

    जैसा कि liveBroadcasts.transition तरीके के दस्तावेज़ में बताया गया है, इस तरीके को कॉल करने से पहले, आपको यह पुष्टि करनी होगी कि आपके प्रसारण से जुड़ी स्ट्रीम के लिए status.streamStatus प्रॉपर्टी की वैल्यू active है.