LiveStreams

liveStream संसाधन में उस वीडियो स्ट्रीम की जानकारी शामिल है जिसे आप YouTube पर शेयर कर रहे हैं. स्ट्रीम में ऐसा कॉन्टेंट होगा जिसे YouTube के उपयोगकर्ताओं को ब्रॉडकास्ट किया जाएगा. बनाने के बाद, liveStream संसाधन एक या एक से ज़्यादा liveBroadcast संसाधनों से जोड़ा जा सकता है.

तरीके

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

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

संसाधन का प्रतिनिधित्व

JSON के इस फ़ॉर्मैट में liveStreams संसाधन का फ़ॉर्मैट दिखता है:

{
  "kind": "youtube#liveStream",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "isDefaultStream": boolean
  },
  "cdn": {
    "ingestionType": string,
    "ingestionInfo": {
      "streamName": string,
      "ingestionAddress": string,
      "backupIngestionAddress": string
    },
    "resolution": string,
    "frameRate": string
  },
  "status": {
    "streamStatus": string,
    "healthStatus": {
      "status": string,
      "lastUpdateTimeSeconds": unsigned long,
      "configurationIssues": [
        {
          "type": string,
          "severity": string,
          "reason": string,
          "description": string
        }
      ]
    }
  },
  "contentDetails": {
    "closedCaptionsIngestionUrl": string,
    "isReusable": boolean
  }
}

प्रॉपर्टी

इस टेबल में उन प्रॉपर्टी के बारे में बताया गया है जो इस रिसॉर्स में मौजूद हैं:

प्रॉपर्टी
kind string
इससे यह पता चलता है कि एपीआई संसाधन किस तरह का है. वैल्यू youtube#liveStream होगी.
etag etag
इस संसाधन का ऐट.
id string
वह आईडी जिसे YouTube, स्ट्रीम को खास तौर पर पहचानने के लिए असाइन करता है.
snippet object
snippet ऑब्जेक्ट में स्ट्रीम के बारे में बुनियादी जानकारी मौजूद होती है. इसमें स्ट्रीम का चैनल, शीर्षक, और ब्यौरा शामिल होता है.
snippet.publishedAt datetime
स्ट्रीम करने की तारीख और समय. वैल्यू ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में होती है.
snippet.channelId string
वह आईडी जिससे YouTube, स्ट्रीम को शेयर करने वाले चैनल की पहचान करता है.
snippet.title string
स्ट्रीम का शीर्षक. वैल्यू, 1 से 128 वर्णों के बीच होनी चाहिए.
snippet.description string
स्ट्रीम का ब्यौरा. वैल्यू में 10,000 से ज़्यादा वर्ण नहीं हो सकते.
snippet.isDefaultStream boolean
यह प्रॉपर्टी 1 सितंबर, 2020 को या उसके बाद बंद हो जाएगी. साथ ही, किसी चैनल पर लाइव स्ट्रीमिंग की सुविधा चालू होने पर, डिफ़ॉल्ट स्ट्रीम के साथ-साथ डिफ़ॉल्ट ब्रॉडकास्ट बंद हो जाएगा. कृपया ज़्यादा जानकारी के लिए, डेटा रोके जाने का एलान देखें.
यह प्रॉपर्टी बताती है कि यह स्ट्रीम, चैनल की डिफ़ॉल्ट स्ट्रीम है या नहीं.

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

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

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

स्ट्रीम खत्म होने पर, YouTube पूरे किए गए ब्रॉडकास्ट को YouTube वीडियो में बदल देता है. साथ ही, वीडियो को एक YouTube वीडियो आईडी असाइन करता है. कन्वर्ज़न पूरा होने के बाद, वीडियो को चैनल पर अपलोड किए गए वीडियो की सूची में शामिल कर लिया जाता है. प्रसारण खत्म होने के तुरंत बाद वीडियो उपलब्ध नहीं होता है और देरी की अवधि, ब्रॉडकास्ट की असल अवधि के हिसाब से होती है.
cdn object
cdn ऑब्जेक्ट, लाइव स्ट्रीम के कॉन्टेंट डिलीवरी नेटवर्क (सीडीएन) की सेटिंग तय करता है. इन सेटिंग से यह जानकारी मिलती है कि YouTube पर कॉन्टेंट को किस तरीके से स्ट्रीम किया जाता है.
cdn.format string
यह प्रॉपर्टी 18 अप्रैल, 2016 से बंद कर दी गई है. यह 17 अगस्त, 2020 से काम नहीं करेगी. इस तारीख तक, इस प्रॉपर्टी का इस्तेमाल करने वाले अनुरोध स्वीकार नहीं किए जाएंगे.

इसके बजाय, फ़्रेम दर और रिज़ॉल्यूशन अलग से बताने के लिए, cdn.frameRate और cdn.resolution प्रॉपर्टी का इस्तेमाल करें.
cdn.ingestionType string
वीडियो स्ट्रीम को ट्रांसमिट करने का तरीका या प्रोटोकॉल.

इस प्रॉपर्टी के लिए सही वैल्यू ये हैं:
  • dash
  • hls
  • rtmp (इसमें RTMPS शामिल हैं)
cdn.ingestionInfo object
ingestionInfo ऑब्जेक्ट में वह जानकारी होती है जो YouTube आपको उपलब्ध कराता है. इससे आपको अपनी स्ट्रीम को YouTube पर भेजने की ज़रूरत होती है.
cdn.ingestionInfo.streamName string
स्ट्रीम का वह नाम जिसे YouTube, वीडियो स्ट्रीम को असाइन करता है.
cdn.ingestionInfo.ingestionAddress string
अगर आप आरटीएमपी, डैश या एचएलएस का इस्तेमाल करते हैं, तो डेटा डालने के लिए मुख्य यूआरएल, जिसका इस्तेमाल आपको YouTube पर वीडियो स्ट्रीम करने के लिए करना चाहिए. आपको इस यूआरएल पर वीडियो स्ट्रीम करना होगा.

वीडियो स्ट्रीम को कोड में बदलने के लिए आपके इस्तेमाल किए जाने वाले ऐप्लिकेशन या टूल के आधार पर, आपको स्ट्रीम के यूआरएल और स्ट्रीम का नाम अलग-अलग डालने की ज़रूरत पड़ सकती है. इसके अलावा, आप इन्हें इस फ़ॉर्मैट में जोड़ भी सकते हैं:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
अगर आपने आरटीएमपी, डैश या एचएलएस का इस्तेमाल किया है, तो YouTube पर वीडियो स्ट्रीम करने के लिए, जोड़े गए डेटा का बैक अप यूआरएल. आपके पास ingestionAddress को भेजे जा रहे कॉन्टेंट को एक ही समय पर, इस यूआरएल पर स्ट्रीम करने का विकल्प है.
cdn.ingestionInfo.rtmpsIngestionAddress string
अगर आप RTMPS का इस्तेमाल करते हैं, तो डेटा डालने के लिए मुख्य यूआरएल, जिसका इस्तेमाल आपको YouTube पर वीडियो स्ट्रीम करने के लिए करना चाहिए. आपको इस यूआरएल पर वीडियो स्ट्रीम करना होगा.

वीडियो स्ट्रीम को कोड में बदलने के लिए इस्तेमाल किए जाने वाले ऐप्लिकेशन या टूल के आधार पर, आपको स्ट्रीम के यूआरएल और स्ट्रीम का नाम अलग-अलग डालने पड़ सकते हैं या उन्हें इस फ़ॉर्मैट में जोड़ना पड़ सकता है:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
बैकअप डेटा डालने वाला वह यूआरएल जिसे आपको RTMPS की मदद से YouTube पर वीडियो स्ट्रीम करने के लिए इस्तेमाल करना चाहिए.
cdn.resolution string
इनबाउंड वीडियो डेटा का रिज़ॉल्यूशन.

इस प्रॉपर्टी की मान्य वैल्यू ये हैं:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: इस सेटिंग का इस्तेमाल करके बताएं कि YouTube को, आपके स्ट्रीम किए गए वीडियो का रिज़ॉल्यूशन अपने-आप सेट कर देना चाहिए. आपको cdn.frameRate को variable पर भी सेट करना होगा.
    सुझाई गई एन्कोडर सेटिंग के लिए, YouTube सहायता केंद्र पर जाएं.
cdn.frameRate string
इनबाउंड वीडियो डेटा के फ़्रेम रेट.

इस प्रॉपर्टी के लिए सही वैल्यू ये हैं:
  • 30fps
  • 60fps
  • variable: इस सेटिंग का इस्तेमाल करके बताएं कि YouTube को, आपके स्ट्रीम किए गए वीडियो के फ़्रेम रेट का अपने-आप पता चलना चाहिए. आपको cdn.resolution को variable पर भी सेट करना होगा.
    सुझाई गई एन्कोडर सेटिंग के लिए, YouTube सहायता केंद्र पर जाएं.
status object
status ऑब्जेक्ट में लाइव स्ट्रीम की स्थिति के बारे में जानकारी है.
status.streamStatus string
स्ट्रीम की स्थिति.

इस प्रॉपर्टी की सही वैल्यू हैं:
  • active – स्ट्रीम चालू है. इसका मतलब है कि उपयोगकर्ता को स्ट्रीम से डेटा मिल रहा है.
  • created – स्ट्रीम बना दी गई है, लेकिन CDN की सेटिंग सही नहीं हैं.
  • error – स्ट्रीम पर एक गड़बड़ी मौजूद है.
  • inactive – स्ट्रीम बंद है. इसका मतलब है कि उपयोगकर्ता को स्ट्रीम से डेटा नहीं मिल रहा है.
  • ready – स्ट्रीम की सीडीएन सेटिंग मान्य हैं.
status.healthStatus object
इस ऑब्जेक्ट में लाइव स्ट्रीम की स्थिति की जानकारी है. इसका इस्तेमाल स्ट्रीम करने से जुड़ी समस्याओं को पहचानने, उनका पता लगाने, और उन्हें ठीक करने के लिए किया जा सकता है.
status.healthStatus.status string
इस स्ट्रीम का स्टेटस कोड.

इस प्रॉपर्टी की सही वैल्यू हैं:
  • good – कॉन्फ़िगरेशन की ऐसी कोई समस्या नहीं है जिसके लिए गंभीरता warning या उससे खराब हो.
  • ok – कॉन्फ़िगरेशन की ऐसी कोई समस्या नहीं है जिसके लिए गंभीरता error हो.
  • bad – स्ट्रीम में कुछ समस्याएं हैं जिनके लिए गंभीरता error है.
  • noData – YouTube के लाइव स्ट्रीमिंग बैकएंड सर्वर के पास, स्ट्रीम की स्थिति के बारे में कोई जानकारी नहीं है.
status.healthStatus.lastUpdateTimeSeconds unsigned long
पिछली बार स्ट्रीम की स्वास्थ्य स्थिति को कब अपडेट किया गया था. वैल्यू, सेकंड में एक UNIX टाइमस्टैंप दिखाती है.
status.healthStatus.configurationIssues[] list
इस ऑब्जेक्ट में, स्ट्रीम को प्रभावित करने वाले कॉन्फ़िगरेशन से जुड़ी समस्याओं की सूची शामिल है.
status.healthStatus.configurationIssues[].type string
इससे स्ट्रीम पर असर डालने वाली गड़बड़ी के टाइप का पता चलता है.
status.healthStatus.configurationIssues[].severity string
यह बताता है कि स्ट्रीम से जुड़ी समस्या कितनी गंभीर है.

इस प्रॉपर्टी की सही वैल्यू हैं:
  • info – वीडियो को दर्शकों पर ब्रॉडकास्ट किया जाता है और इससे परफ़ॉर्मेंस पर कोई बुरा असर नहीं पड़ता.
  • warning – वीडियो को दर्शकों के लिए ब्रॉडकास्ट किया जाता है, लेकिन परफ़ॉर्मेंस सबसे अच्छी नहीं होती.
  • error – वीडियो को दर्शकों के लिए ब्रॉडकास्ट नहीं किया जा सकता.
status.healthStatus.configurationIssues[].reason string
समस्या के बारे में कम शब्दों में जानकारी. लाइव स्ट्रीम संसाधनों के लिए कॉन्फ़िगरेशन समस्याएं दस्तावेज़, कॉन्फ़िगरेशन से जुड़ी हर तरह की समस्या से जुड़ी वजह की पहचान करता है.
status.healthStatus.configurationIssues[].description string
समस्या के बारे में ज़्यादा जानकारी. संभव होने पर, ब्यौरे में समस्या को ठीक करने के बारे में जानकारी दी जाती है. लाइव स्ट्रीम संसाधनों के लिए कॉन्फ़िगरेशन समस्याएं दस्तावेज़, कॉन्फ़िगरेशन की सभी समस्याओं और उनसे जुड़े ब्यौरे की सूची बनाता है.
contentDetails object
content_details ऑब्जेक्ट में स्ट्रीम के बारे में जानकारी होती है. इसमें सबटाइटल का डेटा डालने वाला यूआरएल भी शामिल होता है.
contentDetails.closedCaptionsIngestionUrl string
डेटा डालने वाला वह यूआरएल जहां इस स्ट्रीम के सबटाइटल भेजे जाते हैं.
contentDetails.isReusable boolean
यह बताता है कि स्ट्रीम पर फिर से इस्तेमाल किया जा सकता है या नहीं. इसका मतलब है कि स्ट्रीम को कई ब्रॉडकास्ट से जोड़ा जा सकता है. अगर ब्रॉडकास्ट करने वाले लोग अलग-अलग समय पर ब्रॉडकास्ट होते हैं, तो अक्सर उनके लिए एक ही स्ट्रीम का कई अलग-अलग ब्रॉडकास्ट के लिए फिर से इस्तेमाल किया जाना आम बात है.

अगर इस वैल्यू को false पर सेट किया जाता है, तो स्ट्रीम को फिर से इस्तेमाल नहीं किया जा सकेगा. इसका मतलब है कि स्ट्रीम को सिर्फ़ एक ब्रॉडकास्ट से जोड़ा जा सकता है. फिर से इस्तेमाल न होने वाली स्ट्रीम, नीचे दी गई तरीकों से फिर से इस्तेमाल करने लायक स्ट्रीम से अलग होती हैं:
  • फिर से इस्तेमाल न की जा सकने वाली स्ट्रीम को सिर्फ़ एक ब्रॉडकास्ट तक सीमित किया जा सकता है.
  • फिर से इस्तेमाल न होने वाली स्ट्रीम, ब्रॉडकास्ट खत्म होने के बाद अपने-आप चलने वाली प्रोसेस से मिट सकती है.
  • तरीके का इस्तेमाल करने और mine पैरामीटर को true पर सेट करने पर, liveStreams.list का तरीका फिर से इस्तेमाल होने वाली स्ट्रीम की सूची नहीं बनाता. स्ट्रीम का पता लगाने के लिए, id पैरामीटर का इस्तेमाल करें. इसके अलावा, फिर से इस्तेमाल नहीं की जा सकने वाली स्ट्रीम के लिए, रिसॉर्स को फिर से पाने का सिर्फ़ एक तरीका है.