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

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

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

उदाहरण

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

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

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

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

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

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

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

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

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

अतिरिक्त जानकारी

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

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

लाइव स्ट्रीमिंग फ़्लो लॉन्च करना

पहला चरण: सहायता पाना

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

  • canResolveMobileLiveIntent तरीके से इस बात की पुष्टि की जाती है कि डिवाइस, मोबाइल लाइव इंटेंट के साथ काम करता है या नहीं.
  • validateMobileLiveIntent, if-else स्टेटमेंट के लिए canResolveMobileLiveIntent तरीके का इस्तेमाल करता है.
    • अगर डिवाइस इंटेंट के साथ काम करता है, तो डिवाइस लाइव स्ट्रीम फ़्लो को लॉन्च कर सकता है.
    • अगर डिवाइस इंटेंट के साथ काम नहीं करता है, तो डिवाइस उपयोगकर्ता को 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);
}