LiveBroadcasts

अब एपीआई की मदद से, लाइव ब्रॉडकास्ट को "बच्चों के लिए बना" के तौर पर मार्क किया जा सकता है. साथ ही, liveBroadcast संसाधन में अब एक ऐसी प्रॉपर्टी शामिल है जो उस लाइव ब्रॉडकास्ट के "बच्चों के लिए बना" स्टेटस की पहचान करती है. YouTube API की सेवाओं की शर्तें और डेवलपर के लिए नीतियां भी 10 जनवरी, 2020 को अपडेट की गई थीं. ज़्यादा जानकारी के लिए, YouTube Live Streaming API Service और YouTube API Services की सेवा की शर्तों में हुए बदलावों का इतिहास देखें.

liveBroadcast संसाधन, ऐसे इवेंट को दिखाता है जिसे YouTube पर लाइव वीडियो का इस्तेमाल करके स्ट्रीम किया जाएगा.

तरीके

एपीआई, liveBroadcasts संसाधनों के लिए इन तरीकों का इस्तेमाल करता है:

list
इससे, YouTube पर की गई उन ब्रॉडकास्ट की सूची मिलती है जो एपीआई अनुरोध के पैरामीटर से मेल खाती हैं. इसे अभी आज़माएं.
insert
ब्रॉडकास्ट बनाता है. इसे अभी आज़माएं.
अपडेट करें
ब्रॉडकास्ट को अपडेट करता है. उदाहरण के लिए, liveBroadcast संसाधन के contentDetails ऑब्जेक्ट में तय की गई ब्रॉडकास्ट सेटिंग में बदलाव किया जा सकता है. इसे अभी आज़माएं.
मिटाएं
इस ब्रॉडकास्ट को मिटाता है. इसे अभी आज़माएं.
bind
इस विकल्प का इस्तेमाल करके, YouTube ब्रॉडकास्ट को किसी स्ट्रीम से बाइंड किया जा सकता है. इसके अलावा, ब्रॉडकास्ट और स्ट्रीम के बीच मौजूद बाइंडिंग को हटाया भी जा सकता है. ब्रॉडकास्ट को सिर्फ़ एक वीडियो स्ट्रीम से जोड़ा जा सकता है. हालांकि, एक वीडियो स्ट्रीम को एक से ज़्यादा ब्रॉडकास्ट से जोड़ा जा सकता है. इसे अभी आज़माएं.
transition
यह कुकी, YouTube पर लाइव ब्रॉडकास्ट का स्टेटस बदलती है. साथ ही, नए स्टेटस से जुड़ी प्रोसेस शुरू करती है. उदाहरण के लिए, जब किसी ब्रॉडकास्ट का स्टेटस testing पर सेट किया जाता है, तो YouTube उस ब्रॉडकास्ट की मॉनिटर स्ट्रीम पर वीडियो ट्रांसमिट करना शुरू कर देता है. इस तरीके को कॉल करने से पहले, आपको यह पुष्टि करनी चाहिए कि ब्रॉडकास्ट से जुड़ी स्ट्रीम के लिए status.streamStatus प्रॉपर्टी की वैल्यू active है. इसे अभी आज़माएं.
cuepoint
इस फ़ंक्शन का इस्तेमाल, लाइव ब्रॉडकास्ट में क्यूपॉइंट डालने के लिए किया जाता है. ऐसा हो सकता है कि क्यूपॉइंट से विज्ञापन के लिए ब्रेक ट्रिगर हो जाए.

संसाधन का रेप्रज़ेंटेशन

यहां दिए गए JSON स्ट्रक्चर में, liveBroadcasts रिसॉर्स का फ़ॉर्मैट दिखाया गया है:

{
  "kind": "youtube#liveBroadcast",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "thumbnails": {
      (key): {
        "url": string,
        "width": unsigned integer,
        "height": unsigned integer
      }
    },
    "scheduledStartTime": datetime,
    "scheduledEndTime": datetime,
    "actualStartTime": datetime,
    "actualEndTime": datetime,
    "isDefaultBroadcast": boolean,
    "liveChatId": string
  },
  "status": {
    "lifeCycleStatus": string,
    "privacyStatus": string,
    "recordingStatus": string,
    "madeForKids": string,
    "selfDeclaredMadeForKids": string,
  },
  "contentDetails": {
    "boundStreamId": string,
    "boundStreamLastUpdateTimeMs": datetime,
    "monitorStream": {
      "enableMonitorStream": boolean,
      "broadcastStreamDelayMs": unsigned integer,
      "embedHtml": string
    },
    "enableEmbed": boolean,
    "enableDvr": boolean,
    "recordFromStart": boolean,
    "enableClosedCaptions": boolean,
    "closedCaptionsType": string,
    "projection": string,
    "enableLowLatency": boolean,
    "latencyPreference": boolean,
    "enableAutoStart": boolean,
    "enableAutoStop": boolean,
    "availabilityConfig": {
      "globalConfig": {
        "excludedRegionCodes": [
          string
        ],
        "interval": {
          "startTime": datetime,
          "endTime": datetime
        }
      },
      "regionsConfig": {
        "regionIntervals": [
          {
            "regionCode": string,
            "interval": {
              "startTime": datetime,
              "endTime": datetime
            }
          }
        ]
      }
    }
  },
  "statistics": {
    "totalChatCount": unsigned long
  },
  "monetizationDetails": {
    "adsMonetizationStatus": string,
    "eligibleForAdsMonetization": boolean,
    "cuepointSchedule": {
      "enabled": boolean,
      "pauseAdsUntil": datetime,
      "ytOptimizedCuepointConfig": string,
      "creatorCuepointConfig": {
        "scheduleStrategy": string,
        "repeatIntervalSecs": unsigned integer
      }
    }
  }
}

प्रॉपर्टी

यहां दी गई टेबल में, इस संसाधन में दिखने वाली प्रॉपर्टी के बारे में बताया गया है:

प्रॉपर्टी
kind string
इससे एपीआई संसाधन के टाइप की पहचान होती है. वैल्यू youtube#liveBroadcast होगी.
etag etag
इस संसाधन का ETag.
id string
यह वह आईडी है जो YouTube, ब्रॉडकास्ट की खास तौर पर पहचान करने के लिए असाइन करता है.
snippet object
snippet ऑब्जेक्ट में इवेंट के बारे में बुनियादी जानकारी होती है. जैसे, इवेंट का टाइटल, ब्यौरा, शुरू होने का समय, और खत्म होने का समय.
snippet.publishedAt datetime
वह तारीख और समय जब ब्रॉडकास्ट को YouTube के लाइव ब्रॉडकास्ट शेड्यूल में जोड़ा गया था. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है.
snippet.channelId string
यह वह आईडी है जिसका इस्तेमाल YouTube, ब्रॉडकास्ट पब्लिश करने वाले चैनल की पहचान करने के लिए करता है.
snippet.title string
ब्रॉडकास्ट का टाइटल. ध्यान दें कि ब्रॉडकास्ट, सिर्फ़ एक YouTube वीडियो को दिखाता है. ब्रॉडकास्ट रिसोर्स में बदलाव करके या वीडियो रिसोर्स के title फ़ील्ड को सेट करके, इस फ़ील्ड को सेट किया जा सकता है.
snippet.description string
ब्रॉडकास्ट का ब्यौरा. title की तरह ही, इस फ़ील्ड को ब्रॉडकास्ट रिसॉर्स में बदलाव करके या वीडियो रिसॉर्स के description फ़ील्ड को सेट करके सेट किया जा सकता है.
snippet.thumbnails object
ब्रॉडकास्ट से जुड़ी थंबनेल इमेज का मैप. इस ऑब्जेक्ट में मौजूद हर नेस्ट किए गए ऑब्जेक्ट के लिए, कुंजी थंबनेल इमेज का नाम होती है. साथ ही, वैल्यू एक ऐसा ऑब्जेक्ट होता है जिसमें थंबनेल के बारे में अन्य जानकारी होती है.
snippet.thumbnails.(key) object
कुंजी की मान्य वैल्यू ये हैं:
  • default – डिफ़ॉल्ट थंबनेल इमेज. किसी वीडियो या वीडियो से जुड़े संसाधन (जैसे कि प्लेलिस्ट आइटम या खोज नतीजा) के लिए डिफ़ॉल्ट थंबनेल, 120 पिक्सल चौड़ा और 90 पिक्सल लंबा होता है. किसी चैनल के लिए डिफ़ॉल्ट थंबनेल 88 पिक्सल चौड़ा और 88 पिक्सल लंबा होता है.
  • medium – थंबनेल इमेज का ज़्यादा रिज़ॉल्यूशन वाला वर्शन. किसी वीडियो (या वीडियो का रेफ़रंस देने वाले संसाधन) के लिए, इस इमेज की चौड़ाई 320 पिक्सल और लंबाई 180 पिक्सल होती है. किसी चैनल के लिए, यह इमेज 240 पिक्सल चौड़ी और 240 पिक्सल लंबी होती है.
  • high – थंबनेल इमेज का हाई रिज़ॉल्यूशन वर्शन. किसी वीडियो (या वीडियो का रेफ़रंस देने वाले संसाधन) के लिए, इस इमेज की चौड़ाई 480 पिक्सल और ऊंचाई 360 पिक्सल होती है. किसी चैनल के लिए, यह इमेज 800 पिक्सल चौड़ी और 800 पिक्सल लंबी होती है.
snippet.thumbnails.(key).url string
इमेज का यूआरएल.
snippet.thumbnails.(key).width unsigned integer
इमेज की चौड़ाई.
snippet.thumbnails.(key).height unsigned integer
इमेज की ऊंचाई.
snippet.scheduledStartTime datetime
ब्रॉडकास्ट शुरू होने की तारीख और समय. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है. Creator Studio में, ब्रॉडकास्ट शुरू होने का समय शेड्यूल किए बिना ब्रॉडकास्ट बनाने की सुविधा उपलब्ध है. ऐसे में, चैनल का मालिक जब भी स्ट्रीमिंग शुरू करेगा, तब ब्रॉडकास्ट शुरू हो जाएगा. इन ब्रॉडकास्ट के लिए, datetime वैल्यू, यूनीक्स इपॉक टाइम ज़ीरो के बराबर होती है. इस वैल्यू को एपीआई या Creator Studio का इस्तेमाल करके बदला नहीं जा सकता.
snippet.scheduledEndTime datetime
ब्रॉडकास्ट के खत्म होने की तारीख और समय. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है. अगर किसी liveBroadcast संसाधन के लिए इस प्रॉपर्टी की वैल्यू तय नहीं की जाती है, तो ब्रॉडकास्ट को अनिश्चित समय तक जारी रखने के लिए शेड्यूल किया जाता है. इसी तरह, अगर इस प्रॉपर्टी के लिए कोई वैल्यू नहीं दी जाती है, तो YouTube ब्रॉडकास्ट को ऐसे ट्रीट करता है जैसे यह अनिश्चित काल तक चलेगा.
snippet.actualStartTime datetime
ब्रॉडकास्ट शुरू होने की तारीख और समय. यह जानकारी सिर्फ़ तब उपलब्ध होती है, जब ब्रॉडकास्ट की स्थिति live हो. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है.
snippet.actualEndTime datetime
ब्रॉडकास्ट के असल में खत्म होने की तारीख और समय. यह जानकारी सिर्फ़ तब उपलब्ध होती है, जब ब्रॉडकास्ट की स्थिति complete हो. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है.
snippet.isDefaultBroadcast boolean
इस प्रॉपर्टी को 1 सितंबर, 2020 या इसके बाद बंद कर दिया जाएगा. उस समय, YouTube किसी चैनल के लिए डिफ़ॉल्ट स्ट्रीम और डिफ़ॉल्ट ब्रॉडकास्ट बनाना बंद कर देगा. ऐसा तब होगा, जब चैनल पर लाइव स्ट्रीमिंग की सुविधा चालू होगी. ज़्यादा जानकारी के लिए, हटाए गए टैग और एट्रिब्यूट से जुड़ी सूचना देखें.
इस प्रॉपर्टी से पता चलता है कि यह ब्रॉडकास्ट, डिफ़ॉल्ट ब्रॉडकास्ट है या नहीं.

डिफ़ॉल्ट ब्रॉडकास्ट कैसे काम करते हैं

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

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

बदलने की प्रोसेस पूरी होने के बाद, वीडियो को चैनल पर अपलोड किए गए वीडियो की सूची में शामिल कर दिया जाता है. ब्रॉडकास्ट खत्म होने के तुरंत बाद वीडियो उपलब्ध नहीं होता. वीडियो उपलब्ध होने में लगने वाला समय, ब्रॉडकास्ट की अवधि पर निर्भर करता है.
snippet.liveChatId string
ब्रॉडकास्ट की YouTube लाइव चैट का आईडी. इस आईडी की मदद से, liveChatMessage संसाधन के तरीकों का इस्तेमाल करके, चैट मैसेज वापस लाए जा सकते हैं, डाले जा सकते हैं या मिटाए जा सकते हैं. आपके पास चैट मॉडरेटर जोड़ने या हटाने, उपयोगकर्ताओं को लाइव चैट में हिस्सा लेने से रोकने या मौजूदा पाबंदियां हटाने का विकल्प भी होता है.
status object
status ऑब्जेक्ट में, इवेंट की स्थिति के बारे में जानकारी होती है.
status.lifeCycleStatus string
ब्रॉडकास्ट की स्थिति. एपीआई के liveBroadcasts.transition तरीके का इस्तेमाल करके, स्टेटस को अपडेट किया जा सकता है.

इस प्रॉपर्टी के लिए मान्य वैल्यू ये हैं:
  • complete – ब्रॉडकास्ट खत्म हो गया है.
  • created – ब्रॉडकास्ट की सेटिंग पूरी नहीं हुई हैं. इसलिए, यह live या testing स्टेटस पर ट्रांज़िशन करने के लिए तैयार नहीं है. हालांकि, इसे बनाया गया है और यह अन्य मामलों में मान्य है.
  • live – ब्रॉडकास्ट चालू है.
  • liveStarting – ब्रॉडकास्ट, live स्टेटस पर स्विच हो रहा है.
  • ready – ब्रॉडकास्ट की सेटिंग पूरी हो गई हैं और ब्रॉडकास्ट को live या testing स्टेटस पर ले जाया जा सकता है.
  • revoked – इस ब्रॉडकास्ट को एडमिन ने हटा दिया है.
  • testStarting – ब्रॉडकास्ट, testing स्टेटस पर स्विच हो रहा है.
  • testing – ब्रॉडकास्ट सिर्फ़ पार्टनर को दिखता है.
status.privacyStatus string
ब्रॉडकास्ट की निजता की स्थिति. ध्यान दें कि ब्रॉडकास्ट, YouTube के किसी एक वीडियो को दिखाता है. इसलिए, इसकी निजता सेटिंग, वीडियो के लिए उपलब्ध निजता सेटिंग जैसी ही होती हैं. इसके अलावा, ब्रॉडकास्ट रिसोर्स में बदलाव करके या वीडियो रिसोर्स के privacyStatus फ़ील्ड को सेट करके भी इस फ़ील्ड को सेट किया जा सकता है.

इस प्रॉपर्टी के लिए मान्य वैल्यू ये हैं:
  • private
  • public
  • unlisted
status.recordingStatus string
ब्रॉडकास्ट की रिकॉर्डिंग की स्थिति.

इस प्रॉपर्टी के लिए मान्य वैल्यू ये हैं:
  • notRecording
  • recorded
  • recording
status.madeForKids boolean
इस वैल्यू से पता चलता है कि ब्रॉडकास्ट को बच्चों के लिए बनाया गया है या नहीं. इस प्रॉपर्टी की वैल्यू सिर्फ़ पढ़ी जा सकती है.
status.selfDeclaredMadeForKids boolean
liveBroadcasts.insert अनुरोध में, इस प्रॉपर्टी की मदद से चैनल का मालिक ब्रॉडकास्ट को बच्चों के लिए उपलब्ध के तौर पर सेट कर सकता है. liveBroadcasts.list अनुरोध में, प्रॉपर्टी की वैल्यू सिर्फ़ तब दिखाई जाती है, जब चैनल के मालिक ने एपीआई के अनुरोध को अनुमति दी हो.
contentDetails object
contentDetails ऑब्जेक्ट में, इवेंट के वीडियो कॉन्टेंट के बारे में जानकारी होती है. जैसे, कॉन्टेंट को एम्बेड किए गए वीडियो प्लेयर में दिखाया जा सकता है या नहीं. इसके अलावा, यह भी जानकारी होती है कि कॉन्टेंट को संग्रहित किया जाएगा या नहीं. अगर संग्रहित किया जाएगा, तो इवेंट खत्म होने के बाद इसे देखा जा सकेगा.
contentDetails.boundStreamId string
इस वैल्यू से, ब्रॉडकास्ट से जुड़े live stream की खास तौर पर पहचान की जाती है.
contentDetails.boundStreamLastUpdateTimeMs datetime
boundStreamId एट्रिब्यूट से रेफ़र की गई लाइव स्ट्रीम को पिछली बार अपडेट किए जाने की तारीख और समय.
contentDetails.monitorStream object
monitorStream ऑब्जेक्ट में मॉनिटर स्ट्रीम के बारे में जानकारी होती है. ब्रॉडकास्टर इसका इस्तेमाल, ब्रॉडकास्ट स्ट्रीम को सार्वजनिक तौर पर दिखाने से पहले, इवेंट के कॉन्टेंट की समीक्षा करने के लिए कर सकता है.
contentDetails.monitorStream.enableMonitorStream boolean
इस वैल्यू से यह तय होता है कि ब्रॉडकास्ट के लिए मॉनिटर स्ट्रीम चालू है या नहीं. अगर मॉनिटर स्ट्रीम चालू है, तो YouTube, इवेंट के कॉन्टेंट को एक खास स्ट्रीम पर ब्रॉडकास्ट करेगा. यह स्ट्रीम सिर्फ़ ब्रॉडकास्टर के लिए होती है. ब्रॉडकास्टर, स्ट्रीम का इस्तेमाल करके इवेंट के कॉन्टेंट की समीक्षा कर सकता है. साथ ही, क्यूपॉइंट डालने के लिए सबसे सही समय का पता लगा सकता है.

अगर आपको अपने ब्रॉडकास्ट के लिए testing स्टेज सेट अप करना है या आपको अपने इवेंट के लिए ब्रॉडकास्ट में देरी करनी है, तो आपको इस वैल्यू को true पर सेट करना होगा. इसके अलावा, अगर इस प्रॉपर्टी की वैल्यू true है, तो आपको ब्रॉडकास्ट को live स्थिति में बदलने से पहले, उसे testing स्थिति में बदलना होगा. (अगर प्रॉपर्टी की वैल्यू false है, तो आपके ब्रॉडकास्ट में testing स्टेज नहीं हो सकती. इसलिए, ब्रॉडकास्ट को सीधे live स्थिति में बदला जा सकता है.)

update a broadcast करने पर, इस प्रॉपर्टी को सेट करना ज़रूरी है. ऐसा तब करना होता है, जब आपके एपीआई अनुरोध में part पैरामीटर वैल्यू में contentDetails हिस्सा शामिल हो. हालांकि, insert a broadcast के लिए प्रॉपर्टी की वैल्यू देना ज़रूरी नहीं है. इसकी डिफ़ॉल्ट वैल्यू true होती है.

अहम जानकारी: ब्रॉडकास्ट के testing या live स्थिति में होने पर, इस प्रॉपर्टी को अपडेट नहीं किया जा सकता.
contentDetails.monitorStream.broadcastStreamDelayMs unsigned integer
अगर आपने enableMonitorStream प्रॉपर्टी को true पर सेट किया है, तो यह प्रॉपर्टी लाइव ब्रॉडकास्ट में होने वाली देरी की अवधि तय करती है.

update a broadcast करने पर, इस प्रॉपर्टी को सेट करना ज़रूरी है. ऐसा तब करना होता है, जब आपके एपीआई अनुरोध में part पैरामीटर वैल्यू में contentDetails हिस्सा शामिल हो. हालांकि, insert a broadcast के लिए प्रॉपर्टी की वैल्यू देना ज़रूरी नहीं है. इसकी डिफ़ॉल्ट वैल्यू 0 होती है. इस वैल्यू से पता चलता है कि ब्रॉडकास्ट में देरी नहीं हो रही है. ध्यान दें: ब्रॉडकास्ट के testing या live स्थिति में होने पर, इस प्रॉपर्टी को अपडेट नहीं किया जा सकता.
contentDetails.monitorStream.embedHtml string
यह एचटीएमएल कोड, मॉनिटर स्ट्रीम चलाने वाले प्लेयर को एम्बेड करता है.
contentDetails.enableEmbed boolean
इस सेटिंग से पता चलता है कि ब्रॉडकास्ट किए जा रहे वीडियो को एम्बेड किए गए प्लेयर में चलाया जा सकता है या नहीं. अगर आपने वीडियो को संग्रहित करने का विकल्प चुना है (enableArchive प्रॉपर्टी का इस्तेमाल करके), तो यह सेटिंग संग्रहित किए गए वीडियो पर भी लागू होगी.

update a broadcast करने पर, इस प्रॉपर्टी को सेट करना ज़रूरी है. ऐसा तब करना होता है, जब आपके एपीआई अनुरोध में part पैरामीटर वैल्यू में contentDetails हिस्सा शामिल हो. हालांकि, insert a broadcast के लिए प्रॉपर्टी की वैल्यू देना ज़रूरी नहीं है. इसकी डिफ़ॉल्ट वैल्यू true होती है.

ध्यान दें: ब्रॉडकास्ट के testing या live स्थिति में होने पर, इस प्रॉपर्टी को अपडेट नहीं किया जा सकता.
contentDetails.enableDvr boolean
इस सेटिंग से यह तय होता है कि वीडियो देखते समय, दर्शकों के पास डीवीआर कंट्रोल का ऐक्सेस होगा या नहीं. डीवीआर कंट्रोल की मदद से, दर्शक वीडियो के प्लेबैक को कंट्रोल कर सकता है. जैसे, कॉन्टेंट को रोकना, पीछे ले जाना या तेज़ी से आगे बढ़ाना. इस प्रॉपर्टी की डिफ़ॉल्ट वैल्यू true है.

update a broadcast करने पर, इस प्रॉपर्टी को सेट करना ज़रूरी है. ऐसा तब करना होता है, जब आपके एपीआई अनुरोध में part पैरामीटर वैल्यू में contentDetails हिस्सा शामिल हो. हालांकि, insert a broadcast के लिए प्रॉपर्टी की वैल्यू देना ज़रूरी नहीं है. इसकी डिफ़ॉल्ट वैल्यू true होती है.

अहम जानकारी: अगर आपको ब्रॉडकास्ट खत्म होने के तुरंत बाद प्लेबैक उपलब्ध कराना है, तो आपको वैल्यू को true पर सेट करना होगा. साथ ही, enableArchive प्रॉपर्टी की वैल्यू को भी true पर सेट करना होगा. इसके अलावा, ब्रॉडकास्ट के testing या live स्थिति में होने पर, इस प्रॉपर्टी को अपडेट नहीं किया जा सकता.
contentDetails.recordFromStart boolean
इस सेटिंग से पता चलता है कि इवेंट का स्टेटस 'लाइव है' पर सेट होने के बाद, YouTube ब्रॉडकास्ट की रिकॉर्डिंग अपने-आप शुरू करेगा या नहीं.

इस प्रॉपर्टी की डिफ़ॉल्ट वैल्यू true होती है. इसे सिर्फ़ false पर सेट किया जा सकता है. हालांकि, ऐसा तब ही किया जा सकता है, जब ब्रॉडकास्ट करने वाले चैनल को लाइव ब्रॉडकास्ट की रिकॉर्डिंग बंद करने की अनुमति हो.

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

update a broadcast करने पर, इस प्रॉपर्टी को सेट करना ज़रूरी है. ऐसा तब करना होता है, जब आपके एपीआई अनुरोध में part पैरामीटर वैल्यू में contentDetails हिस्सा शामिल हो. हालांकि, insert a broadcast के लिए प्रॉपर्टी की वैल्यू देना ज़रूरी नहीं है. इसकी डिफ़ॉल्ट वैल्यू true होती है.

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

ध्यान दें: ब्रॉडकास्ट के testing या live स्थिति में होने पर, इस प्रॉपर्टी को अपडेट नहीं किया जा सकता.
contentDetails.enableClosedCaptions boolean
यह प्रॉपर्टी 17 दिसंबर, 2015 से काम नहीं करती है. इसके बजाय, contentDetails.closedCaptionsType प्रॉपर्टी का इस्तेमाल करें.

इस सेटिंग से पता चलता है कि इस ब्रॉडकास्ट के लिए, HTTP POST क्लोज़्ड कैप्शन की सुविधा चालू है या नहीं. इस प्रॉपर्टी का इस्तेमाल पहले से कर रहे एपीआई क्लाइंट के लिए:
  • प्रॉपर्टी की वैल्यू को true पर सेट करने का मतलब है कि contentDetails.closedCaptionsType प्रॉपर्टी को closedCaptionsHttpPost पर सेट किया गया है.
  • प्रॉपर्टी की वैल्यू को false पर सेट करने का मतलब है कि contentDetails.closedCaptionsType प्रॉपर्टी को closedCaptionsDisabled पर सेट किया गया है.
contentDetails.closedCaptionsType string
ध्यान दें: यह प्रॉपर्टी, contentDetails.enableClosedCaptions प्रॉपर्टी की जगह इस्तेमाल की जाती है.

इस प्रॉपर्टी से पता चलता है कि आपके ब्रॉडकास्ट के लिए सबटाइटल की सुविधा चालू है या नहीं. अगर चालू है, तो किस तरह के सबटाइटल उपलब्ध कराए जा रहे हैं:
  • closedCaptionsDisabled: लाइव ब्रॉडकास्ट के लिए सबटाइटल की सुविधा बंद है.
  • closedCaptionsHttpPost: आपको एचटीटीपी पोस्ट का इस्तेमाल करके, कैप्शन भेजने होंगे. इसके लिए, आपको लाइव स्ट्रीम से जुड़े इंजेशन यूआरएल का इस्तेमाल करना होगा.
  • closedCaptionsEmbedded: कैप्शन को वीडियो स्ट्रीम में, EIA-608 और/या CEA-708 फ़ॉर्मैट का इस्तेमाल करके कोड में बदला जाएगा.
contentDetails.projection string
इस ब्रॉडकास्ट का प्रोजेक्शन फ़ॉर्मैट. प्रॉपर्टी की डिफ़ॉल्ट वैल्यू rectangular है.

इस प्रॉपर्टी के लिए मान्य वैल्यू ये हैं:
  • 360
  • rectangular
contentDetails.enableLowLatency boolean
इससे पता चलता है कि इस ब्रॉडकास्ट को कम समय में स्ट्रीम करने के लिए, एन्कोड किया जाना चाहिए या नहीं. कम समय में बफ़र होने वाली स्ट्रीम से, ब्रॉडकास्ट देखने वाले लोगों को वीडियो दिखने में कम समय लगता है. हालांकि, इससे स्ट्रीम देखने वाले लोगों के लिए वीडियो के रिज़ॉल्यूशन पर भी असर पड़ सकता है.
contentDetails.latencyPreference string
इससे पता चलता है कि इस ब्रॉडकास्ट के लिए, किस लेटेंसी सेटिंग का इस्तेमाल करना है. इस प्रॉपर्टी का इस्तेमाल enableLowLatency के बजाय किया जा सकता है. enableLowLatency में ultraLow काम नहीं करता.

कम लेटेंसी वाली स्ट्रीम से, ब्रॉडकास्ट देखने वाले लोगों को वीडियो दिखने में लगने वाला समय कम हो सकता है. हालांकि, इससे वीडियो के प्लेबैक पर भी असर पड़ सकता है.

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

इस प्रॉपर्टी के लिए मान्य वैल्यू ये हैं:
  • normal
  • low
  • ultraLow
contentDetails.enableAutoStart boolean
इससे पता चलता है कि लिंक किए गए live stream पर वीडियो स्ट्रीम करना शुरू करने पर, यह ब्रॉडकास्ट अपने-आप शुरू होना चाहिए या नहीं.
contentDetails.enableAutoStop boolean
इससे पता चलता है कि चैनल के मालिक के वीडियो स्ट्रीम करना बंद करने के करीब एक मिनट बाद, ब्रॉडकास्ट अपने-आप बंद हो जाना चाहिए या नहीं.
contentDetails.availabilityConfig object
ब्रॉडकास्ट की उपलब्धता का कॉन्फ़िगरेशन. इस कुकी का इस्तेमाल, किसी खास क्षेत्र में प्रॉडक्ट की उपलब्धता सेट करने या कुछ क्षेत्रों में प्रॉडक्ट की उपलब्धता ब्लॉक करने के लिए किया जाता है. यह ज़रूरी नहीं है. अगर इसे सेट नहीं किया जाता है, तो इसे लागू नहीं किया जाता.
contentDetails.availabilityConfig.globalConfig object
ब्रॉडकास्ट के ग्लोबल ऐक्सेस की उपलब्धता का कॉन्फ़िगरेशन. यह वीडियो, excludedRegionCodes सूची में दिए गए देशों/इलाकों को छोड़कर, बाकी सभी देशों/इलाकों में उपलब्ध है.
contentDetails.availabilityConfig.globalConfig.excludedRegionCodes list (string)
उन देशों/इलाकों की सूची जहां वीडियो को ब्लॉक किया गया है.
contentDetails.availabilityConfig.globalConfig.interval object
यह डिफ़ॉल्ट समयावधि होती है. इस दौरान, वीडियो उन सभी देशों/इलाकों में उपलब्ध होता है जहां इसे ब्लॉक नहीं किया गया है. ध्यान दें: यह प्रॉपर्टी, आने वाले समय में होने वाले या चालू लाइव ब्रॉडकास्ट के लिए उपलब्ध नहीं है.
contentDetails.availabilityConfig.globalConfig.interval.startTime datetime
वीडियो के उपलब्ध होने की तारीख और समय. अगर यह जानकारी नहीं दी जाती है, तो इसका मतलब है कि वीडियो पहले से ही उपलब्ध है. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है.
contentDetails.availabilityConfig.globalConfig.interval.endTime datetime
वह तारीख और समय जब वीडियो दिखना बंद हो जाएगा. अगर यह जानकारी नहीं दी जाती है, तो वीडियो हमेशा के लिए उपलब्ध रहता है. शुरू और खत्म होने का समय, पांच साल से ज़्यादा का नहीं होना चाहिए. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है.
contentDetails.availabilityConfig.regionsConfig object
ब्रॉडकास्ट की क्षेत्र के हिसाब से उपलब्धता की जानकारी. यह वीडियो सिर्फ़ बताए गए देशों/इलाकों में उपलब्ध है.
contentDetails.availabilityConfig.regionsConfig.regionIntervals list (object)
उन देशों/इलाकों और समयसीमाओं की सूची जहां वीडियो उपलब्ध है. अगर किसी क्षेत्र को एक से ज़्यादा बार तय किया जाता है, तो सभी इंटरवल के यूनीयन का इस्तेमाल किया जाता है.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.regionCode string
वह देश/इलाका जहां वीडियो उपलब्ध है.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval object
वह समयावधि जिसके दौरान वीडियो, चुने गए देश/इलाके में उपलब्ध होगा. ध्यान दें: यह प्रॉपर्टी, आने वाले समय में होने वाले या चालू लाइव ब्रॉडकास्ट के लिए उपलब्ध नहीं है.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval.startTime datetime
वह तारीख और समय जब वीडियो, चुने गए देश/इलाके में उपलब्ध होगा. अगर यह जानकारी नहीं दी जाती है, तो इसका मतलब है कि वीडियो पहले से ही उपलब्ध है. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval.endTime datetime
वह तारीख और समय जब वीडियो, चुने गए देश/इलाके में उपलब्ध नहीं रहेगा. अगर यह जानकारी नहीं दी जाती है, तो वीडियो हमेशा के लिए उपलब्ध रहता है. शुरू और खत्म होने का समय, पांच साल से ज़्यादा का नहीं होना चाहिए. वैल्यू को ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में तय किया जाता है.
statistics object
statistics ऑब्जेक्ट में, लाइव ब्रॉडकास्ट से जुड़े आंकड़े शामिल होते हैं. ब्रॉडकास्ट के दौरान, इन आंकड़ों की वैल्यू बदल सकती हैं. साथ ही, इन्हें सिर्फ़ ब्रॉडकास्ट के लाइव होने के दौरान ही वापस पाया जा सकता है.
statistics.totalChatCount unsigned long
ब्रॉडकास्ट से जुड़े लाइव चैट मैसेज की कुल संख्या. अगर ब्रॉडकास्ट उपयोगकर्ता को दिखता है, उसमें लाइव चैट की सुविधा चालू है, और उसमें कम से कम एक मैसेज है, तो प्रॉपर्टी और उसकी वैल्यू मौजूद होती है. ध्यान दें कि ब्रॉडकास्ट खत्म होने के बाद, इस प्रॉपर्टी की वैल्यू नहीं दिखेगी. इसलिए, यह प्रॉपर्टी पूरी हो चुकी लाइव स्ट्रीम के संग्रहित वीडियो के लिए, चैट मैसेज की संख्या का पता नहीं लगा पाएगी.
monetizationDetails object
monetizationDetails ऑब्जेक्ट में स्ट्रीम से कमाई करने के बारे में जानकारी होती है. जैसे, विज्ञापन अपने-आप दिखाने की सुविधा चालू है या वीडियो के बीच में दिखने वाले विज्ञापनों को दिखाने में देरी हो रही है.

monetizationDetails.adsMonetizationStatus string
इस प्रॉपर्टी से पता चलता है कि किसी वीडियो ब्रॉडकास्ट में मिडरोल विज्ञापन दिखाने की सुविधा चालू है या नहीं. मान्य वैल्यू on और off हैं.
monetizationDetails.eligibleForAdsMonetization string
इस प्रॉपर्टी से पता चलता है कि वीडियो ब्रॉडकास्ट के बीच में विज्ञापन दिखाए जा सकते हैं या नहीं. किसी ब्रॉडकास्ट को कई वजहों से मंज़ूरी नहीं मिल सकती. जैसे, किसी मौजूदा दावे की वजह से या चैनल पर कमाई करने की सुविधा सेट अप न होने की वजह से.
monetizationDetails.cuepointSchedule object
cuepointSchedule ऑब्जेक्ट, ब्रॉडकास्ट के लिए विज्ञापन ऑटोमेशन की सेटिंग तय करता है.
monetizationDetails.cuepointSchedule.enabled boolean
इस वैल्यू से यह तय होता है कि ब्रॉडकास्ट में विज्ञापन अपने-आप डाले जाएंगे या नहीं. अगर वैल्यू true है, तो YouTube ब्रॉडकास्ट में अपने-आप मिडरोल विज्ञापन डालेगा. विज्ञापन दिखाने का शेड्यूल, monetizationDetails.cuepointSchedule ऑब्जेक्ट में मौजूद अन्य फ़ील्ड की वैल्यू के हिसाब से तय किया जाएगा.
monetizationDetails.cuepointSchedule.pauseAdsUntil datetime
इस वैल्यू से यह तय होता है कि YouTube, ब्रॉडकास्ट में तय की गई तारीख और समय तक मिडरोल विज्ञापन नहीं दिखाएगा. इसकी वैल्यू, आईएसओ 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में दी जाती है. विज्ञापनों को रोकने के लिए, वैल्यू को आने वाले समय के हिसाब से तारीख और समय पर सेट करना होगा. विज्ञापनों को फिर से चालू करने के लिए, फ़ील्ड की वैल्यू को बीते समय के हिसाब से तारीख और समय पर सेट किया जा सकता है या इसे खाली छोड़ा जा सकता है.
monetizationDetails.cuepointSchedule.ytOptimizedCuepointConfig string
इस फ़ील्ड में, अपने-आप डाले गए विज्ञापन के क्यूपॉइंट के लिए चुना गया विकल्प दिखता है. इस फ़ील्ड में, तीन में से कोई एक मोड तय किया जा सकता है:
  • LOW: इससे आपकी कम कमाई होगी, लेकिन दर्शकों को कॉन्टेंट देखते समय कम रुकावटें आएंगी
  • MEDIUM: इससे आपकी कमाई ठीक-ठाक हो सकेगी, दर्शकों को वीडियो देखने का मिला-जुला अनुभव मिलेगा
  • HIGH: इससे आपकी ज़्यादा कमाई होगी, लेकिन दर्शकों को कॉन्टेंट देखते समय ज़्यादा रुकावटें आएंगी
monetizationDetails.cuepointSchedule.creatorCuepointConfig object
creatorCuepointConfig ऑब्जेक्ट, विज्ञापन अपने-आप दिखाने की सुविधा के विकल्प के बारे में बताता है. इससे क्रिएटर्स को यह चुनने का विकल्प मिलता है कि वीडियो के बीच में विज्ञापन कैसे दिखें.
monetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategy string
इस वैल्यू से पता चलता है कि YouTube को क्यूपॉइंट शेड्यूल करने के लिए किस रणनीति का इस्तेमाल करना चाहिए. मान्य वैल्यू ये हैं:
  • CONCURRENT: सभी दर्शकों के लिए, क्यूपॉइंट एक ही समय पर शेड्यूल किए जाते हैं
  • NON_CONCURRENT: अलग-अलग दर्शकों के लिए, अलग-अलग समय पर क्यूपॉइंट शेड्यूल किए जाते हैं. इस तरीके से, विज्ञापनों को ज़्यादा बार दिखाया जा सकता है. इससे ज़रूरी शर्तें पूरी करने वाले दर्शकों को क्यूपॉइंट मिल सकते हैं.
monetizationDetails.cuepointSchedule.creatorCuepointConfig.repeatIntervalSecs unsigned integer
इस वैल्यू से, ब्रॉडकास्ट के दौरान अपने-आप विज्ञापन दिखाने के बीच का इंटरवल (सेकंड में) तय होता है. उदाहरण के लिए, अगर वैल्यू 360 है, तो YouTube हर छह मिनट के अंतराल पर, वीडियो के बीच में विज्ञापन दिखाने के लिए क्यू पॉइंट डाल सकता है.

ध्यान दें:
  • इस वैल्यू से, लगातार क्यू पॉइंट के शुरू होने के बीच का समय पता चलता है. इसका मतलब है कि अंतराल को एक क्यूपॉइंट के खत्म होने से लेकर अगले क्यूपॉइंट के शुरू होने तक नहीं मापा जाता.
  • YouTube Studio की सेटिंग के मुताबिक, यह वैल्यू छह मिनट से 30 मिनट तक के छह मिनट के मल्टीपल में होती है. अपडेट करने के अनुरोध में इस रेंज के अंदर मौजूद किसी भी पूर्णांक को, छह मिनट के सबसे नज़दीकी मल्टीपल में बदल दिया जाएगा. हालांकि, यह मान्य होगा.