এক নজরে
এই গাইড API ক্লায়েন্ট অ্যাপ্লিকেশন ডেভেলপ করা ডেভেলপারদের জন্য লেখা হয়েছে, যারা লাইভ কন্টেন্ট স্ট্রিম করার জন্য
YouTube চ্যানেলের ডিফল্ট liveStream ও liveBroadcast রিসোর্স
ব্যবহার করে। আপনার অ্যাপ্লিকেশন যাতে ডিফল্ট ব্রডকাস্ট ও ডিফল্ট স্ট্রিম বন্ধ হয়ে যাওয়ার বিষয়টি
সহজে ম্যানেজ করতে পারে তা নিশ্চিত করতে এটি সাহায্য করে এবং নিম্নলিখিত যেকোনও বিবৃতি আপনার অ্যাপ্লিকেশনের ক্ষেত্রে প্রযোজ্য হলে
এটি আপনার জন্য প্রাসঙ্গিক:
- এটি
liveBroadcastরিসোর্সেরisDefaultBroadcastপ্রপার্টির ভ্যালু চেক করে। - এটি
liveStreamরিসোর্সেরisDefaultStreamপ্রপার্টির ভ্যালু চেক করে। এটি
liveBroadcasts.listমেথডকে কল করে এবংbroadcastTypeপ্যারামিটারের ভ্যালুpersistent-এ সেট করে। বন্ধ করার তারিখ অনুযায়ী:broadcastTypeপ্যারামিটারের ভ্যালুpersistentহলে,liveBroadcasts.listপদ্ধতি কোনও ফলাফল রিটার্ন করবে না।broadcastTypeপ্যারামিটার ভ্যালুallহলে, তাহলেliveBroadcasts.listমেথড সেইসব পারসিস্টেন্ট ব্রডকাস্ট রিটার্ন করবে না যেগুলি সেই সময়ের আগে থেকেই আছে।
আপনার অ্যাপ্লিকেশন প্রভাবিত হলে, আপনার অ্যাপ্লিকেশন আপডেট করা বিভাগটি দেখুন, যেখানে এই বন্ধ হয়ে যাওয়ার ফলে আপনার অ্যাপ্লিকেশনে যে পদ্ধতিগত পরিবর্তনগুলি করতে হতে পারে তা ব্যাখ্যা করা হয়েছে। এই বিভাগে ব্রডকাস্টের জীবন গাইডের নির্দিষ্ট ধাপগুলি চিহ্নিত করা হয়েছে, যা আপনার API ক্লায়েন্ট সাধারণত অনুসরণ নাও করতে পারে, যদি এটি বর্তমানে ডিফল্ট ব্রডকাস্ট এবং স্ট্রিম ব্যবহার করে।
কী ঘটছে?
২০১৫ সাল থেকে, কোনও চ্যানেলে লাইভ স্ট্রিমিং চালু করা হলে, YouTube অটোমেটিক একটি ডিফল্ট স্ট্রিম ও একটি ডিফল্ট ব্রডকাস্ট তৈরি করে। ডিফল্ট স্ট্রিম অনির্দিষ্টকালের জন্য ছিল এবং সেটি মুছে ফেলা যায়নি। একইভাবে, ডিফল্ট ব্রডকাস্টকে পারসিস্টেন্ট হিসেবে বিবেচনা করা হত। এটি সবসময়ই ছিল, এর সাথে কোনও শুরু বা শেষ হওয়ার সময় যুক্ত ছিল না এবং এটি কোনও নির্দিষ্ট ইভেন্টের সাথে আবদ্ধ ছিল না।
উপরে উল্লেখ করা বন্ধ করে দেওয়ার তারিখ থেকে, YouTube আর ডিফল্ট স্ট্রিম ও ব্রডকাস্ট তৈরি করবে না। এই পরিবর্তন সেইসব ক্লায়েন্ট অ্যাপ্লিকেশনকে প্রভাবিত করে যেগুলি লাইভ কন্টেন্ট ব্রডকাস্ট করার জন্য এইসব রিসোর্সের উপর নির্ভর করে। এছাড়াও, এটি সেইসব অ্যাপ্লিকেশনকেও প্রভাবিত করবে যেখানে ডিফল্ট রিসোর্স এবং চ্যানেল মালিকের তৈরি করা অন্যান্য ব্রডকাস্ট ও স্ট্রিমের মধ্যে পার্থক্য করার জন্য ইউজার ইন্টারফেস কাস্টমাইজ করা হয়েছে।
ডিফল্ট রিসোর্সের উপর নির্ভর না করে, API ক্লায়েন্টদের liveBroadcast ও liveStream রিসোর্স তৈরি ও
ম্যানেজ করতে হবে এবং সেইসব রিসোর্সকে একসাথে
বাইন্ড করতে হবে।
আপনার আবেদন আপডেট করা
পরিভাষা দ্রুত পর্যালোচনা করতে, ব্রডকাস্ট হল এমন একটি ইভেন্ট যা YouTube-এ চলাকালীন দেখা যায় এবং স্ট্রিম হল YouTube-এ প্রকৃত ভিডিও কন্টেন্ট পাঠানোর পদ্ধতি। একটি ব্রডকাস্টকে অবশ্যই ঠিক একটি স্ট্রিমের সাথে যুক্ত থাকতে হবে।
ডিফল্ট ব্রডকাস্ট থেকে মাইগ্রেট করা
এই অবচয়নের আগে, API ক্লায়েন্টরা চ্যানেলের ডিফল্ট ব্রডকাস্ট ব্যবহার করা বা ইভেন্ট-নির্দিষ্ট ব্রডকাস্ট তৈরি করার মধ্যে বেছে নিতে পারত। ডিফল্ট ব্রডকাস্ট হল একটি পারসিস্টেন্ট রিসোর্স যা একাধিক ইভেন্টের জন্য আবার ব্যবহার করা যেতে পারে, যেখানে ইভেন্ট-নির্দিষ্ট ব্রডকাস্ট রিসোর্স হল একটি সিঙ্গল-ইউজ রিসোর্স যা ঠিক একটি YouTube ভিডিওর সাথে সম্পর্কিত।
আপনার ক্লায়েন্ট অ্যাপ্লিকেশন
liveBroadcasts.list মেথড কল করলে এবং নিম্নলিখিত দু'টি কাজের মধ্যে একটি করলে, ডিফল্ট ব্রডকাস্ট ব্যবহার করে:
- এটি
broadcastTypeপ্যারামিটারের ভ্যালুpersistent-এ সেট করে। এই অনুরোধ শুধুমাত্র ডিফল্ট ব্রডকাস্ট পুনরুদ্ধার করে। - এটি
broadcastTypeপ্যারামিটারের ভ্যালুall-এ সেট করে, তারপর API রেসপন্সেliveBroadcastরিসোর্স শনাক্ত করে যার জন্যisDefaultBroadcastপ্রপার্টির ভ্যালু হলtrue।
এই ফিচার বন্ধ হয়ে যাওয়ার পরে, YouTube-এ শুধু ইভেন্ট-নির্দিষ্ট ব্রডকাস্ট করা যাবে।
এর অর্থ হল, ডিফল্ট ব্রডকাস্টের উপর নির্ভর করার পরিবর্তে, ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে
প্রতিটি ব্রডকাস্টিং ইভেন্টের জন্য
liveBroadcast
রিসোর্স
তৈরি করতে হবে।
liveBroadcast রিসোর্স তৈরি করতে, liveBroadcasts.insert পদ্ধতি কল করুন।
এই প্রসেসটি "ব্রডকাস্টের জীবন" গাইডের ১.১ নম্বর ধাপে ব্যাখ্যা করা হয়েছে।
আপনার ইউজার ইন্টারফেসে আগে থেকে এই সুবিধা না থাকলে, আসন্ন ইভেন্ট-নির্দিষ্ট ব্রডকাস্টের মধ্যে পার্থক্য করা এবং বেছে নেওয়ার জন্য ব্যবহারকারীদের সুবিধা প্রদান করতে হবে।
ডিফল্ট স্ট্রিম থেকে মাইগ্রেট করা হচ্ছে
স্ট্রিম আপনাকে YouTube-এ অডিও-ভিডিও কন্টেন্ট ট্রান্সমিট করতে দেয় এবং এটি YouTube-এ কন্টেন্ট স্ট্রিম করার সেটিংস নির্ধারণ করে। ব্রডকাস্টাররা বিভিন্ন সময়ে ব্রডকাস্ট করার জন্য একই স্ট্রিম বারবার ব্যবহার করেন।
আপনার অ্যাপ্লিকেশন ডিফল্ট স্ট্রিম ব্যবহার করতে না পারলেও, এটি একটি
পুনর্ব্যবহারযোগ্য স্ট্রিম তৈরি করতে পারে যা প্রতিটি ব্রডকাস্টের জন্য আবার ব্যবহার করা যেতে পারে। liveStream
রিসোর্স তৈরি করতে, "ব্রডকাস্টের লাইফ"
গাইডের ১.২ নম্বর ধাপ-এ দেওয়া নির্দেশাবলী অনুসরণ করে liveStreams.insert
মেথড কল করুন। ডিফল্ট
হিসেবে, নতুন তৈরি স্ট্রিম আবার ব্যবহারযোগ্য। তবে, আপনি চাইলে, contentDetails.isReusable
প্রপার্টি false-এ সেট করে সিঙ্গল-ইউজ স্ট্রিম তৈরি করতে পারেন এবং ব্রডকাস্ট ও স্ট্রিমের মধ্যে ওয়ান-টু-ওয়ান
সম্পর্ক তৈরি করতে পারেন।
নতুন স্ট্রিম তৈরি করার সময় আপনি যে চারটি প্রপার্টি সেট করতে পারবেন, সেগুলি নিচে দেওয়া হল। এগুলি ছাড়াও স্ট্রিমের নাম ও স্ট্রিমের বিবরণ সেট করতে পারবেন। এই তালিকায় সেইসব ভ্যালু দেখানো হয় যা ডিফল্ট স্ট্রিম প্রতিটি প্রপার্টির জন্য ব্যবহার করে, আপনি ডিফল্ট স্ট্রিম ব্যবহার করা বন্ধ করে অন্য কোনও ক্লায়েন্ট অ্যাপ্লিকেশন ব্যবহার করতে চাইলে, সম্ভবত এই সেটিংসই ব্যবহার করতে চাইবেন।
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
ব্রডকাস্টকে স্ট্রিমের সাথে বাইন্ড করা হচ্ছে
YouTube-এ লাইভ ব্রডকাস্ট শুরু করার আগে প্রতিটি liveBroadcast রিসোর্সকে অবশ্যই একটি স্ট্রিমের সাথে
যুক্ত করতে হবে। (ব্রডকাস্ট তৈরি করার সময় সেটি কোনও
স্ট্রিমের সাথে যুক্ত থাকে না।)
ডিফল্ট ব্রডকাস্টের জন্য বাইন্ডিং প্রসেস অটোমেটিক ম্যানেজ করা হয়েছে, যা ডিফল্ট স্ট্রিমের সাথে অবিচ্ছেদ্যভাবে যুক্ত ছিল। তবে, বন্ধ করার তারিখের পরে, ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে সমস্ত ব্রডকাস্টের জন্য সেই প্রসেস ম্যানেজ করতে হবে।
কোনও স্ট্রিমে ব্রডকাস্ট বাইন্ড করতে, liveBroadcasts.bind পদ্ধতি কল করুন,
যেমনটি "লাইফ অফ এ ব্রডকাস্ট"
গাইডের ১.৩ ধাপে ব্যাখ্যা করা হয়েছে।
- আপনি আবার ব্যবহারযোগ্য স্ট্রিম ব্যবহার করলে, একবার স্ট্রিম তৈরি করে প্রতিটি ব্রডকাস্ট সেই স্ট্রিমের সাথে বাইন্ড করতে পারবেন।
- আপনি যদি আবার ব্যবহার করা যায় এমন স্ট্রিম ব্যবহার না করেন, তাহলে আপনাকে একটি ব্রডকাস্ট ও একটি স্ট্রিম তৈরি করতে হবে এবং তারপরে সেই দুটিকে একসাথে বাইন্ড করতে হবে।
আপনার ব্রডকাস্ট পরীক্ষা করা হচ্ছে
আপনি ডিফল্ট ব্রডকাস্ট ব্যবহার না করলে, আপনার ব্রডকাস্ট পরীক্ষা করার বিকল্প থাকে। পরীক্ষা করার জন্য, আপনি এমন একটি প্লেয়ার এম্বেড করেন যা আপনাকে ব্রডকাস্ট ভিডিওর প্রিভিউ দেখায়। YouTube-এর দর্শকরা যেভাবে ভিডিওটি দেখতে পাবেন, আপনিও ঠিক সেভাবেই দেখতে পাবেন, তবে অন্যান্য দর্শকরা ব্রডকাস্ট দেখতে পাবেন না।
আপনার API ক্লায়েন্ট আগে ডিফল্ট ব্রডকাস্ট ও স্ট্রিম ব্যবহার করে থাকলে এবং আপনি স্ট্রিমিং প্রসেসে টেস্টিং ফেজ যোগ করতে চাইলে, "ব্রডকাস্টের লাইফ" গাইডের ৩ নম্বর ধাপ দেখুন।
আপনি যদি নিজের স্ট্রিম পরীক্ষা করতে চান, তাহলে ব্রডকাস্ট যোগ করার সময় আপনাকে
contentDetails.monitorStream.enableMonitorStream
প্রপার্টিকে true এবং contentDetails.enableAutoStart
প্রপার্টিকে
false হিসেবে সেট করতে হবে। দুটি প্রপার্টির জন্যই এগুলি হল ডিফল্ট ভ্যালু।
অটোমেটিক চালু ও বন্ধ করার ফিচার ব্যবহার করা
আপনি ডিফল্ট স্ট্রিম থেকে ভিডিও স্ট্রিমিং শুরু করলেই ডিফল্ট ব্রডকাস্ট অটোমেটিক শুরু হয়ে যেত। একইভাবে, আপনি ভিডিও স্ট্রিম করা বন্ধ করার পরে ডিফল্ট ব্রডকাস্ট শেষ হয়ে গেছে। সেই ডিফল্ট রিসোর্স ব্যবহার করে প্রতিটি স্ট্রিমিং সেশন পরবর্তীকালে আপনার চ্যানেলে একটি ভিডিও হয়ে ওঠে।
ডিফল্ট ব্রডকাস্টের ক্ষেত্রে অটোমেটিক শুরু ও অটোমেটিক বন্ধ করার ফিচার ডিফল্ট অ্যাকশন হিসেবে কাজ করলেও, অন্যান্য ব্রডকাস্টের ক্ষেত্রে এই ফিচারগুলি ঐচ্ছিক এবং চালু করতে হয়। আপনি যদি এইসব ফিচার ব্যবহার করতে চান, তাহলে ব্রডকাস্ট যোগ করার সময়
আপনাকে contentDetails.enableAutoStart
এবং
contentDetails.enableAutoStop
প্রপার্টির ভ্যালু true-এ সেট করতে হবে। এই ফিচারগুলি স্বতন্ত্র, তাই আপনি একটি ব্যবহার করার সিদ্ধান্ত নিতে পারেন
এবং অন্যটি নয়।
আপনি যদি নতুন ব্রডকাস্টের জন্য অটোমেটিক-শুরু এবং অটোমেটিক-বন্ধ ফিচার চালু না করেন, তাহলে আপনার API ক্লায়েন্টকে liveBroadcasts.transition পদ্ধতি কল করতে হবে যাতে আপনি ভিডিও স্ট্রিমিং শুরু এবং শেষ করার সময় ব্রডকাস্টের স্ট্যাটাস আপডেট করা যায়। "ব্রডকাস্টের জীবন" নির্দেশিকায়, ব্রডকাস্টের শুরু ও শেষে এইসব ট্রানজিশন ম্যানেজ করার নির্দেশাবলীর জন্য ধাপ ৪.৩ এবং ধাপ ৫.২ দেখুন।