YouTube Live Streaming API की मदद से, YouTube पर लाइव इवेंट बनाए, अपडेट किए, और मैनेज किए जा सकते हैं. इस एपीआई का इस्तेमाल करके, इवेंट (ब्रॉडकास्ट) शेड्यूल किए जा सकते हैं. साथ ही, उन्हें वीडियो स्ट्रीम से जोड़ा जा सकता है. वीडियो स्ट्रीम, ब्रॉडकास्ट के असल कॉन्टेंट को दिखाती हैं.
Live Streaming API में, YouTube Data API और YouTube Content ID API के कॉम्पोनेंट शामिल होते हैं. Data API की मदद से, YouTube के उपयोगकर्ता अपने YouTube खाते मैनेज कर सकते हैं. वहीं, YouTube Content ID API की मदद से, YouTube के राइट मैनेजमेंट सिस्टम के साथ इंटरैक्ट किया जा सकता है. हालांकि, Live Streaming API के सभी संसाधनों का इस्तेमाल, सिर्फ़ लाइव इवेंट बनाने और उन्हें मैनेज करने के लिए किया जाता है.
यह दस्तावेज़ उन डेवलपर के लिए है जो YouTube पर लाइव ब्रॉडकास्ट करने की सुविधा देने वाले ऐप्लिकेशन बनाना चाहते हैं. इसमें YouTube और एपीआई के बुनियादी कॉन्सेप्ट के बारे में बताया गया है. इसमें एपीआई के काम करने के अलग-अलग तरीकों की खास जानकारी भी दी गई है.
मुख्य सिद्धांत
- ब्रॉडकास्ट
- ब्रॉडकास्ट का मतलब, किसी ऐसे इवेंट से है जिसे YouTube पर लाइव देखा जा सकता है. ब्रॉडकास्ट को रिकॉर्ड करके YouTube वीडियो के तौर पर सेव भी किया जा सकता है, ताकि उपयोगकर्ता उन्हें बाद में देख सकें.
- स्ट्रीम
- स्ट्रीम से, YouTube पर भेजे जा रहे ऑडियो-वीडियो कॉन्टेंट की पहचान होती है. हर ब्रॉडकास्ट, एक वीडियो स्ट्रीम से जुड़ा होता है.
- क्यू पॉइंट
- cuepoint का मतलब, विज्ञापन के लिए ब्रेक से है. इसे लाइव ब्रॉडकास्ट में जोड़ा जा सकता है.
एपीआई के इस्तेमाल के उदाहरण
यहां दी गई सूची में, आपके ऐप्लिकेशन में एपीआई का इस्तेमाल करने के कुछ तरीके बताए गए हैं:
-
ब्रॉडकास्ट शेड्यूल करना और ब्रॉडकास्ट की सेटिंग तय करना. आपका ऐप्लिकेशन, उपयोगकर्ताओं को ब्रॉडकास्ट की सेटिंग पहले से तय करने और फिर किसी खास ब्रॉडकास्ट पर लागू करने की सुविधा दे सकता है.
-
वीडियो स्ट्रीम और ब्रॉडकास्ट को जोड़ना.
-
ब्रॉडकास्टर को एक ही समय पर, ब्रॉडकास्ट और उसके वीडियो के बारे में जानकारी तय करने की सुविधा देना. इसके लिए, YouTube Data API का इस्तेमाल किया जा सकता है.
-
ब्रॉडकास्ट के स्टेटस (उदाहरण के लिए,
testingयाlive) के बीच ट्रांज़िशन को आसान बनाना और उपयोगकर्ताओं को क्यू पॉइंट जोड़ने की सुविधा देना.
शुरू करने से पहले
-
Google खाता होने पर ही आप Google Cloud console को ऐक्सेस कर सकते हैं, एपीआई पासकोड का अनुरोध कर सकते हैं, और अपने ऐप्लिकेशन को रजिस्टर कर सकते हैं.
-
अपने ऐप्लिकेशन को Google के साथ रजिस्टर करें, ताकि वह एपीआई अनुरोध सबमिट कर सके.
-
अपने ऐप्लिकेशन को रजिस्टर करने के बाद, YouTube Data API को उन सेवाओं में से एक के तौर पर चुनें जिनका इस्तेमाल आपका ऐप्लिकेशन करता है:
- Cloud console पर जाएं और उस प्रोजेक्ट को चुनें जिसे आपने अभी रजिस्टर किया है.
- चालू किए गए एपीआई पेज पर जाएं. एपीआई की सूची में, पक्का करें कि YouTube Data API v3 और अगर आप YouTube के कॉन्टेंट पार्टनर हैं, तो YouTube Content ID API के लिए स्टेटस चालू हो.
-
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 को कॉल करना
- एपीआई अनुरोध को, ब्रॉडकास्ट करने वाले YouTube चैनल के मालिक के Google खाते से अनुमति मिलनी चाहिए.
- Content ID API को कॉल करना
- एपीआई के अनुरोध को, ब्रॉडकास्ट करने वाले YouTube चैनल के मालिक के Google खाते से अनुमति मिलनी चाहिए. यह Google खाता, कॉन्टेंट के मालिक के खाते से लिंक होना चाहिए.
संसाधन और संसाधन के टाइप
संसाधन, एक अलग डेटा इकाई होती है. इसका एक यूनीक आइडेंटिफ़ायर होता है. यहां दी गई टेबल में, अलग-अलग तरह के उन संसाधनों के बारे में बताया गया है जिनके साथ इंटरैक्ट करने के लिए,
Live Streaming API का इस्तेमाल किया जाता है. तकनीकी तौर पर, इन सभी संसाधनों को
असल में या तो YouTube Data API
या YouTube Content ID API के हिस्से के तौर पर तय किया जाता है. हालांकि,
liveBroadcast,
liveStream, और
cuepoint संसाधनों का इस्तेमाल,
सिर्फ़ लाइव इवेंट बनाने और उन्हें मैनेज करने के लिए किया जाता है.
| संसाधन | |
|---|---|
liveBroadcast |
इसमें, YouTube पर ब्रॉडकास्ट किए जा रहे किसी इवेंट के बारे में जानकारी होती है. A
liveBroadcast संसाधन, YouTube वीडियो संसाधन का एक्सटेंशन है. यह
वीडियो का मेटाडेटा सेट करता है. यह मेटाडेटा, लाइव ब्रॉडकास्ट के लिए ज़रूरी होता है, लेकिन YouTube के अन्य वीडियो के लिए नहीं.इसलिए, liveBroadcast संसाधन, YouTube के सिर्फ़ एक वीडियो संसाधन से मेल खाता है.
दरअसल, liveBroadcast
संसाधन और video संसाधन का आईडी एक ही होता है. साथ ही, Live Streaming API का इस्तेमाल करके ब्रॉडकास्ट बनाने के बाद, वीडियो के बारे में ज़्यादा मेटाडेटा देने के लिए,
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 पर दिखने से रोका जा सकेगा. आपको अपने ब्रॉडकास्ट वीडियो पर एक नीति लागू करनी होगी. साथ ही, ऐसी नीति भी तय की जा सकती है जिसे 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 संसाधन के ये हिस्से होते हैं:
snippetcdnstatus
ये सभी हिस्से, नेस्टेड प्रॉपर्टी वाले ऑब्जेक्ट होते हैं. इन ऑब्जेक्ट को, मेटाडेटा फ़ील्ड के ऐसे ग्रुप के तौर पर देखा जा सकता है जिन्हें एपीआई सर्वर फ़ेच कर सकता है या नहीं भी कर सकता है. इसलिए, part पैरामीटर के लिए, आपको उन संसाधन कॉम्पोनेंट को चुनना होगा जिनका इस्तेमाल आपका ऐप्लिकेशन असल में करता है. यह शर्त दो अहम मकसद पूरे करती है:
- यह एपीआई सर्वर को उन मेटाडेटा फ़ील्ड को फ़ेच करने में समय खर्च करने से रोककर, इंतज़ार का समय कम करती है जिनका इस्तेमाल आपका ऐप्लिकेशन नहीं करता.
- यह आपके ऐप्लिकेशन के फ़ेच किए जाने वाले गैर-ज़रूरी डेटा की मात्रा को कम करके (या पूरी तरह से हटाकर), बैंडविथ के इस्तेमाल को कम करती है.
समय के साथ, जैसे-जैसे संसाधन ज़्यादा हिस्से जोड़ते हैं, ये फ़ायदे बढ़ते जाएंगे. इसकी वजह यह है कि आपका ऐप्लिकेशन, नई जोड़ी गई उन प्रॉपर्टी का अनुरोध नहीं करेगा जिनके लिए यह सुविधा उपलब्ध नहीं है.
सलाह और सबसे सही तरीके
अपने कॉन्टेंट पर दावा करना
अगर आपको अपने ब्रॉडकास्ट के दौरान विज्ञापन दिखाने हैं, तो इवेंट शुरू होने से पहले, आपको ब्रॉडकास्ट वीडियो पर दावा करना होगा. कॉन्टेंट पर दावा करने के लिए, आपको YouTube के कॉन्टेंट पार्टनर के तौर पर, Content ID प्रोग्राम में हिस्सा लेना होगा.
लाइव ब्रॉडकास्ट वीडियो पर दावा करने की प्रोसेस, किसी वीडियो पर दावा करने की सामान्य प्रोसेस से अलग होती है. लाइव वीडियो पर दावा करने के लिए, आपको वीडियो के असल में मौजूद होने से पहले दावा करना होगा. एपीआई, इसकी अनुमति देता है. साथ ही, ब्रॉडकास्ट दस्तावेज़ की लाइफ़साइकल में, YouTube Content ID API उन कॉल के बारे में बताया गया है जिनकी मदद से, दावा किया जा सकता है.
अपने कॉन्टेंट की झलक देखना और उसकी जांच करना
इनबाउंड वीडियो स्ट्रीम मिलने के बाद, YouTube उस वीडियो को दो अलग-अलग आउटबाउंड स्ट्रीम पर ब्रॉडकास्ट कर सकता है:
-
मॉनिटर स्ट्रीम की मदद से, अपने वीडियो ब्रॉडकास्ट की झलक देखी जा सकती है और उसकी जांच की जा सकती है. यह एक निजी स्ट्रीम होती है. इसे सिर्फ़ आपके लिए ऐक्सेस किया जा सकता है. ब्रॉडकास्ट को
testingफ़ेज़ में सिर्फ़ तब बदला जा सकता है, जब ब्रॉडकास्ट की मॉनिटर स्ट्रीम चालू हो. मॉनिटर स्ट्रीम में, विज्ञापन के लिए ब्रेक नहीं दिखते. -
ब्रॉडकास्ट स्ट्रीम, वह स्ट्रीम होती है जो आपकी ऑडियंस को दिखती है. ब्रॉडकास्ट के लिए, निजता की सेटिंग को
public,privateयाunlistedपर सेट किया जा सकता है. (निजी ब्रॉडकास्ट सिर्फ़ उन उपयोगकर्ताओं को दिखता है जिन्हें इसे देखने का न्योता दिया गया है. वहीं, सबके लिए मौजूद नहीं के तौर पर सेट किया गया ब्रॉडकास्ट, उसे देखने के लिए लिंक पाने वाले किसी भी व्यक्ति को दिख सकता है.)ब्रॉडकास्ट स्ट्रीम में देरी की जा सकती है, ताकि यह मॉनिटर स्ट्रीम के साथ-साथ न चले. ब्रॉडकास्ट स्ट्रीम में देरी करके, ब्रॉडकास्ट में क्यू पॉइंट जोड़ने के समय को ज़्यादा बेहतर तरीके से कंट्रोल किया जा सकता है.
हालांकि, ब्रॉडकास्ट स्ट्रीम में देरी करने से, लाइव प्रज़ेंटर के लिए, दर्शकों के साथ इंटरैक्ट करना मुश्किल हो जाता है. इसके अलावा, ब्रॉडकास्ट में देरी करने से, दर्शकों को इवेंट के बारे में अहम जानकारी, आपके ब्रॉडकास्ट के अलावा अन्य सोर्स से मिलने की संभावना बढ़ जाती है. उदाहरण के लिए, अगर किसी खेल इवेंट को 60 सेकंड की देरी से ब्रॉडकास्ट किया जा रहा है, तो दर्शक, ब्रॉडकास्ट में इवेंट के अहम पलों को देखने से पहले, रीयल-टाइम में खबरें देने वाले अन्य सोर्स से उनके बारे में जान सकते हैं.
YouTube का सुझाव है कि ब्रॉडकास्ट के लिए मॉनिटर स्ट्रीम चालू करें, ताकि अपने कॉन्टेंट की जांच की जा सके. आपको यह तय करना चाहिए कि ब्रॉडकास्ट में देरी करनी है या नहीं. यह इस बात पर निर्भर करता है कि आपको क्यू पॉइंट के समय को कंट्रोल करना है या अपनी ऑडियंस के साथ इंटरैक्ट करना है या किसी इवेंट की रीयल-टाइम कवरेज देनी है.
ब्रॉडकास्ट स्ट्रीम के दौरान, वीडियो के बीच में विज्ञापन दिखाना
ब्रॉडकास्ट के दौरान, cuepoint जोड़ा जा सकता है. इससे यह पता चलता है कि ब्रॉडकास्ट में विज्ञापन के लिए ब्रेक, जल्द से जल्द या किसी तय समय पर शुरू होना चाहिए. विज्ञापन के लिए ब्रेक की मदद से, YouTube, ब्रॉडकास्ट के दौरान वीडियो के बीच में विज्ञापन दिखा सकता है.
विज्ञापन के लिए ब्रेक की ये खासियतें होती हैं:
-
इसकी अवधि पहले से तय होती है. इसे
cuepointसंसाधन कीdurationSecsप्रॉपर्टी का इस्तेमाल करके सेट किया जाता है. विज्ञापन के लिए ब्रेक खत्म होने के बाद, दर्शक लाइव ब्रॉडकास्ट पर वापस आ जाते हैं. -
विज्ञापन के लिए ब्रेक के दौरान, वीडियो प्लेयर में सिर्फ़ उन दर्शकों के लिए विज्ञापन चलता है जो क्यू पॉइंट जोड़े जाने के समय ब्रॉडकास्ट देख रहे होते हैं. जब दर्शक, उस पेज को रीफ़्रेश करते हैं जहां ब्रॉडकास्ट चल रहा है या जब विज़िटर, क्यू पॉइंट जोड़े जाने के बाद ब्रॉडकास्ट देखना शुरू करते हैं, तो विज्ञापन नहीं चलता.
ब्रॉडकास्ट के दौरान, विज्ञापन के लिए ब्रेक जोड़ने का सबसे सही तरीका यहां दिया गया है:
टाइम ऑफ़सेट सेट करना
क्यू पॉइंट जोड़ते समय, यह तय किया जा सकता है कि इसे तुरंत जोड़ा जाना चाहिए या यह ब्रॉडकास्ट में किसी खास जगह पर जोड़ा जाना चाहिए. आपके विकल्प इस बात पर निर्भर करते हैं कि आपके वीडियो के लिए ब्रॉडकास्ट स्ट्रीम में देरी की गई है या नहीं.
-
अगर आपके ब्रॉडकास्ट स्ट्रीम में देरी नहीं की गई है, तो क्यू पॉइंट को तुरंत जोड़ा जा सकता है या
walltimeMsप्रॉपर्टी का इस्तेमाल करके, विज्ञापन के लिए ब्रेक को किसी खास समय पर शुरू किया जा सकता है.-
विज्ञापन के लिए ब्रेक को तुरंत शुरू करने के लिए,
liveBroadcasts.cuepointतरीके को कॉल करें. अनुरोध के मुख्य हिस्से में मौजूद संसाधन में,insertionOffsetTimeMsप्रॉपर्टी की वैल्यू को0पर सेट करें या उस प्रॉपर्टी के लिए कोई वैल्यू तय न करें. साथ ही,walltimeMsप्रॉपर्टी के लिए भी कोई वैल्यू तय न करें.अहम जानकारी: ध्यान दें कि दर्शकों को विज्ञापन का कॉन्टेंट तुरंत नहीं दिखता. उपयोगकर्ताओं को विज्ञापन का कॉन्टेंट दिखने में करीब 30 सेकंड की देरी हो सकती है. इस देरी के दौरान, आपकी ब्रॉडकास्ट स्ट्रीम, दर्शकों को दिखती रहेगी. साथ ही, आपको यह देखने के लिए ब्रॉडकास्ट स्ट्रीम देखनी होगी कि विज्ञापन का कॉन्टेंट, मॉनिटर स्ट्रीम के बजाय कब दिखता है.
-
विज्ञापन के लिए ब्रेक को किसी खास समय पर शुरू करने के लिए,
liveBroadcasts.cuepointतरीके को कॉल करें औरwalltimeMsप्रॉपर्टी का इस्तेमाल करके, मनचाहा समय तय करें. प्रॉपर्टी की वैल्यू, एक ऐसा पूर्णांक होती है जो epoch टाइमस्टैंप को दिखाता है.
-
-
अगर आपके ब्रॉडकास्ट स्ट्रीम में देरी की गई है, तो क्यू पॉइंट को तुरंत जोड़ा जा सकता है. इसके लिए, ऊपर बताए गए तरीके का इस्तेमाल करें. साथ ही, ऊपर बताए गए तरीके से, घड़ी का समय तय किया जा सकता है. इसके अलावा, यह तय करने के लिए कि विज्ञापन के लिए ब्रेक कब शुरू होगा, टाइम ऑफ़सेट तय किया जा सकता है. टाइम ऑफ़सेट, आपके ब्रॉडकास्ट में वह जगह तय करता है जहां दर्शकों को विज्ञापन दिखना चाहिए.
ऑफ़सेट की वैल्यू को, आपके ब्रॉडकास्ट के लिए मॉनिटर स्ट्रीम की शुरुआत से मिलीसेकंड में मापा जाता है. ध्यान दें कि अगर आपके ब्रॉडकास्ट में टेस्टिंग फ़ेज़ है, तो मॉनिटर स्ट्रीम तब शुरू होती है, जब आपका ब्रॉडकास्ट
testingस्टेटस में बदलता है. इसके अलावा, आपकी मॉनिटर स्ट्रीम तब शुरू होती है, जब आपका ब्रॉडकास्टliveस्टेटस में बदलता है.क्यू पॉइंट जोड़ते समय,
cuepointसंसाधन कीinsertionOffsetTimeMsप्रॉपर्टी को, मनचाहे ऑफ़सेट पर सेट करें.
टाइम ऑफ़सेट की वैल्यू कैलकुलेट करना
ऑफ़सेट की वैल्यू फ़ेच करने के लिए, YouTube Player API के getCurrentTime फ़ंक्शन को उस प्लेयर के लिए कॉल करें जो मॉनिटर स्ट्रीम चला रहा है. फ़ेच की गई वैल्यू का इस्तेमाल करके, ब्रॉडकास्ट स्ट्रीम में उस समय क्यू पॉइंट जोड़ें.
ऑफ़सेट टाइम की संभावित वैल्यू को, इस रेंज के तौर पर कैलकुलेट किया जा सकता है:
[(elapsed_time - broadcast_delay + Δ), (elapsed_time - Δ)]
Δ , YouTube के सटीक तौर पर क्यू पॉइंट न जोड़ पाने पर, संभावित टाइम ऑफ़सेट की शुरुआत और आखिर में पांच सेकंड का बफ़र होता है. उदाहरण के लिए:
- किसी ब्रॉडकास्ट में पांच मिनट का टेस्टिंग फ़ेज़ है.
- ब्रॉडकास्ट स्ट्रीम, मॉनिटर स्ट्रीम के 60 सेकंड बाद शुरू होती है.
- ब्रॉडकास्टर, ब्रॉडकास्ट के
liveस्टेटस में बदलने के चार मिनट बाद, क्यू पॉइंट जोड़ रहा है. (यह ब्रॉडकास्ट स्ट्रीम दिखने के तीन मिनट बाद है.)
इस मामले में, ऑफ़सेट टाइम की संभावित रेंज [(485,000), (535,000)] है.
इन समय को मिलीसेकंड में तय किया जाता है. इन्हें इन वैल्यू का इस्तेमाल करके कैलकुलेट किया जाता है:
elapsed_time=540000–liveBroadcasts.cuepointतरीके को कॉल किए जाने पर, मॉनिटर स्ट्रीम नौ मिनट (540 सेकंड, 540000 मिलीसेकंड) तक चल चुकी है.broadcast_delay=60000– ब्रॉडकास्ट स्ट्रीम में 60 सेकंड या 60000 मिलीसेकंड की देरी होती है.Δ=5000– पांच सेकंड का बफ़र, जब क्यू पॉइंट को भरोसेमंद तरीके से नहीं जोड़ा जा सकता.
समस्या हल करना और गड़बड़ी ठीक करना
यहां दिए गए दिशा-निर्देशों में, कुछ खास समस्याओं को हल करने का तरीका बताया गया है. एपीआई के हर तरीके से मिलने वाली गड़बड़ियों की सूची देखने के लिए, YouTube Live Streaming API - गड़बड़ियां लेख पढ़ें.
-
जब कोई ब्रॉडकास्ट एक स्टेटस से दूसरे स्टेटस में बदलता है, तो YouTube, ट्रांज़िशन से जुड़ी कार्रवाइयों को पूरा करने के दौरान, उसे कुछ समय के लिए कोई दूसरा स्टेटस असाइन कर सकता है. उदाहरण के लिए, अगर
liveBroadcasts.transitionका अनुरोध भेजकर, ब्रॉडकास्ट के स्टेटस कोreadyसेtestingमें बदला जाता है, तो YouTube, ब्रॉडकास्ट के स्टेटस कोtestStartingपर सेट करेगा. इसके बाद, स्टेटस में बदलाव से जुड़ी कार्रवाइयों को पूरा करेगा. जब ये सभी कार्रवाइयां पूरी हो जाएंगी, तो YouTube, ब्रॉडकास्ट के स्टेटस कोtestingमें अपडेट करेगा. इससे यह पता चलेगा कि ट्रांज़िशन पूरा हो गया है.अगर कोई ब्रॉडकास्ट,
testStartingयाliveStartingस्टेटस पर अटक जाता है, तो आपकोliveBroadcasts.deleteतरीके को कॉल करके, ब्रॉडकास्ट को मिटाना होगा. इसके बाद, नया ब्रॉडकास्ट बनाएं, उसे अपनी लाइव स्ट्रीम से जोड़ें, और टेस्टिंग की प्रोसेस जारी रखें.liveBroadcasts.transitionतरीके के दस्तावेज़ में बताए गए तरीके के मुताबिक, आपको यह पुष्टि करनी चाहिए कि उस तरीके को कॉल करने से पहले, आपके ब्रॉडकास्ट से जुड़ी स्ट्रीम के लिए,status.streamStatusप्रॉपर्टी की वैल्यूactiveहै.