Android ডিভাইসে YouTube লাইভ স্ট্রিম শুরু করা

YouTube মোবাইল লাইভ ডিপ লিঙ্কের মাধ্যমে Android অ্যাপ্লিকেশন সরাসরি মোবাইল ডিভাইস থেকে YouTube লাইভস্ট্রিম শুরু করতে পারে। অ্যাপকে শুধু একটি এন্ট্রি পয়েন্ট দিতে হবে, যেমন, ব্যবহারকারী ক্লিক করতে পারেন এমন একটি বোতাম, যা Android ইনটেন্ট মেকানিজম ব্যবহার করে মোবাইল লাইভ ফ্লো শুরু করে।

উদাহরণ

এই ফ্লোতে YouTube অ্যাপ্লিকেশনে ডিপ লিঙ্ক করা অ্যাপের জন্য ব্যবহারকারীর অভিজ্ঞতা দেখানো হয়, যেখানে ব্যবহারকারী মোবাইল লাইভস্ট্রিম সেট-আপ স্ক্রিনে ল্যান্ড করেন।

  1. প্রথমে, ব্যবহারকারী স্ট্রিম কনফিগার করেন, শীর্ষক, গোপনীয়তা মোড ও অন্যান্য স্ট্রিম বিকল্প সেট করেন।
  2. তারপর, ব্যবহারকারী থাম্বনেল ফটো স্ক্রিনে নেভিগেট করে স্ট্রিমের জন্য থাম্বনেল ছবি সেট করেন।
  3. অবশেষে, ব্যবহারকারী লাইভস্ট্রিম শুরু করেন এবং সামনের বা পিছনের ক্যামেরা থেকে ভিউ ব্রডকাস্ট করেন।

মোবাইল লাইভস্ট্রিম সেট-আপ স্ক্রিন থাম্বনেল ফটো স্ক্রিন মোবাইল লাইভস্ট্রিম ব্রডকাস্ট স্ক্রিন

ডিভাইস সংক্রান্ত প্রয়োজনীয়তা

YouTube লাইভ স্ট্রিমিং ও মোবাইল লাইভ ডিপ লিঙ্কের সুবিধা সঠিকভাবে ব্যবহার করতে Android ডিভাইসে নিম্নলিখিত প্রয়োজনীয়তা পূরণ করতে হবে:

  • Android রিলিজ: Marshmallow (API 23) বা তার পরবর্তী যেকোনও ভার্সন
  • ক্যামেরা: অন্তত একটি ক্যামেরা যা কমপক্ষে ৩০Hz-এ ৭২০p রেকর্ড করতে পারে
  • মাইক্রোফোন: অনবোর্ড মাইক্রোফোন
  • অডিও এনকোডার: হার্ডওয়্যার অ্যাক্সিলারেটেড অডিও এনকোডার যা ৮-বিট PCM মোনো অডিওকে ৪৪.১ কিলোহার্ৎজ বা তার চেয়ে আরও ভালো AAC-তে এনকোড করতে পারে
  • ভিডিও এনকোডার: হার্ডওয়্যার অ্যাক্সিলারেটেড ভিডিও এনকোডার যা 720P র ভিডিওকে H.264/AVC-তে 30Hz বা তার বেশি ফ্রিকোয়েন্সিতে এনকোড করতে পারে
  • YouTube অ্যাপ ইনস্টল করা আছে: ভার্সন 13.02 বা তার পরের যেকোনও ভার্সন

মোবাইল লাইভ ইনটেন্ট স্পেসিফিকেশন

YouTube মোবাইল লাইভ স্ট্রিমিং ফ্লোতে লিঙ্ক করতে, আপনার Android অ্যাপ একটি ইনটেন্ট লঞ্চ করে। ইনটেন্ট, YouTube অ্যাপ্লিকেশনে একটি অ্যাক্টিভিটি শুরু করার মাধ্যমে লাইভ স্ট্রিমিং প্রসেস শুরু করে।

ইনটেন্ট ফর্ম্যাট

YouTube অ্যাপের মধ্যে লাইভ ক্রিয়েশন অ্যাক্টিভিটিতে নেভিগেট করার জন্য মোবাইল লাইভ ইনটেন্ট কাস্টম Action স্ট্রিং ব্যবহার করে। এটি YouTube মোবাইল অ্যাপের জন্য প্যাকেজের নামও নির্দিষ্ট করে।

ইনটেন্ট এক্সট্রা

YouTube অ্যাপ্লিকেশন সেট-আপ ফ্লো স্ট্রিম কনফিগারেশন ম্যানেজ করে। নিম্নলিখিত ইন্টেন্ট এক্সট্রা লাইভ স্ট্রিমের সাথে সম্পর্কিত প্যারামিটার সেট করে:

প্যারামিটার
Intent.EXTRA_REFERRER প্রয়োজনীয়। এই প্যারামিটারটি একটি URI নির্দিষ্ট করে যা লাইভ স্ট্রিমিং অ্যাক্টিভিটি চালু করা অ্যাপ্লিকেশনটিকে উপস্থাপন করে। এই ভ্যালু অবশ্যই প্যাকেজের নাম সহ android-app: scheme ফর্ম্যাট অনুসরণ করতে হবে। এই ভ্যালু সঠিক অ্যাট্রিবিউশন ও অ্যাকাউন্টিংয়ের সুবিধা দেয়।
Intent.EXTRA_SUBJECT ঐচ্ছিক। এই প্যারামিটার লাইভ স্ট্রিমের টেক্সট বিবরণ প্রদান করে। এটি Intent এক্সট্রা বান্ডেলে String হিসেবে রাখা হয়। এই ভ্যালু ব্যবহার করে স্ট্রিমে ব্র্যান্ডেড মেসেজ অ্যানোটেট করা যেতে পারে, যেমন "DEVICE থেকে লাইভ স্ট্রিম করা হয়েছে"।

লাইভ স্ট্রিমিং ফ্লো লঞ্চ করা হচ্ছে

আপনার Android অ্যাপ থেকে ডিভাইস মানানসই কিনা তা যাচাই করতে এবং মোবাইল লাইভ অ্যাক্টিভিটি শুরু করতে, নিম্নলিখিত দুটি ধাপ সম্পূর্ণ করুন।

ধাপ ১: সহায়তা চেক করা

আপনার ক্লায়েন্টকে প্রথমে কনফার্ম করতে হবে যে ডিভাইসে 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> resolveInfo =
    pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
  return resolveInfo != null && !resolveInfo.isEmpty();
}


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

Android 11 (API লেভেল ৩০) বা তার পরবর্তী যেকোনও ভার্সনকে টার্গেট করা অ্যাপকে অবশ্যই প্যাকেজ দৃশ্যমানতা সংক্রান্ত প্রয়োজনীয়তা AndroidManifest.xml ফাইলে ঘোষণা করতে হবে যাতে PackageManager YouTube অ্যাপ্লিকেশন কোয়েরি করতে পারে:

<queries>
  <package android:name="com.google.android.youtube" />
  <intent>
    <action android:name="com.google.android.youtube.intent.action.CREATE_LIVE_STREAM" />
  </intent>
</queries>

ধাপ ২: লাইভ স্ট্রিম অ্যাক্টিভিটি লঞ্চ করা

লাইভ স্ট্রিমিং ফ্লো শুরু করতে, আপনার ক্লায়েন্ট অ্যাপ একটি Intent তৈরি ও লঞ্চ করে যেমনটি নিম্নলিখিত কোড স্যাম্পেলে দেখানো হয়েছে:

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);
}