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

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

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

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

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

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

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

नीचे दी गई सूची, आपके ऐप्लिकेशन में API का इस्तेमाल करने के कई तरीके बताती है:

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

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

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

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

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

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

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

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

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

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

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

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

इस सेक्शन में, 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 यह किसी बौद्धिक संपत्ति के बारे में बताता है. जैसे, कोई फ़िल्म या शो का एपिसोड. इस मामले में, ब्रॉडकास्ट वीडियो ही ऐसेट है. asset संसाधन बनाने और उन्हें मैनेज करने के लिए, YouTube Content ID API का इस्तेमाल किया जा सकता है.
claim वीडियो को किसी ऐसे ऐसेट से लिंक करता है जिससे वीडियो मेल खाता है. ब्रॉडकास्ट वीडियो के मालिक के तौर पर अपनी पहचान की पुष्टि करने के लिए, YouTube Content ID API का इस्तेमाल करके दावा किया जाता है.
policy इससे उन नियमों के बारे में पता चलता है जिनके तहत आपको अपना कॉन्टेंट YouTube पर दिखाने या उसे YouTube पर दिखने से रोकना है. आपको अपने ब्रॉडकास्ट वीडियो पर एक नीति लागू करनी होगी. साथ ही, आप एक नीति भी तय कर सकते हैं जिसे YouTube, उपयोगकर्ता के अपलोड किए गए उन वीडियो पर लागू करेगा जिनका मिलान आपके ब्रॉडकास्ट वीडियो से होता है.

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

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

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

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

इस्तेमाल की जा सकने वाली कार्रवाइयां
list insert update bind transition cuepoint delete
liveBroadcast
liveStream

सीमित संसाधन

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

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

  • snippet
  • cdn
  • status

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

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

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

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

अपने कॉन्टेंट पर दावा करना

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

लाइव ब्रॉडकास्ट वीडियो पर दावा करने की प्रोसेस, वीडियो पर दावा करने की सामान्य प्रक्रिया से अलग होती है. लाइव वीडियो पर दावा करते समय, वीडियो के असल में मौजूद होने से पहले आपको अपना दावा करना होगा. एपीआई इसके साथ काम करता है और ब्रॉडकास्ट की अवधि से जुड़ा दस्तावेज़, 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 प्रॉपर्टी का इस्तेमाल करें. प्रॉपर्टी की वैल्यू एक पूर्णांक होती है, जो epoch टाइमस्टैंप.

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

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

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

समय ऑफ़सेट मान की गणना करना

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

ऑफ़सेट समय के लिए संभावित वैल्यू का हिसाब, नीचे दिए गए रेंज से लगाया जा सकता है:

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

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

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

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

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

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

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

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

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

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

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