YouTube লাইভ স্ট্রিমিং API ওভারভিউ

YouTube লাইভ স্ট্রিমিং API আপনাকে YouTube-এ লাইভ ইভেন্ট তৈরি, আপডেট এবং পরিচালনা করতে দেয়। API ব্যবহার করে, আপনি ইভেন্টগুলি (সম্প্রচার) সময়সূচী করতে পারেন এবং তাদের ভিডিও স্ট্রিমগুলির সাথে সংযুক্ত করতে পারেন, যা প্রকৃত সম্প্রচার সামগ্রীর প্রতিনিধিত্ব করে৷

লাইভ স্ট্রিমিং API আসলে YouTube Data API এবং YouTube Content ID API-এর উপাদান নিয়ে গঠিত। ডেটা API YouTube ব্যবহারকারীদের তাদের YouTube অ্যাকাউন্টগুলি পরিচালনা করতে সক্ষম করে, যখন YouTube Content ID API YouTube এর অধিকার ব্যবস্থাপনা সিস্টেমের সাথে ইন্টারঅ্যাকশন সক্ষম করে৷ যাইহোক, লাইভ স্ট্রিমিং API তৈরি করা সমস্ত সংস্থান শুধুমাত্র লাইভ ইভেন্ট তৈরি এবং পরিচালনা করতে ব্যবহৃত হয়।

এই দস্তাবেজটি এমন ডেভেলপারদের জন্য যারা YouTube এ লাইভ সম্প্রচারের সুবিধার্থে অ্যাপ্লিকেশন লিখতে চান। এটি ইউটিউব এবং API এর মৌলিক ধারণাগুলি ব্যাখ্যা করে। এটি API সমর্থন করে এমন বিভিন্ন ফাংশনগুলির একটি ওভারভিউ প্রদান করে।

মুল ধারণা

সম্প্রচার
একটি সম্প্রচার এমন একটি ইভেন্টকে উপস্থাপন করে যা YouTube-এ দেখা যেতে পারে। সম্প্রচারগুলি ইউটিউব ভিডিও হিসাবে রেকর্ড এবং সংরক্ষণ করা যেতে পারে যাতে ব্যবহারকারীরা সেগুলি হওয়ার পরে দেখতে পারে৷
প্রবাহ
একটি স্ট্রীম অডিও-ভিডিও সামগ্রী সনাক্ত করে যা YouTube-এ যোগাযোগ করা হচ্ছে। প্রতিটি সম্প্রচার একটি ভিডিও স্ট্রিমের সাথে যুক্ত।
ক্যুপয়েন্ট
একটি কিউপয়েন্ট একটি বিজ্ঞাপন বিরতির প্রতিনিধিত্ব করে যা একটি লাইভ সম্প্রচারে ঢোকানো যেতে পারে।

API ব্যবহারের ক্ষেত্রে

নীচের তালিকাটি আপনার অ্যাপ্লিকেশনে API ব্যবহার করার বিভিন্ন উপায়ের পরামর্শ দেয়:

  • সম্প্রচারের সময়সূচী করুন এবং সম্প্রচার সেটিংস সংজ্ঞায়িত করুন। আপনার অ্যাপ্লিকেশন ব্যবহারকারীদের সম্প্রচার সেটিংস পূর্বনির্ধারিত করতে এবং তারপর একটি নির্দিষ্ট সম্প্রচারে প্রয়োগ করার জন্য সেটিংস নির্বাচন করতে সক্ষম করতে পারে৷

  • সহযোগী ভিডিও স্ট্রিম এবং সম্প্রচার.

  • একই সময়ে একটি সম্প্রচার এবং তার ভিডিও ( YouTube ডেটা API ব্যবহার করে) সম্পর্কে তথ্য সংজ্ঞায়িত করতে সম্প্রচারকারীদের সক্ষম করুন৷

  • ব্রডকাস্ট স্টেটের মধ্যে ট্রানজিশন সহজ করুন (উদাহরণস্বরূপ, testing বা live ) এবং ব্যবহারকারীদের ক্যুপয়েন্ট সন্নিবেশ করতে সক্ষম করুন।

শুরু করার আগে

  1. Google API Console অ্যাক্সেস করতে, একটি API কী অনুরোধ করতে এবং আপনার অ্যাপ্লিকেশন নিবন্ধন করতে আপনার একটি Google অ্যাকাউন্ট প্রয়োজন৷

  2. Google এর সাথে আপনার আবেদন নিবন্ধন করুন যাতে এটি API অনুরোধ জমা দিতে পারে।

  3. আপনার অ্যাপ্লিকেশন নিবন্ধন করার পরে, আপনার অ্যাপ্লিকেশন ব্যবহার করে এমন একটি পরিষেবা হিসাবে YouTube Data API নির্বাচন করুন:

    1. API Console যান এবং আপনি এইমাত্র নিবন্ধিত প্রকল্পটি নির্বাচন করুন।
    2. সক্রিয় APIs পৃষ্ঠায় যান। API-এর তালিকায়, YouTube Data API v3-এর জন্য স্ট্যাটাস চালু আছে কিনা নিশ্চিত করুন এবং আপনি যদি একজন YouTube বিষয়বস্তু অংশীদার হন, তাহলে YouTube Content ID API।

  4. জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন (JSON) ডেটা ফর্ম্যাটের মূল ধারণাগুলির সাথে নিজেকে পরিচিত করুন। JSON হল একটি সাধারণ, ভাষা-স্বাধীন ডেটা ফর্ম্যাট যা নির্বিচারে ডেটা স্ট্রাকচারের একটি সাধারণ পাঠ্য উপস্থাপনা প্রদান করে। আরও তথ্যের জন্য, json.org দেখুন।

API অনুরোধ অনুমোদন

উপরে উল্লিখিত হিসাবে, লাইভ স্ট্রিমিং API কার্যকারিতা ব্যবহার করে যা প্রযুক্তিগতভাবে YouTube ডেটা API বা YouTube Content ID API-এর অংশ। আপনি YouTube-কে মেটাডেটা, মালিকানা তথ্য এবং আপনার সম্পদের নীতি সংক্রান্ত তথ্য প্রদান করতে Content ID API ব্যবহার করতে পারেন। (একটি লাইভ ভিডিও সম্প্রচার একটি সম্পদের একটি উদাহরণ৷) API আপনাকে ভিডিও দাবি করতে এবং আপনার ভিডিওগুলির জন্য বিজ্ঞাপন নীতি সেট করতে দেয়৷

এই বিভাগটি Content ID API তে অনুরোধের জন্য অনুমোদনের প্রয়োজনীয়তা ব্যাখ্যা করে, যা অন্যান্য Live Streaming API অনুরোধ অনুমোদনের প্রয়োজনীয়তা থেকে আলাদা।

Data API কল করা হচ্ছে
API অনুরোধটি অবশ্যই সম্প্রচারকারী YouTube চ্যানেলের মালিকানাধীন Google অ্যাকাউন্ট দ্বারা অনুমোদিত হতে হবে৷
Content ID API কল করা হচ্ছে
API অনুরোধটি অবশ্যই একটি Google অ্যাকাউন্ট দ্বারা অনুমোদিত হতে হবে যা সম্প্রচারকারী YouTube চ্যানেলের মালিক সামগ্রীর মালিকের সাথে লিঙ্কযুক্ত৷

সম্পদ এবং সম্পদের ধরন

একটি সম্পদ একটি অনন্য শনাক্তকারী সহ একটি পৃথক ডেটা সত্তা। Live Streaming API ব্যবহার করে আপনি যে বিভিন্ন ধরনের রিসোর্সের সাথে ইন্টারঅ্যাক্ট করবেন নীচের টেবিলটি বর্ণনা করে। প্রযুক্তিগতভাবে, এই সমস্ত সংস্থানগুলি আসলে YouTube Data API বা YouTube Content ID API এর অংশ হিসাবে সংজ্ঞায়িত করা হয়েছে৷ যাইহোক, liveBroadcast , liveStream , এবং cuepoint সংস্থানগুলি শুধুমাত্র লাইভ ইভেন্টগুলি তৈরি এবং পরিচালনা করতে ব্যবহৃত হয়।

সম্পদ
liveBroadcast আপনি YouTube এ সম্প্রচার করছেন এমন একটি ইভেন্ট সম্পর্কে তথ্য রয়েছে৷ একটি liveBroadcast রিসোর্স হল একটি YouTube ভিডিও রিসোর্সের একটি এক্সটেনশন এবং ভিডিও মেটাডেটা সেট করে যা একটি লাইভ সম্প্রচারের জন্য প্রাসঙ্গিক হবে কিন্তু অন্য YouTube ভিডিওগুলির জন্য নয়৷

যেমন, একটি liveBroadcast রিসোর্স ঠিক একটি YouTube ভিডিও রিসোর্সের সাথে মিলে যায়। আসলে, liveBroadcast রিসোর্স এবং video রিসোর্স একই আইডি শেয়ার করে। এবং লাইভ স্ট্রিমিং API ব্যবহার করে সম্প্রচার তৈরি করার পরে, আপনি ভিডিও সম্পর্কে অতিরিক্ত মেটাডেটা প্রদান করতে YouTube ডেটা API ব্যবহার করতে পারেন।
liveStream আপনি YouTube-এ যে ভিডিও স্ট্রিম ট্রান্সমিট করছেন সে সম্পর্কে তথ্য রয়েছে৷ স্ট্রিমটি এমন সামগ্রী সরবরাহ করে যা YouTube ব্যবহারকারীদের কাছে সম্প্রচার করা হবে। একবার তৈরি হয়ে গেলে, একটি liveStream সংস্থান ঠিক একটি liveBroadcast সংস্থানের সাথে আবদ্ধ হতে পারে। একইভাবে, liveBroadcast রিসোর্স শুধুমাত্র একটি liveStream রিসোর্সে আবদ্ধ হতে পারে।
cuepoint সম্প্রচার ভিডিও স্ট্রীমে একটি কিউপয়েন্ট সন্নিবেশ করান, যা একটি বিজ্ঞাপন বিরতি ট্রিগার করতে পারে৷ একটি সম্প্রচারের সময় একটি কিউপয়েন্ট সন্নিবেশ করতে liveBroadcasts.cuepoint পদ্ধতি ব্যবহার করুন।
video একটি একক YouTube ভিডিও প্রতিনিধিত্ব করে। উপরে উল্লিখিত হিসাবে, একটি liveBroadcast সংস্থান একটি video সংস্থানের একটি এক্সটেনশন। আপনি ভিডিও সম্পর্কে মেটাডেটা আপডেট করতে YouTube ডেটা API ব্যবহার করতে পারেন, যেমন রেকর্ডিং অবস্থান বা যে অঞ্চলে সম্প্রচার দেখা যাবে।
videoAdvertisingOptions একটি ভিডিও (বা সম্প্রচার) এর জন্য বিজ্ঞাপন সেটিংস সংজ্ঞায়িত করে। বিজ্ঞাপনের বিকল্প সেট করতে আপনি YouTube Content ID API ব্যবহার করেন।
asset বৌদ্ধিক সম্পত্তির একটি অংশকে প্রতিনিধিত্ব করে, যেমন একটি চলচ্চিত্র বা একটি অনুষ্ঠানের একটি পর্ব৷ এই ক্ষেত্রে, সম্প্রচারিত ভিডিও সম্পদ। asset সম্পদ তৈরি এবং পরিচালনা করতে আপনি YouTube Content ID API ব্যবহার করবেন।
claim ভিডিওটি মেলে এমন একটি সম্পদের সাথে একটি ভিডিও লিঙ্ক করে৷ আপনি YouTube Content ID API ব্যবহার করে, সম্প্রচার ভিডিওর মালিক হিসাবে নিজেকে চিহ্নিত করতে একটি দাবি তৈরি করেন৷
policy নিয়মগুলি সংজ্ঞায়িত করে যা নির্দিষ্ট করে যে পরিস্থিতিতে আপনি আপনার বিষয়বস্তু YouTube-এ দর্শনযোগ্য হতে চান বা YouTube-এ প্রদর্শিত হতে অবরুদ্ধ করতে চান৷ আপনাকে আপনার সম্প্রচার ভিডিওতে একটি নীতি প্রয়োগ করতে হবে এবং এমন একটি নীতিও নির্দিষ্ট করতে পারেন যা YouTube ব্যবহারকারীর আপলোড করা ভিডিওগুলিতে প্রয়োগ করবে যা আপনার সম্প্রচার ভিডিওর সাথে মেলে৷

সমর্থিত অপারেশন

নিম্নলিখিত টেবিলটি API সমর্থন করে এমন বিভিন্ন পদ্ধতি দেখায়:

অপারেশন
list শূন্য বা তার বেশি সম্পদের একটি তালিকা ( GET ) উদ্ধার করে।
insert একটি নতুন সংস্থান ( POST ) তৈরি করে।
update আপনার অনুরোধে ডেটা প্রতিফলিত করার জন্য একটি বিদ্যমান সংস্থান পরিবর্তন করে ( PUT )।
bind liveStream রিসোর্সের সাথে একটি liveBroadcast রিসোর্স লিঙ্ক করে বা এই ধরনের লিঙ্ক সরিয়ে দেয়।
transition একটি liveBroadcast রিসোর্সের স্থিতি পরিবর্তন করে এবং নতুন স্থিতির সাথে সম্পর্কিত যেকোন প্রক্রিয়া শুরু করে। উদাহরণস্বরূপ, আপনি যখন একটি সম্প্রচারের স্থিতি testing স্থানান্তর করেন, তখন YouTube সেই সম্প্রচারের মনিটর স্ট্রীমে ভিডিও প্রেরণ করতে শুরু করে৷
delete একটি নির্দিষ্ট সংস্থান ( DELETE ) সরিয়ে দেয়৷

নীচের সারণীটি বিভিন্ন ধরণের সংস্থানগুলির জন্য সমর্থিত ক্রিয়াকলাপগুলিকে চিহ্নিত করে৷ সংস্থানগুলি সন্নিবেশ করা, আপডেট করা বা মুছে ফেলার জন্য সর্বদা ব্যবহারকারীর অনুমোদনের প্রয়োজন হয়৷ কিছু ক্ষেত্রে, list পদ্ধতিগুলি অনুমোদিত এবং অননুমোদিত উভয় অনুরোধকেই সমর্থন করে, যেখানে অননুমোদিত অনুরোধগুলি শুধুমাত্র সর্বজনীন ডেটা পুনরুদ্ধার করে যখন অনুমোদিত অনুরোধগুলি সেই তথ্য পুনরুদ্ধার করতে পারে যা বর্তমানে প্রমাণীকৃত ব্যবহারকারীর জন্য সীমাবদ্ধ।

সমর্থিত অপারেশন
list insert update bind transition cuepoint delete
সরাসরি সম্প্রচার
সরাসরি সম্প্রচার

আংশিক সম্পদ

API আংশিক সংস্থান পুনরুদ্ধারের অনুমতি দেয় এবং প্রকৃতপক্ষে প্রয়োজন হয় যাতে অ্যাপ্লিকেশনগুলি অপ্রয়োজনীয় ডেটা স্থানান্তর, পার্সিং এবং সংরক্ষণ করা এড়াতে পারে। এই পদ্ধতিটি নিশ্চিত করে যে API নেটওয়ার্ক, CPU এবং মেমরি সংস্থানগুলি আরও দক্ষতার সাথে ব্যবহার করে।

part প্যারামিটার হল যেকোনো API অনুরোধের জন্য একটি প্রয়োজনীয় প্যারামিটার যা একটি YouTube Data API সংস্থান পুনরুদ্ধার করে বা ফেরত দেয়। প্যারামিটারটি এক বা একাধিক শীর্ষ-স্তরের (নন-নেস্টেড) সম্পদ বৈশিষ্ট্য সনাক্ত করে যা একটি API প্রতিক্রিয়াতে অন্তর্ভুক্ত করা উচিত। উদাহরণস্বরূপ, একটি liveStream সংস্থানের নিম্নলিখিত অংশগুলি রয়েছে:

  • snippet
  • cdn
  • status

এই সমস্ত অংশগুলি এমন বস্তু যেগুলিতে নেস্টেড বৈশিষ্ট্য রয়েছে এবং আপনি এই বস্তুগুলিকে মেটাডেটা ক্ষেত্রগুলির গ্রুপ হিসাবে ভাবতে পারেন যা API সার্ভার পুনরুদ্ধার করতে পারে (বা নাও করতে পারে)৷ যেমন, part প্যারামিটারের জন্য আপনাকে আপনার অ্যাপ্লিকেশন আসলে যে রিসোর্স উপাদানগুলি ব্যবহার করে তা নির্বাচন করতে হবে। এই প্রয়োজনীয়তা দুটি গুরুত্বপূর্ণ উদ্দেশ্যে কাজ করে:

  • এটি API সার্ভারকে আপনার অ্যাপ্লিকেশন ব্যবহার করে না এমন মেটাডেটা ক্ষেত্রগুলি পুনরুদ্ধার করতে সময় ব্যয় করতে বাধা দিয়ে বিলম্ব কমায়৷
  • এটি আপনার অ্যাপ্লিকেশন পুনরুদ্ধার করতে পারে এমন অপ্রয়োজনীয় ডেটার পরিমাণ হ্রাস করে (বা বাদ দিয়ে) ব্যান্ডউইথের ব্যবহার হ্রাস করে।

সময়ের সাথে সাথে, সংস্থানগুলি আরও অংশ যোগ করার সাথে সাথে, এই সুবিধাগুলি কেবলমাত্র বৃদ্ধি পাবে কারণ আপনার অ্যাপ্লিকেশনটি নতুন প্রবর্তিত বৈশিষ্ট্যগুলির জন্য অনুরোধ করবে না যা এটি সমর্থন করে না।

টিপস এবং সেরা অনুশীলন

আপনার বিষয়বস্তু দাবি করুন

আপনি যদি আপনার সম্প্রচারের সময় বিজ্ঞাপন দেখাতে চান, তাহলে ইভেন্ট শুরু হওয়ার আগে আপনাকে সম্প্রচার ভিডিও দাবি করতে হবে। বিষয়বস্তু দাবি করার জন্য, আপনাকে অবশ্যই একটি YouTube বিষয়বস্তু অংশীদার হতে হবে যারা Content ID প্রোগ্রামে অংশগ্রহণ করছেন।

আপনার লাইভ সম্প্রচারিত ভিডিও দাবি করার প্রক্রিয়াটি একটি ভিডিও দাবি করার জন্য স্বাভাবিক প্রক্রিয়ার চেয়ে আলাদা। লাইভ ভিডিও দাবি করার সময়, ভিডিওটি আসলে উপস্থিত হওয়ার আগে আপনাকে আপনার দাবি তৈরি করতে হবে। API এটিকে সমর্থন করে, এবং একটি সম্প্রচার নথির জীবন ব্যাখ্যা করে YouTube Content ID API কলগুলি যা আপনাকে আপনার দাবি তৈরি করতে সক্ষম করে৷

প্রিভিউ এবং আপনার বিষয়বস্তু পরীক্ষা

আপনার অন্তর্মুখী ভিডিও স্ট্রীম পাওয়ার পরে, YouTube তারপরে দুটি ভিন্ন আউটবাউন্ড স্ট্রীমে সেই ভিডিওটি সম্প্রচার করতে পারে:

  • মনিটর স্ট্রীম আপনাকে আপনার ভিডিও সম্প্রচারের পূর্বরূপ (এবং পরীক্ষা) করতে সক্ষম করে। এটি একটি ব্যক্তিগত স্ট্রিম যা শুধুমাত্র আপনার কাছে অ্যাক্সেসযোগ্য৷ যদি সম্প্রচারের মনিটর স্ট্রীম সক্ষম থাকে তবেই আপনি একটি সম্প্রচারকে testing পর্যায়ে স্থানান্তর করতে পারেন৷ মনিটর স্ট্রীম বিজ্ঞাপন বিরতি দেখায় না।

  • সম্প্রচার স্ট্রীম হল আপনার দর্শকদের কাছে দৃশ্যমান স্ট্রীম। আপনি সম্প্রচারের গোপনীয়তার স্থিতি public , private বা unlisted তে সেট করতে পারেন৷ (একটি ব্যক্তিগত সম্প্রচার কেবলমাত্র সেই ব্যবহারকারীদের কাছে দৃশ্যমান হয় যাদের এটি দেখার জন্য স্পষ্টভাবে আমন্ত্রণ জানানো হয়েছে, যখন একটি তালিকাবিহীন সম্প্রচার এটি দেখার লিঙ্ক সহ যে কেউ দৃশ্যমান।)

    আপনি ব্রডকাস্ট স্ট্রীমকে বিলম্বিত করতে বেছে নিতে পারেন যাতে এটি মনিটর স্ট্রিমের সাথে একসাথে চলতে না পারে। সম্প্রচার স্ট্রীম বিলম্বিত করে, আপনি সম্প্রচারে ক্যুপয়েন্ট সন্নিবেশ করার সময় আপনার আরও সূক্ষ্ম নিয়ন্ত্রণ থাকতে পারে।

    যাইহোক, সম্প্রচার স্ট্রীম বিলম্বিত করা আপনার লাইভ উপস্থাপকদের জন্য আপনার দেখার দর্শকদের সাথে যোগাযোগ করা কঠিন করে তোলে। উপরন্তু, সম্প্রচার বিলম্বিত করার সম্ভাবনা বেড়ে যায় যে দর্শকরা আপনার সম্প্রচার ব্যতীত অন্য উত্স থেকে ইভেন্ট সম্পর্কে মূল বিবরণ আবিষ্কার করবে৷ উদাহরণস্বরূপ, আপনি যদি 60-সেকেন্ড দেরিতে একটি ক্রীড়া ইভেন্ট সম্প্রচার করেন, তাহলে দর্শকরা সম্প্রচারে দেখার আগে অন্যান্য রিয়েল-টাইম সংবাদ উত্স থেকে ইভেন্টের গুরুত্বপূর্ণ মুহূর্তগুলি সম্পর্কে জানতে পারে৷

YouTube সুপারিশ করে যে আপনি আপনার সম্প্রচারের জন্য মনিটর স্ট্রিম সক্ষম করুন যাতে আপনি আপনার সামগ্রী পরীক্ষা করতে পারেন। আপনার দর্শকদের সাথে ইন্টারঅ্যাক্ট করার বা একটি ইভেন্টের রিয়েল-টাইম কভারেজ দেওয়ার আপনার ইচ্ছার বিপরীতে কিউপয়েন্টের সময় নিয়ন্ত্রণ করার আপনার ইচ্ছার উপর ভিত্তি করে আপনার সম্প্রচার বিলম্বিত করবেন কিনা তাও আপনার চয়ন করা উচিত।

একটি সম্প্রচার স্ট্রিম চলাকালীন মিডরোল বিজ্ঞাপন চালানো

একটি সম্প্রচারের সময়, যত তাড়াতাড়ি সম্ভব বা একটি নির্দিষ্ট সময়ে সম্প্রচারে একটি বিজ্ঞাপন বিরতি শুরু হওয়া উচিত তা নির্দেশ করার জন্য আপনি একটি কিউপয়েন্ট সন্নিবেশ করতে পারেন। বিজ্ঞাপন বিরতি YouTube-কে সম্প্রচারের সময় মিডরোল বিজ্ঞাপন চালাতে সক্ষম করে।

বিজ্ঞাপন বিরতির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:

  1. এটির একটি পূর্বনির্ধারিত দৈর্ঘ্য রয়েছে, যা আপনি cuepoint রিসোর্সের durationSecs সম্পত্তি ব্যবহার করে সেট করেছেন। বিজ্ঞাপন বিরতি শেষ হওয়ার পরে, দর্শকরা সরাসরি সম্প্রচারে ফিরে আসে।

  2. একটি বিজ্ঞাপন বিরতি ঘটলে, একটি বিজ্ঞাপন শুধুমাত্র ভিডিও প্লেয়ারে বাজানো হয় দর্শকদের জন্য যারা সম্প্রচার দেখছেন যখন কিউপয়েন্ট ঢোকানো হয়। যখন দর্শকরা পৃষ্ঠাটি রিফ্রেশ করে যেখানে সম্প্রচার চলছে বা যখন দর্শকরা কিউপয়েন্ট ঢোকানোর পরে সম্প্রচার দেখতে শুরু করে তখন একটি বিজ্ঞাপন চালানো হয় না।

নীচের ধাপগুলির ক্রমটি আপনার সম্প্রচারের সময় একটি বিজ্ঞাপন বিরতি সন্নিবেশ করার জন্য সর্বোত্তম অনুশীলনকে প্রতিফলিত করে:

সময় অফসেট সেট করুন

একটি কিউপয়েন্ট সন্নিবেশ করার সময়, আপনি উল্লেখ করতে পারেন যে এটি সরাসরি সন্নিবেশ করা উচিত বা এটি সম্প্রচারের একটি নির্দিষ্ট বিন্দুতে সন্নিবেশ করা উচিত। আপনার বিকল্পগুলি আপনার ভিডিওর সম্প্রচার স্ট্রীম বিলম্বিত কিনা তার উপর নির্ভর করে৷

  • যদি আপনার সম্প্রচার স্ট্রীম বিলম্বিত না হয়, তাহলে আপনি অবিলম্বে কিউপয়েন্ট সন্নিবেশ করতে পারেন বা একটি নির্দিষ্ট সময়ে বিজ্ঞাপন বিরতি শুরু করতে walltimeMs সম্পত্তি ব্যবহার করতে পারেন।

    • অবিলম্বে বিজ্ঞাপন বিরতি শুরু করতে, liveBroadcasts.cuepoint পদ্ধতিতে কল করুন। রিকোয়েস্ট বডির রিসোর্সে insertionOffsetTimeMs প্রপার্টির মান 0 তে সেট করুন অথবা সেই প্রোপার্টির জন্য একটি মান নির্দিষ্ট করবেন না এবং walltimeMs প্রোপার্টির জন্য একটি মান নির্দিষ্ট করবেন না।

      গুরুত্বপূর্ণ: মনে রাখবেন যে দর্শকরা অবিলম্বে ফলাফল বিজ্ঞাপন সামগ্রী দেখতে পাবেন না। বিজ্ঞাপনের বিষয়বস্তু ব্যবহারকারীদের কাছে দৃশ্যমান হওয়ার আগে প্রায় 30 সেকেন্ডের বিলম্ব হতে পারে। সেই বিলম্বের সময়, আপনার সম্প্রচার স্ট্রীম এখনও আপনার দর্শকদের কাছে দৃশ্যমান হবে, এবং আপনার মনিটর স্ট্রীমের পরিবর্তে বিজ্ঞাপন সামগ্রীটি কখন প্রদর্শিত হবে তা নির্ধারণ করতে আপনাকে সম্প্রচার স্ট্রিমটি দেখতে হবে।

    • একটি নির্দিষ্ট সময়ে বিজ্ঞাপন বিরতি শুরু করতে, liveBroadcasts.cuepoint পদ্ধতিতে কল করুন এবং পছন্দসই সময় নির্দিষ্ট করতে walltimeMs বৈশিষ্ট্য ব্যবহার করুন। সম্পত্তি মান একটি পূর্ণসংখ্যা যা একটি যুগের টাইমস্ট্যাম্প প্রতিনিধিত্ব করে।

  • যদি আপনার সম্প্রচার স্ট্রীম বিলম্বিত হয়, তাহলে আপনি উপরে বর্ণিত হিসাবে অবিলম্বে কিউপয়েন্ট সন্নিবেশ করতে পারেন, উপরে বর্ণিত হিসাবে একটি ঘড়ির সময় নির্দিষ্ট করতে পারেন, অথবা বিজ্ঞাপন বিরতি কখন শুরু হবে তা নির্ধারণ করতে আপনি একটি সময় অফসেট নির্দিষ্ট করতে পারেন। সময় অফসেট আপনার সম্প্রচারের একটি বিন্দু নির্দিষ্ট করে যখন দর্শকদের একটি বিজ্ঞাপন দেখতে হবে।

    অফসেট মান আপনার সম্প্রচারের জন্য মনিটর স্ট্রীমের শুরু থেকে মিলিসেকেন্ডে পরিমাপ করা হয়। মনে রাখবেন যে যদি আপনার সম্প্রচারের একটি পরীক্ষার পর্যায় থাকে, তাহলে আপনার সম্প্রচার testing স্থিতিতে রূপান্তরিত হলে মনিটর স্ট্রীম শুরু হয়। অন্যথায়, আপনার ব্রডকাস্ট live স্ট্যাটাসে রূপান্তরিত হলে আপনার মনিটর স্ট্রিম শুরু হয়।

    একটি কিউপয়েন্ট সন্নিবেশ করার সময়, cuepoint রিসোর্সের insertionOffsetTimeMs বৈশিষ্ট্য পছন্দসই অফসেটে সেট করুন।

সময়ের অফসেট মান গণনা করুন

অফসেট মান পুনরুদ্ধার করতে, যে প্লেয়ারটি মনিটর স্ট্রীম চালাচ্ছে তার জন্য YouTube Player API-এর getCurrentTime ফাংশনে কল করুন৷ সেই সময়ে সম্প্রচার প্রবাহে কিউপয়েন্ট সন্নিবেশ করতে পুনরুদ্ধার করা মান ব্যবহার করুন।

অফসেট সময়ের জন্য সম্ভাব্য মানগুলি নিম্নলিখিত পরিসর হিসাবে গণনা করা যেতে পারে:

[(elapsed_time - broadcast_delay + Δ), (elapsed_time - Δ)]

Δ হল সম্ভাব্য সময়ের অফসেটের শুরুতে এবং শেষে একটি পাঁচ-সেকেন্ডের বাফার যখন YouTube সুনির্দিষ্টভাবে একটি কিউপয়েন্ট সন্নিবেশ করতে পারে না। উদাহরণ স্বরূপ:

  • একটি সম্প্রচারের একটি পাঁচ মিনিটের পরীক্ষার পর্যায় রয়েছে।
  • ব্রডকাস্ট স্ট্রিম মনিটর স্ট্রীমের পরে 60 সেকেন্ড বিলম্বিত হয়।
  • সম্প্রচারকারী live স্ট্যাটাসে সম্প্রচারের রূপান্তরের চার মিনিট পরে কিউপয়েন্ট সন্নিবেশ করাচ্ছে। (সম্প্রচার স্ট্রিম দৃশ্যমান হওয়ার তিন মিনিট পরে এটি।)

এই ক্ষেত্রে, অফসেট সময়ের সম্ভাব্য পরিসর হল [(485,000), (535,000)]

এই সময়গুলি মিলিসেকেন্ডে নির্দিষ্ট করা হয় এবং নিম্নলিখিত মানগুলি ব্যবহার করে গণনা করা হয়:

  • elapsed_time=540000 – মনিটর স্ট্রীম নয় মিনিট (540 সেকেন্ড, 540000 মিলিসেকেন্ড) চালানো হয়েছে যখন liveBroadcasts.cuepoint পদ্ধতি বলা হয়।
  • broadcast_delay=60000 – সম্প্রচার স্ট্রীম 60 সেকেন্ড বা 60000 মিলিসেকেন্ড বিলম্বিত হয়।
  • Δ=5000 – পাঁচ-সেকেন্ডের বাফার যখন কিউপয়েন্ট নির্ভরযোগ্যভাবে ঢোকানো যায় না।

সমস্যা সমাধান এবং ত্রুটি পরিচালনা

নিম্নলিখিত নির্দেশিকাগুলি উদ্ভূত হতে পারে এমন নির্দিষ্ট সমস্যাগুলি কীভাবে সমাধান করা যায় তা ব্যাখ্যা করে। প্রতিটি API পদ্ধতিতে যে ত্রুটিগুলি ফিরে আসতে পারে তার তালিকার জন্য, YouTube লাইভ স্ট্রিমিং API - ত্রুটিগুলি দেখুন।

  • যখন একটি সম্প্রচার একটি স্ট্যাটাস থেকে অন্য স্ট্যাটাসে রূপান্তরিত হয়, তখন এটি সাময়িকভাবে অন্য স্ট্যাটাসের সাথে বরাদ্দ করা হতে পারে যখন YouTube ট্রানজিশনের সাথে সম্পর্কিত ক্রিয়াগুলি সম্পূর্ণ করে। উদাহরণস্বরূপ, যদি আপনি একটি সম্প্রচারের স্থিতি testing জন্য ready থেকে পরিবর্তন করার জন্য একটি liveBroadcasts.transition অনুরোধ পাঠান, তাহলে YouTube সম্প্রচারের স্থিতি testStarting এ সেট করবে এবং তারপর স্থিতি পরিবর্তনের সাথে সম্পর্কিত ক্রিয়াগুলি সম্পূর্ণ করবে৷ এই সমস্ত ক্রিয়া সম্পন্ন হলে, YouTube সম্প্রচারের স্থিতি testing আপডেট করবে, যার ফলে রূপান্তর সম্পূর্ণ হয়েছে তা নির্দেশ করবে৷

    যদি একটি সম্প্রচার একটি testStarting বা liveStarting স্ট্যাটাসের সাথে আটকে যায়, তাহলে আপনাকে liveBroadcasts.delete পদ্ধতিতে কল করতে হবে এবং সম্প্রচারটি মুছে ফেলতে হবে। তারপরে একটি নতুন সম্প্রচার তৈরি করুন, এটিকে আপনার লাইভ স্ট্রিমে আবদ্ধ করুন এবং পরীক্ষার প্রক্রিয়া চালিয়ে যান।

    liveBroadcasts.transition পদ্ধতির ডকুমেন্টেশনে উল্লিখিত হিসাবে, আপনাকে নিশ্চিত করতে হবে যে আপনার সম্প্রচারের সাথে আবদ্ধ স্ট্রীমের জন্য status.streamStatus প্রপার্টির মান সেই পদ্ধতিতে কল করার আগে active আছে।