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

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

उदाहरण

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

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

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

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

  • Android रिलीज़: Marshmallow (एपीआई 23) या इसके बाद का वर्शन
  • कैमरा: कम से कम एक ऐसा कैमरा जो कम से कम 30 हर्ट्ज़ पर 720 पिक्सल की क्वालिटी में वीडियो रिकॉर्ड कर सकता हो
  • माइक्रोफ़ोन: डिवाइस में पहले से मौजूद माइक्रोफ़ोन
  • ऑडियो एन्कोडर: हार्डवेयर ऐक्सेलरेटेड ऑडियो एन्कोडर, जो 8-बिट PCM मोनो ऑडियो को AAC में 44.1 किलोहर्ट्ज़ या उससे बेहतर तरीके से एन्कोड कर सकता है
  • वीडियो एन्कोडर: हार्डवेयर से तेज़ किया गया वीडियो एन्कोडर, जो 720P रॉ वीडियो को 30Hz या उससे बेहतर फ़्रेम रेट पर H.264/AVC में एन्कोड कर सकता है
  • 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);
}