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

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

উদাহরণ

এই ফ্লোটি এমন একটি অ্যাপের ইউজার এক্সপেরিয়েন্স দেখায়, যা ইউটিউব অ্যাপ্লিকেশনে ডিপ লিঙ্ক করে এবং এর মাধ্যমে ব্যবহারকারী মোবাইল লাইভ স্ট্রিম সেটআপ স্ক্রিনে পৌঁছান।

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

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

ইউটিউব লাইভ স্ট্রিমিং এবং মোবাইল লাইভ ডিপ লিঙ্ক সঠিকভাবে সমর্থন করার জন্য অ্যান্ড্রয়েড ডিভাইসগুলোকে নিম্নলিখিত শর্তগুলো পূরণ করতে হবে:

  • অ্যান্ড্রয়েড রিলিজ: মার্শমেলো (এপিআই ২৩) বা উচ্চতর
  • ক্যামেরা: কমপক্ষে একটি ক্যামেরা যা অন্তত 30Hz-এ 720p রেকর্ড করতে সক্ষম।
  • মাইক্রোফোন: অনবোর্ড মাইক্রোফোন
  • অডিও এনকোডার: হার্ডওয়্যার অ্যাক্সিলারেটেড অডিও এনকোডার যা ৮-বিট পিসিএম মনো অডিওকে ৪৪.১ কিলোহার্টজ বা তার চেয়ে উন্নত গতিতে এএসি-তে এনকোড করতে সক্ষম।
  • ভিডিও এনকোডার: হার্ডওয়্যার অ্যাক্সিলারেটেড ভিডিও এনকোডার যা 720P র ভিডিওকে 30Hz বা তার চেয়ে ভালো গতিতে H.264/AVC-তে এনকোড করতে সক্ষম।
  • ইউটিউব অ্যাপ ইনস্টল করা থাকলে: ভার্সন ১৩.০২ বা তার উচ্চতর

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

ইউটিউব মোবাইল লাইভ স্ট্রিমিং প্রক্রিয়ার সাথে যুক্ত হতে, আপনার অ্যান্ড্রয়েড অ্যাপ একটি ইন্টেন্ট চালু করে। এই ইন্টেন্টটি ইউটিউব অ্যাপ্লিকেশনে একটি অ্যাক্টিভিটি চালু করার মাধ্যমে লাইভ স্ট্রিমিং প্রক্রিয়াটি শুরু করে।

অভিপ্রায় বিন্যাস

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

উদ্দেশ্য অতিরিক্ত

ইউটিউব অ্যাপ্লিকেশন সেটআপ ফ্লো স্ট্রিম কনফিগারেশন পরিচালনা করে। নিম্নলিখিত ইন্টেন্ট এক্সট্রাগুলো লাইভ স্ট্রিমের সাথে সম্পর্কিত প্যারামিটার সেট করে:

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

লাইভ স্ট্রিমিং প্রবাহ চালু করা হচ্ছে

ধাপ ১: সহায়তার জন্য যাচাই করুন

আপনার ক্লায়েন্টকে প্রথমে যাচাই করে নিশ্চিত করতে হবে যে মোবাইল লাইভ ইন্টেন্টটি চালু করা যাবে কিনা। এর জন্য তাকে ডিভাইসে ইউটিউব অ্যাপ ইনস্টল করা আছে কিনা এবং অ্যাপটির সংস্করণ লাইভ স্ট্রিমিং সমর্থন করে কিনা, তা দেখতে হবে। নিম্নলিখিত কোড নমুনাটিতে এই কাজটি করার জন্য দুটি মেথড সংজ্ঞায়িত করা হয়েছে:

  • canResolveMobileLiveIntent মেথডটি যাচাই করে যে ডিভাইসটি `Mobile Live Intent` সমর্থন করে কি না।
  • validateMobileLiveIntent একটি if-else স্টেটমেন্টের প্রেক্ষাপটে canResolveMobileLiveIntent মেথডটিকে কল করে।
    • যদি ডিভাইসটি ইন্টেন্টটি সমর্থন করে, তাহলে ডিভাইসটি লাইভ স্ট্রিম প্রবাহটি চালু করতে পারবে।
    • যদি ডিভাইসটি ইন্টেন্টটি সমর্থন না করে, তাহলে ডিভাইসটি ব্যবহারকারীকে ইউটিউব অ্যাপটি ইনস্টল বা আপগ্রেড করার জন্য অনুরোধ করতে পারে।
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
  }
}

অ্যান্ড্রয়েড ১১ (এপিআই লেভেল ৩০) বা তার উচ্চতর সংস্করণকে লক্ষ্য করে তৈরি অ্যাপগুলিকে অবশ্যই AndroidManifest.xml ফাইলে প্যাকেজ দৃশ্যমানতার প্রয়োজনীয়তাগুলি ঘোষণা করতে হবে, যাতে PackageManager ইউটিউব অ্যাপ্লিকেশনটিকে কোয়েরি করতে পারে:

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