Android डिवाइसों पर YouTube लाइव स्ट्रीम शुरू करना

इस SDK टूल को पूरी तरह से बंद कर दिया गया है. YouTube अब न तो इसका इस्तेमाल करता है और न ही इसका रखरखाव करता है. इसके बजाय, YouTube IFrame Player API का इस्तेमाल करें.

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

उदाहरण

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

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

डिवाइस से जुड़ी ज़रूरी शर्तें

Android डिवाइस को YouTube लाइव स्ट्रीमिंग और मोबाइल लाइव डीप लिंक के साथ काम करने के लिए, इन ज़रूरी शर्तों को पूरा करना होगा:

  • Android रिलीज़: Marshmallow (एपीआई 23) या इसके बाद का वर्शन
  • कैमरा: कम से कम 30 हर्ट्ज़ पर 720p की रिकॉर्डिंग वाला कम से कम एक कैमरा
  • माइक्रोफ़ोन: ऑनबोर्ड माइक्रोफ़ोन
  • ऑडियो एन्कोडर: हार्डवेयर से तेज़ी लाने वाला ऑडियो एन्कोडर जो 8-बिट PCM मोनो ऑडियो को AAC में 44.1 किलोहर्ट्ज़ या इससे बेहतर पर कोड में बदल सकता है
  • वीडियो एन्कोडर: 720 पिक्सल रॉ वीडियो को 30 हर्ट्ज़ या इससे बेहतर वीडियो फ़ॉर्मैट में बदलने के लिए, हार्डवेयर पर तेज़ी से चलने वाला वीडियो एन्कोडर
  • YouTube ऐप्लिकेशन इंस्टॉल किया गया है: 13.02 या इसके बाद का वर्शन

मोबाइल लाइव इंटेंट की खास बातें

YouTube मोबाइल लाइव स्ट्रीमिंग फ़्लो में लिंक करने के लिए, आपका Android ऐप्लिकेशन इंटेंट लॉन्च करेगा. इंटेंट, YouTube ऐप्लिकेशन में गतिविधि शुरू करके लाइव स्ट्रीमिंग प्रोसेस शुरू करता है.

इंटेंट फ़ॉर्मैट

मोबाइल लाइव इंटेंट, YouTube ऐप्लिकेशन में लाइव निर्माण गतिविधि पर नेविगेट करने के लिए कस्टम Action स्ट्रिंग का उपयोग करता है. यह YouTube मोबाइल ऐप्लिकेशन के लिए पैकेज नाम भी तय करता है.

इंटेंट अतिरिक्त

YouTube ऐप्लिकेशन सेट अप करने का तरीका, स्ट्रीम के कॉन्फ़िगरेशन को मैनेज करता है. नीचे दिए गए इंटेंट अतिरिक्त, लाइव स्ट्रीम से जुड़े पैरामीटर सेट करते हैं:

पैरामीटर
इंटेंट.Extra_REFERRER Required. यह पैरामीटर उस यूआरआई के बारे में बताता है जो लाइव स्ट्रीमिंग गतिविधि को लॉन्च करने वाले ऐप्लिकेशन के बारे में बताता है. यह वैल्यू, पैकेज के नाम के साथ android-app: scheme फ़ॉर्मैट में होनी चाहिए. वैल्यू, सटीक एट्रिब्यूशन और अकाउंटिंग को चालू करती है.
इंटेंट.EXTRA_SUBJECT Optional. इस पैरामीटर से लाइव स्ट्रीम के बारे में जानकारी मिलती है. इसे इंटेंट एक्सटर्नल बंडल में स्ट्रिंग के तौर पर रखा जाता है. वैल्यू का इस्तेमाल, ब्रैंड वाले मैसेज के साथ स्ट्रीम की व्याख्या करने के लिए किया जा सकता है, जैसे कि "DEVICE से लाइव स्ट्रीम किया गया".

लाइव स्ट्रीमिंग की सुविधा लॉन्च करना

पहला चरण: सहायता टीम से संपर्क करना

आपके क्लाइंट को सबसे पहले यह पुष्टि करनी होगी कि मोबाइल से लाइव स्ट्रीम करने की सुविधा को लॉन्च किया जा सकता है या नहीं. ऐसा करने के लिए, इस बात की पुष्टि करें कि YouTube ऐप्लिकेशन, डिवाइस पर इंस्टॉल है या नहीं. साथ ही, यह भी पक्का करना चाहिए कि YouTube ऐप्लिकेशन का वर्शन, लाइव स्ट्रीमिंग की सुविधा देता हो. नीचे दिए गए कोड सैंपल में, ऐसा करने के दो तरीके बताए गए हैं:

  • canResolveMobileLiveIntent तरीके से इस बात की पुष्टि होती है कि डिवाइस पर, मोबाइल लाइव इंटेंट काम करता है या नहीं.
  • validateMobileLiveIntent, canResolveMobileLiveIntent स्टेटमेंट को if-else स्टेटमेंट के तौर पर कॉल करता है.
    • अगर डिवाइस, इंटेंट को सपोर्ट करता है, तो डिवाइस लाइव स्ट्रीम फ़्लो को लॉन्च कर सकता है.
    • अगर डिवाइस में इंटेंट को सपोर्ट नहीं किया जाता है, तो डिवाइस, उपयोगकर्ता से YouTube ऐप्लिकेशन इंस्टॉल या अपग्रेड करने का अनुरोध कर सकता है.
private boolean canResolveMobileLiveIntent(Context context) {
  Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
    .setPackage("com.google.android.youtube");
  PackageManager pm = context.getPackageManager();
  List resolveInfo = 
    pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
  return resolveInfo != null && !resolveInfo.isEmpty();
}


private void validateMobileLiveIntent(Context context) {
  if (canResolveMobileLiveIntent(context)) {
    // Launch the live stream Activity
  } else {
    // Prompt user to install or upgrade the YouTube app
  }
}

दूसरा चरण: लाइव स्ट्रीम की गतिविधि लॉन्च करना

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

private Intent createMobileLiveIntent(Context context, String description) {
  Intent intent = new Intent("com.google.android.youtube.intent.action.CREATE_LIVE_STREAM")
      .setPackage("com.google.android.youtube");
  Uri referrer = new Uri.Builder()
      .scheme("android-app")
      .appendPath(context.getPackageName())
      .build();

  intent.putExtra(Intent.EXTRA_REFERRER, referrer);
  if (!TextUtils.isEmpty(description)) {
    intent.putExtra(Intent.EXTRA_SUBJECT, description);
  }
  return intent;
}


private void startMobileLive(Context context) {
  Intent mobileLiveIntent = createMobileLiveIntent(context, "Streaming via ...");
  startActivity(mobileLiveIntent);
}