এই পাতায় ইউটিউব লাইভ স্ট্রিমিং এপিআই-এর পরিবর্তন এবং ডকুমেন্টেশনের হালনাগাদ তালিকাভুক্ত করা হয়েছে। এই চেঞ্জলগটি সাবস্ক্রাইব করুন ।
২৬ মার্চ, ২০২৬
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
snippet.typeপ্রপার্টিটি এখনgiftEventনামক নতুন ভ্যালুটি সাপোর্ট করে।liveChatMessageরিসোর্সের নতুনsnippet.giftEventDetailsপ্রপার্টি এবং এর চাইল্ডগুলোতে গিফট ইভেন্ট সম্পর্কিত তথ্য থাকে।
১২ জানুয়ারী, ২০২৬
এপিআই এখন লাইভ সম্প্রচারের জন্য মিডরোল সক্রিয় করা এবং স্বয়ংক্রিয়ভাবে মিডরোল যুক্ত করার সুবিধা সমর্থন করে।
সম্প্রচারের মালিক কোনো সম্প্রচারের জন্য মিডরোল চালু করতে পারেন, যদি সম্প্রচারটি মিডরোলের জন্য যোগ্য হয়। মালিক যেকোনো সময়ে কোনো সম্প্রচারের জন্য মিডরোল বন্ধও করতে পারেন।
যদি কোনো ব্রডকাস্টে মিডরোল চালু করা থাকে, তাহলে ব্রডকাস্টের মালিক স্বয়ংক্রিয়ভাবে মিডরোল দেখানো চালু করতে পারেন। এছাড়াও, তারা যেকোনো সময় একটি ব্রডকাস্টের জন্য স্বয়ংক্রিয় বিজ্ঞাপন বন্ধ করে দিতে পারেন।
যখন সম্প্রচারের মালিক স্বয়ংক্রিয় বিজ্ঞাপন চালু করেন, তখন তিনি নিম্নলিখিত বিকল্পগুলির মধ্যে একটি বেছে নিতে পারেন:
- ইউটিউবকে মিড-রোল ইনসারশন অপ্টিমাইজ করতে দিন। এই অপশনটি তিনটি মোড সমর্থন করে:
- নিম্ন: আয়ের সম্ভাবনা কম, দর্শকের জন্য বাধাহীন অভিজ্ঞতা
- মাঝারি: মাঝারি আয়ের সম্ভাবনা, ভারসাম্যপূর্ণ দর্শক অভিজ্ঞতা
- উচ্চ: উচ্চতর উপার্জনের সম্ভাবনা, দর্শকদের জন্য আরও বাধাহীন অভিজ্ঞতা
- মাঝ-রোল সন্নিবেশের জন্য কৌশল এবং ব্যবধান ম্যানুয়ালি কনফিগার করুন। এক্ষেত্রে, মালিককে দুটি প্যারামিটার সেট আপ করতে হবে:
- বিজ্ঞাপন কিউপয়েন্টের সময়সূচী নির্ধারণের কৌশল। কিউপয়েন্টগুলো সকল দর্শকের জন্য একই সাথে দেখানো যেতে পারে অথবা দর্শকভেদে এর সময় ভিন্ন হতে পারে। এই দ্বিতীয় কৌশলটি ইউটিউবকে বর্ধিত হারে কিউপয়েন্ট নির্ধারণ করতে সক্ষম করে, যার ফলে দর্শকরা যখন কিউপয়েন্ট পাওয়ার যোগ্য হন, তখনই তা পেতে পারেন।
- রোলের মাঝখানে বিজ্ঞাপনের বিরতির মধ্যবর্তী ব্যবধানের দৈর্ঘ্য।
এই বৈশিষ্ট্যটি সমর্থন করার জন্য ডকুমেন্টেশনে নিম্নলিখিত API পরিবর্তনগুলো প্রতিফলিত হয়েছে:
-
liveBroadcastরিসোর্সেরmonetizationDetailsঅবজেক্টটিতে মিডরোল এনাবলমেন্ট এবং অটোমেটেড অ্যাডস কনফিগের জন্য ফিল্ড রয়েছে। - মিডরোল বিজ্ঞাপন চালু বা বন্ধ করতে
updateমেথডটি ব্যবহার করা যায়। লাইভ ব্রডকাস্টের জন্য স্বয়ংক্রিয় বিজ্ঞাপন সেট আপ করতেও এই মেথডটি ব্যবহার করা যায়। ডকুমেন্টেশনে এমন কয়েকটি নতুন ত্রুটি চিহ্নিত করা হয়েছে, যা লাইভ ব্রডকাস্টের মনিটাইজেশন এবং স্বয়ংক্রিয় বিজ্ঞাপনের সেটিংস আপডেট করার সময় ঘটতে পারে।
১৪ই জুলাই, ২০২৫
streamList API-এর ব্যবহার সম্পর্কে নির্দেশনা প্রদানের জন্য liveChatMessages.streamList মেথডটির বিবরণ আপডেট করা হয়েছে।
৯ অক্টোবর, ২০২৩
শুধুমাত্র তথ্যের জন্য, এই CSV ফাইলটিতে আপনি খুঁজে নিতে পারেন কোন স্টিকার আইডি কোন সুপার স্টিকারের সাথে সম্পর্কিত। এই তথ্য প্রতিফলিত করার জন্য liveChatMessage রিসোর্সের snippet.superStickerDetails.superStickerMetadata.stickerId প্রপার্টি এবং superChatEvent রিসোর্সের snippet.superStickerMetadata.stickerId প্রপার্টি উভয়ের সংজ্ঞাই আপডেট করা হয়েছে।
১৫ সেপ্টেম্বর, ২০২৩
এপিআই এখন লাইভ সম্প্রচারে বিজ্ঞাপন যুক্ত করার একটি নতুন পদ্ধতি সমর্থন করে। liveCuepoints ছাড়াও, যা আপনাকে ম্যানুয়ালি সম্প্রচারে বিজ্ঞাপন বিরতি যুক্ত করার সুযোগ দিত, ইউটিউব এখন নির্দিষ্ট বিরতিতে স্বয়ংক্রিয়ভাবে সম্প্রচারে মিডরোল বিজ্ঞাপন বিরতি যুক্ত করার একটি ফিচার সমর্থন করে।
যদি সম্প্রচারের মালিক স্বয়ংক্রিয় বিজ্ঞাপন চালু করেন, তাহলে তিনি বিজ্ঞাপনের আচরণের নিম্নলিখিত দিকগুলো দেখতে পারবেন:
- মিডরোল বিজ্ঞাপনের বিরতির মধ্যবর্তী ব্যবধানের দৈর্ঘ্য।
- বিজ্ঞাপন কিউপয়েন্টের জন্য সময়সূচী নির্ধারণের কৌশল। কিউপয়েন্টগুলো সকল দর্শকের জন্য একই সাথে যুক্ত করা যেতে পারে অথবা দর্শকভেদে এর সময় ভিন্ন হতে পারে। এই দ্বিতীয় কৌশলটি ইউটিউবকে বর্ধিত হারে কিউপয়েন্ট নির্ধারণ করতে সক্ষম করে, যার ফলে দর্শকরা যখন কিউপয়েন্ট পাওয়ার যোগ্য হন, তখনই তা পেতে পারেন।
- একটি নির্দিষ্ট সময়কাল, যে সময়ে মিডরোল বিজ্ঞাপন দেখানো হয় না; এই বৈশিষ্ট্যের জন্য, সম্প্রচারের মালিক নির্দিষ্ট করে দেন যে একটি নির্দিষ্ট সময় পর্যন্ত মিডরোল বিজ্ঞাপন প্রদর্শন স্থগিত থাকবে।
এই বৈশিষ্ট্যটি সমর্থন করার জন্য ডকুমেন্টেশনে নিম্নলিখিত API পরিবর্তনগুলো প্রতিফলিত হয়েছে:
-
liveBroadcastরিসোর্সটিতে এখন একটিmonetizationDetailsঅবজেক্ট রয়েছে। এই অবজেক্টের ফিল্ডগুলো নির্দেশ করে যে ব্রডকাস্টটির জন্য স্বয়ংক্রিয় বিজ্ঞাপন সন্নিবেশ সক্ষম করা আছে কিনা এবং শিডিউলিং কিউপয়েন্টের জন্য অতিরিক্ত তথ্য নির্দিষ্ট করে। -
liveBroadcast.listমেথডেরpartপ্যারামিটারটিmonetizationDetailsভ্যালুটি সমর্থন করে। - লাইভ সম্প্রচারের জন্য একটি নির্দিষ্ট সময়ের জন্য মিডরোল বিজ্ঞাপন দেখানো বন্ধ করতে
updateপদ্ধতিটি ব্যবহার করা যেতে পারে। ডকুমেন্টেশনে এখন এমন বেশ কিছু ত্রুটিও চিহ্নিত করা হয়েছে যা একটি লাইভ সম্প্রচারের মনিটাইজেশন বিবরণ আপডেট করার সময় ঘটতে পারে।
১ আগস্ট, ২০২৩
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
liveBroadcasts.updateমেথডটির জন্য এখন আর এই ফিল্ডগুলিতে ভ্যালু নির্দিষ্ট করার প্রয়োজন নেই:-
snippet.title -
status.privacyStatus
অনুরোধ থেকে এই ক্ষেত্রগুলি বাদ দিলেও সেগুলি অপরিবর্তিত থাকবে।
-
১ নভেম্বর, ২০২২
নতুন
liveBroadcasts.cuepointমেথডটি ইউটিউবে লাইভ ব্রডকাস্ট চালানো যেকোনো চ্যানেল মালিককে সেই ব্রডকাস্টে কিউপয়েন্ট যুক্ত করার সুযোগ দেয়, যা বিজ্ঞাপন বিরতি চালু করতে পারে। এই মেথডটিliveCuepoints.insertমেথডকে প্রতিস্থাপন করে, যা শুধুমাত্র ইউটিউব কন্টেন্ট পার্টনারদের লাইভ ব্রডকাস্টে কিউপয়েন্ট যুক্ত করার সুবিধা দিত।এই নতুন পদ্ধতির উপলব্ধতা প্রতিফলিত করার জন্য বেশ কয়েকটি নির্দেশিকা হালনাগাদ করা হয়েছে।
দ্রষ্টব্য: এটি একটি বাতিলকরণ ঘোষণা।
liveCuepoints.insertমেথডটি এখন অপ্রচলিত। ১ মে, ২০২৩ তারিখে বা তার পরেliveCuepoints.insertমেথডটির জন্য সমর্থন তুলে নেওয়া হবে। এপিআই ব্যবহারকারীদের উচিত তাদের অ্যাপ্লিকেশনগুলো আপডেট করে এর পরিবর্তেliveBroadcasts.cuepointমেথডটি কল করা।liveBroadcasts.controlমেথডটির ডকুমেন্টেশন সরিয়ে ফেলা হয়েছে। ২০২০ সালের সেপ্টেম্বরে ওই মেথডটির জন্য একটি ডেপ্রিকেশন নোটিশ পোস্ট করা হয়েছিল।
১ অক্টোবর, ২০২২
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
liveBroadcasts.updateমেথডটির জন্য এখন আর এই ফিল্ডগুলিতে ভ্যালু নির্দিষ্ট করার প্রয়োজন নেই:-
contentDetails.enableContentEncryption -
contentDetails.enableDvr -
contentDetails.enableEmbed -
contentDetails.recordFromStart -
contentDetails.startWithSlate
অনুরোধ থেকে এই ক্ষেত্রগুলি বাদ দিলেও সেগুলি অপরিবর্তিত থাকবে।
-
অপ্রচলিত
liveBroadcastফিল্ডগুলির ডকুমেন্টেশন সরিয়ে ফেলা হয়েছে:-
contentDetails.enableContentEncryption -
contentDetails.startWithSlate
-
১ এপ্রিল, ২০২২
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
snippet.typeপ্রপার্টিটি এখন দুটি নতুন ভ্যালু সাপোর্ট করে:-
membershipGiftingEvent -
giftMembershipReceivedEvent
-
liveChatMessageরিসোর্সের নতুনsnippet.membershipGiftingDetailsপ্রপার্টি এবং এর চাইল্ডগুলোতে Membership Gifting ইভেন্ট সম্পর্কিত তথ্য থাকে। একইভাবে, নতুনsnippet.giftMembershipReceivedDetailsপ্রপার্টি এবং এর চাইল্ডগুলোতে Gift Membership Received ইভেন্ট সম্পর্কিত তথ্য থাকে।
১৫ সেপ্টেম্বর, ২০২১
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
snippet.typeপ্রপার্টিটি এখন দুটি নতুন ভ্যালু সাপোর্ট করে:-
newSponsorEvent -
memberMilestoneChatEvent
-
liveChatMessageরিসোর্সের নতুনsnippet.memberMilestoneChatDetailsপ্রপার্টি এবং এর চাইল্ডগুলোতে `Member Milestone Chat` ইভেন্ট সম্পর্কিত তথ্য থাকে। একইভাবে, নতুনsnippet.newSponsorDetailsপ্রপার্টি এবং এর চাইল্ডগুলোতে `New Sponsor` ইভেন্ট সম্পর্কিত তথ্য থাকে।
১ ডিসেম্বর, ২০২০
এপিআই-এর liveBroadcasts.transition মেথডটি একটি নতুন 403 ( Forbidden ) এরর সমর্থন করে, যা নির্দেশ করে যে ব্যবহারকারী একটি নির্দিষ্ট সময়সীমার মধ্যে অনেক বেশি অনুরোধ পাঠিয়েছেন। এররের কারণটি হলো userRequestsExceedRateLimit ।
২১ সেপ্টেম্বর, ২০২০
liveBroadcastরিসোর্সেরstatus.madeForKidsপ্রপার্টির সংজ্ঞাটি আপডেট করা হয়েছে, যাতে এটি স্পষ্ট করা যায় যে প্রপার্টিটি শুধুমাত্র পঠনযোগ্য (read-only)। এটি API কার্যকারিতার কোনো পরিবর্তনকে প্রতিফলিত করে না।একটি লাইভ সম্প্রচারকে শিশু-নির্দেশিত হিসেবে চিহ্নিত করতে, সম্প্রচারটি তৈরি করার জন্য
liveBroadcasts.insertপদ্ধতিটি কল করার সময়status.selfDeclaredMadeForKidsপ্রপার্টিটির মানtrueসেট করুন।দ্রষ্টব্য: এই পরিবর্তনে একটি বাতিলকরণ ঘোষণা এবং পূর্ববর্তী একটি বাতিলকরণ ঘোষণার হালনাগাদ অন্তর্ভুক্ত রয়েছে।
liveBroadcasts.controlমেথডটি ১ অক্টোবর ২০২০ বা তার পর থেকে অপ্রচলিত (deprecated) হয়ে যাবে। ঐ তারিখের পর, এই মেথডের সমস্ত কল একটি নিষিদ্ধ (403) ত্রুটি (forbidden (403) error) ফেরত দেবে এবং পরবর্তীতে মেথডটি সম্পূর্ণরূপে সরিয়ে ফেলা হবে। ক্লায়েন্টরা ইউটিউবের ইনজেশন সার্ভারে পাঠানো ভিডিওতে একটি ওভারলে যোগ করে তাদের নিজস্ব স্লেটিং (slating) প্রয়োগ করতে পারবে।১৬ এপ্রিল ২০২০-এ করা ডেপ্রিকেশন ঘোষণার ডেপ্রিকেশনের তারিখ, যা মূলত ১ সেপ্টেম্বর ২০২০-এর জন্য নির্ধারিত ছিল, তা পিছিয়ে দেওয়া হয়েছে এবং এখন তা ১ অক্টোবর ২০২০ বা তার পরে কার্যকর হবে। ফলে, ঐ ডেপ্রিকেশন ঘোষণায় অন্তর্ভুক্ত ফিচারগুলো এবং
liveBroadcasts.controlমেথড—সবগুলোই একই সময়ে ডেপ্রিকেটেড হয়ে যাবে।
১৭ জুলাই, ২০২০
দ্রষ্টব্য: এটি পূর্ববর্তী একটি বাতিলকরণ ঘোষণার হালনাগাদ।
liveStream রিসোর্সের cdn.format ফিল্ডটি, যা এপ্রিল ২০১৬-তে বাতিল করা হয়েছিল, ১৭ই আগস্ট, ২০২০ থেকে আর সমর্থিত হবে না। ঐ তারিখ থেকে, যেসকল অনুরোধ এখনও এই ফিল্ডটি ব্যবহার করছে, সেগুলো ব্যর্থ হবে।
আপনার কোডে যদি এখনও cdn.format ফিল্ডটি ব্যবহৃত হয়, তবে cdn.frameRate এবং cdn.resolution প্রপার্টি ব্যবহার করে ফ্রেম রেট ও রেজোলিউশন আলাদাভাবে উল্লেখ করার জন্য কোডটি অবশ্যই আপডেট করতে হবে।
৬ জুলাই, ২০২০
HLS-এর মাধ্যমে লাইভ ইউটিউব কন্টেন্ট ডেলিভারি করার নির্দেশিকাটি কয়েকটি পরিবর্তন সহ আপডেট করা হয়েছে:
- একটি মিডিয়া সেগমেন্টের জন্য প্রস্তাবিত সময়কাল এক থেকে চার সেকেন্ড পর্যন্ত হালনাগাদ করা হয়েছে।
- একটি নতুন বিভাগে ব্যাখ্যা করা হয়েছে কীভাবে ইউটিউব ক্রিয়েটর স্টুডিও থেকে একটি HLS ইনজেশন URL পাওয়া যায় ।
-
fileপ্যারামিটার ভ্যালু ফরম্যাট করার নির্দেশাবলী নতুন ‘Completing the HLS Ingestion URL’ সেকশনে স্থানান্তর করা হয়েছে। HLS ইনজেশন URL-টি YouTube API বা YouTube Creator Studio, যেখান থেকেই সংগ্রহ করা হোক না কেন, এই নির্দেশাবলী প্রযোজ্য হবে।
এছাড়াও, নতুন ইনজেশন প্রোটোকল তুলনা তালিকায় ইউটিউব দ্বারা সমর্থিত ইনজেশন প্রোটোকলগুলো, প্রতিটি প্রোটোকলের জন্য সমর্থিত কোডেকগুলো এবং প্রতিটি প্রোটোকলের উপযুক্ত ব্যবহারের ক্ষেত্র সম্পর্কিত অতিরিক্ত তথ্য অন্তর্ভুক্ত রয়েছে।
১৬ এপ্রিল, ২০২০
এই আপডেটে একটি নতুন প্রপার্টি এবং একটি অবচয় ঘোষণা অন্তর্ভুক্ত রয়েছে:
liveBroadcastরিসোর্সটি এখনcontentDetails.enableAutoStopপ্রপার্টিটি সমর্থন করে। এই প্রপার্টিটি নির্দেশ করে যে, চ্যানেল মালিক বাউন্ড ভিডিও স্ট্রিমে ভিডিও স্ট্রিমিং বন্ধ করার প্রায় এক মিনিট পর ব্রডকাস্টটি স্বয়ংক্রিয়ভাবে বন্ধ হবে কি না।আপনি যদি
contentDetails.enableAutoStartঅথবাcontentDetails.enableAutoStopপ্রপার্টিগুলোকেtrueতে সেট করেন, তাহলে একটি লাইভ ইউটিউব ইভেন্ট তৈরি ও পরিচালনার ধাপে ধাপে প্রক্রিয়াটি কীভাবে পরিবর্তিত হয়, তা ব্যাখ্যা করার জন্য ব্রডকাস্ট ডকুমেন্টের বিবরণ আপডেট করা হয়েছে।দ্রষ্টব্য: এটি একটি বাতিলকরণ ঘোষণা। এই পরিবর্তনগুলি ১ সেপ্টেম্বর, ২০২০ তারিখে বা তার পরে কার্যকর হবে। যে তারিখে পরিবর্তনগুলি কার্যকর হবে, সেই প্রকৃত তারিখটি নীচে বাতিলকরণ তারিখ হিসাবে উল্লেখ করা হয়েছে।
এই আপডেটে একটি সম্ভাব্য বড় ধরনের পরিবর্তন সম্পর্কে ব্যাখ্যা করা হয়েছে। এটি সেইসব এপিআই ক্লায়েন্ট অ্যাপ্লিকেশনকে প্রভাবিত করে, যারা ইউটিউবে লাইভ কন্টেন্ট স্ট্রিম করার জন্য চ্যানেলগুলোর ডিফল্ট
liveStreamএবংliveBroadcastরিসোর্স ব্যবহার করে। বিশেষত, স্থায়ী ব্রডকাস্ট এবং স্ট্রিমের সাথে যুক্ত ব্রডকাস্ট আইডি এবং স্ট্রিম আইডি নতুন ব্রডকাস্ট শুরু করার জন্য আর কাজ করবে না।নিম্নলিখিতগুলির মধ্যে কোনোটি সত্য হলে আপনার আবেদনটি প্রভাবিত হবে:
- এটি
liveBroadcastরিসোর্সেরisDefaultBroadcastপ্রপার্টির মান যাচাই করে। অপ্রচলিত হওয়ার তারিখের পর এই প্রপার্টিটি আর ফেরত দেওয়া হবে না। - এটি
liveStreamরিসোর্সেরisDefaultStreamপ্রপার্টির মান যাচাই করে। অপ্রচলিত হওয়ার তারিখের পর এই প্রপার্টিটি আর ফেরত দেওয়া হবে না। - এটি
liveBroadcasts.listমেথডকে কল করে এবংbroadcastTypeপ্যারামিটারের মানpersistentবাallএ সেট করে। এই পরিবর্তনগুলোর অংশ হিসেবে এই প্যারামিটারটি অপ্রচলিত হয়ে যাবে। অপ্রচলিত হওয়ার তারিখ অনুযায়ী:- যদি
broadcastTypeপ্যারামিটারের মানpersistentহয়, তাহলেliveBroadcasts.listমেথডটি কোনো ফলাফল ফেরত দেবে না। - যদি
broadcastTypeপ্যারামিটারের মানallহয়, তাহলেliveBroadcasts.listমেথডটি সেই সময়ের আগে বিদ্যমান কোনো স্থায়ী সম্প্রচার ফেরত দেবে না।
- যদি
প্রেক্ষাপট হিসেবে বলা যায়, বিগত কয়েক বছর ধরে, কোনো চ্যানেল লাইভ স্ট্রিমিংয়ের জন্য চালু করা হলে ইউটিউব স্বয়ংক্রিয়ভাবে সেটির জন্য একটি ডিফল্ট স্ট্রিম এবং একটি ডিফল্ট ব্রডকাস্ট তৈরি করে দিত। ডিফল্ট স্ট্রিমটি অনির্দিষ্টকালের জন্য চালু থাকত, এর সাথে কোনো শুরু বা শেষের সময় যুক্ত ছিল না এবং এটি মুছে ফেলা যেত না। একইভাবে, ডিফল্ট ব্রডকাস্টটিকে স্থায়ী বলে গণ্য করা হতো। এটি সর্বদা বিদ্যমান থাকত এবং কোনো নির্দিষ্ট ঘটনার সাথে আবদ্ধ ছিল না।
বাতিলের তারিখ অনুযায়ী:
- ইউটিউব আর ডিফল্ট স্ট্রিম এবং ব্রডকাস্ট তৈরি করবে না। ডিফল্ট রিসোর্সগুলোর উপর নির্ভর করার পরিবর্তে, এপিআই ক্লায়েন্টদের
liveBroadcastএবংliveStreamরিসোর্স তৈরি ও পরিচালনা করতে এবং সেই রিসোর্সগুলোকে একসাথে যুক্ত করতে সক্ষম হতে হবে। - যদি কোনো চ্যানেলের ডিফল্ট ব্রডকাস্ট এবং ডিফল্ট স্ট্রিম সক্রিয়ভাবে চালু থাকে, অর্থাৎ এই নিয়মটি বাতিল হওয়ার সময় চ্যানেলটি কোনো লাইভ ব্রডকাস্টের জন্য সেগুলো ব্যবহার করে থাকে, তাহলে চলমান ব্রডকাস্টটি প্রভাবিত হবে না। তবে, সেই ব্রডকাস্টটি শেষ হয়ে যাওয়ার পর, চ্যানেলটি আর ডিফল্ট ব্রডকাস্ট এবং ডিফল্ট স্ট্রিম ব্যবহার করতে পারবে না।
- যদি কোনো চ্যানেলের ডিফল্ট ব্রডকাস্ট এবং ডিফল্ট স্ট্রিম সক্রিয়ভাবে লাইভ না থাকে, তাহলে এই ব্যবস্থাটি বাতিল হওয়ার পর, ইউটিউব ভিডিও সম্প্রচারের জন্য সেই রিসোর্সগুলো ব্যবহারের প্রচেষ্টা উপেক্ষা করবে।
যদি আপনার অ্যাপ্লিকেশনটি প্রভাবিত হয়, তবে অনুগ্রহ করে নিম্নলিখিত নথিগুলি দেখুন, যা আপনাকে আপনার অ্যাপ্লিকেশনটি আপডেট করতে সাহায্য করবে যাতে এই পরিবর্তনের পরেও এটি প্রত্যাশিতভাবে কাজ করে:
- একটি নতুন মাইগ্রেশন গাইডে সেইসব পদক্ষেপ ব্যাখ্যা করার চেষ্টা করা হয়েছে, যা বর্তমানে ডিফল্ট ব্রডকাস্ট এবং স্ট্রিম ব্যবহারকারী এপিআই ক্লায়েন্টগুলিতে ডেভেলপারদের গ্রহণ করতে হতে পারে।
- 'দ্য লাইফ অফ এ ব্রডকাস্ট' গাইডটি আপনাকে ইউটিউবে একটি লাইভ ইভেন্ট তৈরি এবং পরিচালনা করার পদ্ধতি ধাপে ধাপে দেখিয়ে দেবে। প্রতিটি ধাপে একটি নির্দিষ্ট কাজ সম্পন্ন করার জন্য প্রয়োজনীয় এপিআই কল বা অন্যান্য বিষয়গুলো ব্যাখ্যা করা হয়েছে, এবং যখন ইউটিউব ডিফল্ট স্ট্রিম ও ব্রডকাস্ট সমর্থন করা বন্ধ করে দেবে, তখন আপনার অ্যাপ্লিকেশনটিকেও এই প্রক্রিয়াটি অনুসরণ করতে হবে।
- এটি
৩১ মার্চ, ২০২০
দ্রষ্টব্য: এটি একটি বাতিলকরণ ঘোষণা।
sponsor রিসোর্স এবং sponsors.list মেথডটি অপ্রচলিত ঘোষণা করা হয়েছে এবং এর পরিবর্তে member রিসোর্স ও members.list মেথড ব্যবহার করা হচ্ছে।
৩০শে সেপ্টেম্বর, ২০২০ বা তার পর থেকে sponsors.list মেথডটি আর সমর্থিত হবে না। এপিআই ক্লায়েন্টদের sponsors.list মেথডের কলগুলো আপডেট করে এর পরিবর্তে members.list মেথড ব্যবহার করতে হবে। নতুন রিসোর্সটি সম্পর্কে আরও তথ্যের জন্য অনুগ্রহ করে ইউটিউব ডেটা এপিআই রিভিশন হিস্ট্রি দেখুন।
১১ মার্চ, ২০২০
HLS-এর মাধ্যমে লাইভ ইউটিউব কন্টেন্ট ডেলিভারি গাইডের ইনজেশন এন্ডপয়েন্ট সেকশনটি আপডেট করা হয়েছে, যাতে প্রাইমারি এবং ব্যাকআপ ইনজেশন ইউআরএল তৈরি করার সময় file= প্যারামিটারের ভ্যালুটি সম্পূর্ণ করার জন্য একজন এনকোডারের যে প্রক্রিয়া অনুসরণ করা উচিত, তা স্পষ্ট করা হয়।
৪ ফেব্রুয়ারী, ২০২০
HLS-এর মাধ্যমে লাইভ ইউটিউব কন্টেন্ট ডেলিভারি সংক্রান্ত নির্দেশিকাটি আপডেট করা হয়েছে এবং এতে উল্লেখ করা হয়েছে যে DELETE রিকোয়েস্ট ঐচ্ছিক এবং ইউটিউবের HLS এন্ডপয়েন্ট এগুলো উপেক্ষা করে। পারফরম্যান্সগত কারণে, ইউটিউব ক্লায়েন্টদের DELETE রিকোয়েস্ট না পাঠানোর পরামর্শ দেয়।
১০ জানুয়ারী, ২০২০
এপিআই এখন শিশুদের জন্য তৈরি কন্টেন্ট শনাক্ত করার সুবিধা দেয়, যাকে ইউটিউব 'মেড ফর কিডস' বলে। ইউটিউব হেল্প সেন্টারে 'মেড ফর কিডস' কন্টেন্ট সম্পর্কে আরও জানুন ।
-
liveBroadcastরিসোর্সটি কন্টেন্ট নির্মাতা এবং দর্শকদের "বাচ্চাদের জন্য তৈরি" কন্টেন্ট শনাক্ত করতে সক্ষম করার জন্য দুটি নতুন বৈশিষ্ট্য সমর্থন করে:-
selfDeclaredMadeForKidsপ্রপার্টিটি কন্টেন্ট ক্রিয়েটরদেরকে একটি লাইভ ব্রডকাস্ট শিশুদের জন্য তৈরি কিনা তা নির্দিষ্ট করার সুযোগ দেয়। একটি ব্রডকাস্ট তৈরি করার সময় `liveBroadcasts.insertমেথডের মাধ্যমে এই প্রপার্টিটি সেট করা যায়। উল্লেখ্য যে, এই প্রপার্টিটি শুধুমাত্র সেইসব API রেসপন্সে অন্তর্ভুক্ত হয় যেগুলিতেliveBroadcastরিসোর্স থাকে, যদি চ্যানেল মালিক API অনুরোধটির অনুমোদন দিয়ে থাকেন। -
madeForKidsপ্রপার্টিটি যেকোনো API ব্যবহারকারীকে একটি ব্রডকাস্টের 'বাচ্চাদের জন্য তৈরি' স্ট্যাটাসটি জানতে সাহায্য করে। উদাহরণস্বরূপ, এই স্ট্যাটাসটিselfDeclaredMadeForKidsপ্রপার্টির মানের উপর ভিত্তি করে নির্ধারিত হতে পারে। আপনার চ্যানেল, ভিডিও বা ব্রডকাস্টের জন্য দর্শক নির্ধারণ করার বিষয়ে আরও তথ্যের জন্য ইউটিউব হেল্প সেন্টার দেখুন।
-
- ইউটিউব ডেটা এপিআই-তে,
channelরিসোর্সটি নতুনselfDeclaredMadeForKidsএবংmadeForKidsপ্রপার্টিগুলোকেও সমর্থন করে।
আমরা ইউটিউব এপিআই সার্ভিসেস-এর পরিষেবার শর্তাবলী এবং ডেভেলপার নীতিমালাও হালনাগাদ করেছি। আরও তথ্যের জন্য অনুগ্রহ করে ইউটিউব এপিআই সার্ভিসেস-এর পরিষেবার শর্তাবলী - সংশোধনের ইতিহাস দেখুন। ইউটিউব এপিআই সার্ভিসেস-এর পরিষেবার শর্তাবলী এবং ডেভেলপার নীতিমালার পরিবর্তনগুলো প্যাসিফিক সময় অনুযায়ী ১০ই জানুয়ারী, ২০২০ থেকে কার্যকর হবে।
২০ আগস্ট, ২০১৯
HLS-এর মাধ্যমে লাইভ ইউটিউব কন্টেন্ট সরবরাহ করার নির্দেশিকার প্রয়োজনীয়তা বিভাগটি দুটি পরিবর্তনের মাধ্যমে হালনাগাদ করা হয়েছে:
- এতে ব্যাখ্যা করা হয়েছে যে, প্রতিটি মিডিয়া প্লেলিস্টে স্বীকৃত সেগমেন্ট এবং অমীমাংসিত সেগমেন্ট উভয়ই অন্তর্ভুক্ত করা একটি উত্তম অনুশীলন। এই অনুশীলনের ফলে, সার্ভার সাইডে কোনো মিডিয়া প্লেলিস্ট হারিয়ে গেলেও কোনো সেগমেন্ট বাদ পড়ার সম্ভাবনা কমে যায়। উদাহরণস্বরূপ, আপনি প্রতিটি মিডিয়া প্লেলিস্টে সর্বোচ্চ দুটি স্বীকৃত সেগমেন্ট এবং সর্বোচ্চ পাঁচটি অমীমাংসিত সেগমেন্ট অন্তর্ভুক্ত করতে পারেন।
- এখন থেকে প্রতিটি মিডিয়া সেগমেন্টের জন্য একটি মিডিয়া প্লেলিস্ট পাঠানো বাধ্যতামূলক। এর ফলে কোনো মিডিয়া প্লেলিস্ট হারিয়ে গেলে সার্ভার দ্রুত তা পুনরুদ্ধার করতে পারে। এই পদ্ধতিটি পূর্বে একটি সুপারিশ হিসেবে তালিকাভুক্ত ছিল।
২৮ জুন, ২০১৯
ইউটিউব এখন HLS ইনজেশন সমর্থন করে। সেই অনুযায়ী, HLS ব্যবহার করে ইউটিউবে ইনজেস্ট করা স্ট্রিমগুলো শনাক্ত করার জন্য liveStream রিসোর্সের ingestionType প্রপার্টিতে নতুন ভ্যালু hls যুক্ত করা হয়েছে।
নতুন ‘ডেলিভারিং লাইভ ইউটিউব কন্টেন্ট ভায়া এইচএলএস’ গাইডটি একটি এনকোডার থেকে ইউটিউবে লাইভ কন্টেন্ট স্ট্রিম করার জন্য এইচএলএস ব্যবহারের নির্দেশিকা প্রদান করে। এই গাইডটির লক্ষ্য হলো এনকোডার বিক্রেতাদের তাদের পণ্যগুলিতে এইচএলএস ডেলিভারি সাপোর্ট যোগ করতে সাহায্য করা।
৪ এপ্রিল, ২০১৯
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
প্রতিটি মেথডের সাধারণ ব্যবহার আরও ভালোভাবে ব্যাখ্যা করতে এবং এপিআই এক্সপ্লোরার উইজেটের মাধ্যমে ডাইনামিক ও উচ্চ-মানের কোড স্যাম্পল সরবরাহ করার জন্য এপিআই রেফারেন্স ডকুমেন্টেশন আপডেট করা হয়েছে। একটি উদাহরণের জন্য
liveBroadcasts.listমেথডের ডকুমেন্টেশন দেখুন। যে পেজগুলোতে এপিআই মেথডগুলোর বর্ণনা দেওয়া আছে, সেগুলোতে এখন দুটি নতুন এলিমেন্ট রয়েছে:এপিআই এক্সপ্লোরার উইজেটটি আপনাকে অথরাইজেশন স্কোপ নির্বাচন করতে, নমুনা প্যারামিটার ও প্রপার্টির মান প্রবেশ করাতে এবং তারপর প্রকৃত এপিআই অনুরোধ পাঠিয়ে তার প্রতিক্রিয়া দেখতে দেয়। উইজেটটি একটি ফুলস্ক্রিন ভিউও প্রদান করে, যেখানে সম্পূর্ণ কোডের নমুনা দেখানো হয়, যা আপনার প্রবেশ করানো স্কোপ ও মানগুলো ব্যবহার করার জন্য স্বয়ংক্রিয়ভাবে আপডেট হয়।
' সাধারণ ব্যবহারের ক্ষেত্র' বিভাগে পৃষ্ঠায় ব্যাখ্যা করা পদ্ধতিটির এক বা একাধিক সাধারণ ব্যবহারের ক্ষেত্র বর্ণনা করা হয়েছে। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট সম্প্রচার সম্পর্কে ডেটা পুনরুদ্ধার করতে বা বর্তমান ব্যবহারকারীর সম্প্রচারগুলো সম্পর্কে ডেটা পুনরুদ্ধার করতে
liveBroadcasts.listপদ্ধতিটি কল করতে পারেন।আপনি ঐ বিভাগের লিঙ্কগুলি ব্যবহার করে আপনার ব্যবহারের ক্ষেত্রের জন্য নমুনা মান দিয়ে এপিআই এক্সপ্লোরার পূরণ করতে পারেন, অথবা সেই মানগুলি আগে থেকেই পূরণ করা অবস্থায় পূর্ণ-স্ক্রিন এপিআই এক্সপ্লোরার খুলতে পারেন। এই পরিবর্তনগুলির লক্ষ্য হলো, আপনার নিজের অ্যাপ্লিকেশনে যে ব্যবহারের ক্ষেত্রটি আপনি বাস্তবায়ন করার চেষ্টা করছেন, তার জন্য সরাসরি প্রযোজ্য কোডের নমুনাগুলি দেখা আপনার জন্য আরও সহজ করে তোলা।
বর্তমানে জাভা, জাভাস্ক্রিপ্ট, পিএইচপি, পাইথন এবং কার্ল (curl)-এর জন্য কোড স্যাম্পল সমর্থিত।
কোড স্যাম্পল পেজটিতে একটি নতুন UI-ও রয়েছে, যা উপরে বর্ণিত সমস্ত ফিচারই প্রদান করে। এই টুলটি ব্যবহার করে, আপনি বিভিন্ন মেথডের ব্যবহার অন্বেষণ করতে পারেন, APIs Explorer-এ ভ্যালু লোড করতে পারেন, এবং Java, JavaScript, PHP, ও Python-এর কোড স্যাম্পল পেতে ফুলস্ক্রিন APIs Explorer খুলতে পারেন।
এই পরিবর্তনের সাথে সাথে, যে পৃষ্ঠাগুলিতে আগে জাভা, পিএইচপি এবং পাইথনের জন্য উপলব্ধ কোড নমুনা তালিকাভুক্ত করা হতো, সেগুলি সরিয়ে ফেলা হয়েছে।
২৫শে ফেব্রুয়ারি, ২০১৯
liveChatMessage এবং superChatEvent রিসোর্সগুলোর ডকুমেন্টেশন আপডেট করা হয়েছে, যাতে এটি প্রতিফলিত হয় যে এখন থেকে উভয় রিসোর্সেই সুপার স্টিকার সম্পর্কিত তথ্য থাকতে পারে। সুপার স্টিকার হলো এক ধরনের সুপার চ্যাট মেসেজ যা একটি ছবি প্রদর্শন করে। অন্যান্য সুপার চ্যাটের মতোই, একজন ফ্যান ইউটিউব লাইভ স্ট্রিম চলাকালীন একটি সুপার স্টিকার মেসেজ কিনে থাকেন।
- একটি
liveChatMessageরিসোর্সে,snippet.typeপ্রপার্টিটি এখনsuperStickerEventএ সেট করা হয়, যা নির্দেশ করে যে রিসোর্সটিতে একটি সুপার স্টিকার সম্পর্কিত তথ্য রয়েছে। সেক্ষেত্রে, রিসোর্সটিতেsnippet.superStickerDetailsঅবজেক্টটিও থাকে, যেটিতে সুপার স্টিকারটি সম্পর্কে অতিরিক্ত তথ্য থাকে। - একটি
superChatEventরিসোর্সে,snippet.isSuperStickerEventবুলিয়ানটি নির্দেশ করে যে সুপার চ্যাট বার্তাটি একটি সুপার স্টিকারও কিনা। যদি তাই হয়, তাহলেsnippet.superStickerMetadataঅবজেক্টটিতে সুপার স্টিকারটি সম্পর্কে অতিরিক্ত বিবরণ থাকে।
৫ এপ্রিল, ২০১৮
superChatEvents.list মেথডটির বিবরণ আপডেট করা হয়েছে এই বিষয়টি প্রতিফলিত করার জন্য যে, এপিআই রেসপন্সে এখন আর fanFundingEvents অন্তর্ভুক্ত থাকে না, যা ২০১৭ সালের শুরুর দিকে ডেপ্রিকেটেড করা হয়েছিল।
৩ এপ্রিল, ২০১৭
লাইভ চ্যাট বার্তা কীভাবে তালিকাভুক্ত , সন্নিবেশ এবং মুছে ফেলতে হয় তা দেখানোর জন্য নতুন জাভা কোড নমুনা যুক্ত করা হয়েছে। নমুনাগুলিতে নিম্নলিখিত পদ্ধতিগুলি কল করা হয়েছে:
১৩ ফেব্রুয়ারী, ২০১৭
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
বিদ্যমান সম্পদ এবং পদ্ধতির হালনাগাদ
liveCuepoints.insertমেথডটি আপডেট করা হয়েছে এই বিষয়টি অন্তর্ভুক্ত করার জন্য যে, বর্তমানেonBehalfOfContentOwnerপ্যারামিটারটি আবশ্যক। এছাড়াও, মেথডটির বিবরণ আপডেট করা হয়েছে এটি উল্লেখ করার জন্য যে, এই মেথডে করা কলগুলো অবশ্যই একজন YouTube Content Owner-এর সাথে যুক্ত একটি অ্যাকাউন্ট দ্বারা অনুমোদিত হতে হবে।
৯ ফেব্রুয়ারী, ২০১৭
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
বিদ্যমান সম্পদ এবং পদ্ধতির হালনাগাদ
superChatEvents.listমেথডের নতুনhlপ্যারামিটারটি আপনাকে নির্দিষ্ট করতে দেয় যেsnippet.displayStringপ্রপার্টির মানটি একটি বিশেষ ভাষার প্রচলিত রীতি অনুযায়ী ফরম্যাট করা হবে। সেই অনুযায়ী প্রপার্টিটির সংজ্ঞাও আপডেট করা হয়েছে।প্যারামিটারের মান অবশ্যই
i18nLanguages.listমেথড দ্বারা ফেরত দেওয়া তালিকায় অন্তর্ভুক্ত একটি ভাষা কোড হতে হবে। এর ডিফল্ট মান হলোen, যার অর্থ হলো ডিফল্ট আচরণ অনুযায়ী ডিসপ্লে স্ট্রিংগুলোকে ইংরেজিতে যেভাবে ব্যবহৃত হয় সেভাবে ফরম্যাট করা হয়। উদাহরণস্বরূপ, ডিফল্টভাবে একটি স্ট্রিং$1.001,00 এর পরিবর্তে$1,00হিসাবে ফরম্যাট করা হয়।
১ ফেব্রুয়ারী, ২০১৭
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
নতুন সম্পদ এবং পদ্ধতি
নতুন
superChatEventরিসোর্সটি হলো একটি সুপার চ্যাট মেসেজ, যা কোনো ফ্যান ইউটিউব লাইভ স্ট্রিম চলাকালীন কিনে থাকেন। ইউটিউব লাইভ চ্যাট স্ট্রিমে, সুপার চ্যাটগুলো দুটি উপায়ে অন্যান্য মেসেজ থেকে আলাদা হয়:- সুপার চ্যাটগুলো একটি রঙ দিয়ে চিহ্নিত করা হয়।
- সুপার চ্যাটগুলো একটি নির্দিষ্ট সময়ের জন্য টিকারে পিন করা থাকে।
সুপার চ্যাটের রঙ, টিকারে এটি কতক্ষণ পিন করা থাকবে এবং বার্তার সর্বোচ্চ দৈর্ঘ্য—এই সবই ক্রয়ের পরিমাণের উপর নির্ভর করে। ইউটিউব হেল্প সেন্টারে সুপার চ্যাট সম্পর্কে আরও তথ্য রয়েছে।
এপিআই-টিতে একটি চ্যানেলের বিগত ৩০ দিনের লাইভ স্ট্রিমগুলোর সুপার চ্যাট ইভেন্ট তালিকাভুক্ত করার জন্য একটি মেথড রয়েছে। ঐ মেথডটি চ্যানেলটির সর্বশেষ লাইভ স্ট্রিম থেকে ফ্যান ফান্ডিং ইভেন্ট (
fanFundingEvents) সম্পর্কিত ডেটাও রিটার্ন করে।
বিদ্যমান সম্পদ এবং পদ্ধতির হালনাগাদ
snippet.typeপ্রপার্টিটি এখনsuperChatEventভ্যালুটি সাপোর্ট করে, যা নির্দেশ করে যে রিসোর্সটি একটি সুপার চ্যাট বর্ণনা করে।এছাড়াও,
liveChatMessageরিসোর্সের নতুনsnippet.superChatDetailsপ্রপার্টি এবং এর চাইল্ডগুলোতে সুপার চ্যাট ইভেন্ট সম্পর্কিত তথ্য থাকে।liveStreamরিসোর্সেরcdn.resolutionপ্রপার্টি এখন2160pভ্যালুটি সাপোর্ট করে।
নতুন এবং আপডেট করা ত্রুটিগুলি
এপিআই নিম্নলিখিত নতুন ত্রুটিগুলি সমর্থন করে:
ত্রুটির বিবরণ liveBroadcasts.insert,liveBroadcasts.updateliveBroadcasts.insertএবংliveBroadcasts.updateমেথডগুলো400(Bad Request) এরর রিটার্ন করে, যা নির্দেশ করে যে ইনসার্ট বা আপডেট করাliveBroadcastরিসোর্সটিতেcontentDetails.enableEmbedপ্রপার্টি অথবাcontentDetails.projectionপ্রপার্টির যেকোনো একটির জন্য একটি অবৈধ ভ্যালু রয়েছে। এই দুটি নতুন এররের কারণগুলো হলো যথাক্রমেinvalidEmbedSettingএবংinvalidProjection।
১২ জানুয়ারী, ২০১৭
দ্রষ্টব্য: এটি একটি বাতিলকরণ ঘোষণা।
নতুন সুপার চ্যাট ফিচারটি চালুর সাথে সাথে, ইউটিউব ফ্যান ফান্ডিং ফিচারটি বাতিল করেছে এবং ফ্যান ফান্ডিং এপিআই ২৮ ফেব্রুয়ারি, ২০১৭ তারিখে বন্ধ করে দেওয়া হবে। ঐ তারিখ থেকে:
-
liveChatMessages.listমেথডটি এখন থেকেfanFundingEventsnippet.typeএর মেসেজ আর রিটার্ন করবে না। একইভাবে,liveChatMessageরিসোর্সগুলোতেও এখন থেকেsnippet.fanFundingEventDetailsঅবজেক্টটি থাকবে না। -
fanFundingEvents.listমেথডটি এখন থেকে আর কোনো ডেটা রিটার্ন করবে না।
১১ আগস্ট, ২০১৬
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
সদ্য প্রকাশিত ইউটিউব এপিআই পরিষেবা ব্যবহারের শর্তাবলী ("হালনাগাদকৃত শর্তাবলী"), যা ইউটিউব ইঞ্জিনিয়ারিং অ্যান্ড ডেভেলপারস ব্লগে বিস্তারিতভাবে আলোচনা করা হয়েছে, বর্তমান ব্যবহারের শর্তাবলীতে বেশ কিছু নতুন সংযোজন এনেছে। এই সংশোধিত শর্তাবলী , যা ১০ই ফেব্রুয়ারি, ২০১৭ থেকে কার্যকর হবে, তার পাশাপাশি এই আপডেটে বেশ কিছু সহায়ক নথিও অন্তর্ভুক্ত করা হয়েছে, যা ডেভেলপারদের অবশ্যই অনুসরণ করতে হবে এমন নীতিমালাগুলো ব্যাখ্যা করতে সাহায্য করবে।
নতুন নথিগুলির সম্পূর্ণ সেট ‘আপডেট করা শর্তাবলী’-এর সংশোধন ইতিহাসে বর্ণনা করা হয়েছে। এছাড়াও, ‘আপডেট করা শর্তাবলী’ বা সেই সহায়ক নথিগুলিতে ভবিষ্যতে যে পরিবর্তনগুলি করা হবে, সেগুলিও সেই সংশোধন ইতিহাসে ব্যাখ্যা করা হবে। আপনি সেই নথিতে থাকা একটি লিঙ্ক থেকে সেই সংশোধন ইতিহাসের পরিবর্তনগুলির তালিকা সম্বলিত একটি আরএসএস ফিডে সাবস্ক্রাইব করতে পারেন।
২০ মে, ২০১৬
ইউটিউব এখন ড্যাশ ইনজেশন সমর্থন করে। সেই অনুযায়ী, ড্যাশ ব্যবহার করে ইউটিউবে ইনজেস্ট করা স্ট্রিমগুলো শনাক্ত করার জন্য liveStream রিসোর্সের ingestionType প্রপার্টিতে নতুন ভ্যালু ‘ dash যুক্ত করা হয়েছে।
নতুন ‘ডেলিভারিং লাইভ ইউটিউব কন্টেন্ট ভায়া ড্যাশ’ গাইডটি একটি এনকোডার থেকে ইউটিউবে লাইভ ডেটা স্ট্রিম করার জন্য ড্যাশ ডেলিভারি ফরম্যাট ব্যবহারের নির্দেশিকা প্রদান করে। এর উদ্দেশ্য হলো এনকোডার বিক্রেতাদের তাদের পণ্যগুলিতে ড্যাশ ডেলিভারি সাপোর্ট যোগ করতে সাহায্য করা।
১৮ এপ্রিল, ২০১৬
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
বিদ্যমান সম্পদ এবং পদ্ধতির হালনাগাদ
-
liveStreamরিসোর্স আপডেটইউটিউব এখন প্রতি সেকেন্ডে ৩০ অথবা ৬০ ফ্রেমে ১৪৪০পি রেজোলিউশনের স্ট্রিম সমর্থন করে।
এছাড়াও,
liveStreamরিসোর্সটিতে আগত ভিডিও ডেটার ফ্রেম রেট এবং রেজোলিউশন নির্দিষ্ট করার জন্য নতুন প্রোপার্টি রয়েছে:বৈশিষ্ট্য cdn.frameRateআগত ভিডিও ডেটার ফ্রেম রেট। বৈধ মানগুলো হলো 30fpsএবং60fps।cdn.resolutionআগত ভিডিও ডেটার রেজোলিউশন। বৈধ প্রপার্টি ভ্যালুগুলো হলো: 1440p,1080p,720p,480p,360pএবং240p।liveStreamরিসোর্সেরcdn.frameRateএবংcdn.resolutionপ্রপার্টিগুলো চালু হওয়ার সাথে সাথে, রিসোর্সটিরcdn.formatপ্রপার্টিটি এখন অপ্রচলিত (deprecated) হিসেবে গণ্য করা হয়েছে।cdn.formatপ্রপার্টিটি একটিমাত্র ভ্যালুর মাধ্যমে রেজোলিউশন এবং ফ্রেম রেট নির্দিষ্ট করে।আমরা আপনাকে নতুন সমর্থিত ফিল্ডগুলিতে স্থানান্তরিত হতে উৎসাহিত করছি। ইতিমধ্যে,
cdn.formatকাজ করে চলেছে। এছাড়াও, লাইভ স্ট্রিম সন্নিবেশ করার অনুরোধগুলি বর্তমানে সফল হয়, যদি আপনিcdn.formatপ্রপার্টি অথবাcdn.frameRateএবংcdn.resolutionপ্রপার্টিগুলির যেকোনো একটির জন্য মান নির্দিষ্ট করেন। আপনি যদি তিনটি প্রপার্টির জন্যই মান প্রদান করেন, তাহলে মানগুলি সামঞ্জস্যপূর্ণ না হলে API একটি ত্রুটি দেখাতে পারে।উল্লেখ্য যে, যদিও
cdn.formatপ্রপার্টিটি অপ্রচলিত (deprecated) হয়ে গেছে, এটি এখন1440pএবং1440p_hfrনামে দুটি নতুন ভ্যালু সাপোর্ট করে, যা প্রতি সেকেন্ডে ৩০ বা ৬০ ফ্রেমে 1440p স্ট্রিমের জন্য API-এর সাপোর্টকে প্রতিফলিত করে।
-
liveBroadcastরিসোর্স আপডেটliveBroadcastরিসোর্সটিতে নিম্নলিখিত নতুন প্রোপার্টিগুলো রয়েছে:বৈশিষ্ট্য contentDetails.boundStreamLastUpdateTimeMsব্রডকাস্টের contentDetails.boundStreamIdপ্রপার্টিতে উল্লেখিত লাইভ স্ট্রিমটি সর্বশেষ যে তারিখ ও সময়ে আপডেট করা হয়েছিল।contentDetails.projectionসম্প্রচারের প্রক্ষেপণ বিন্যাস। প্রপার্টিটির ডিফল্ট মান হলো rectangular। প্রপার্টিটির জন্য বৈধ মানগুলো হলো360এবংrectangular।liveBroadcastরিসোর্সেরstatistics.totalChatCountপ্রপার্টির সংজ্ঞাটি আপডেট করা হয়েছে, যেখানে উল্লেখ করা হয়েছে যে এই প্রপার্টির মানটি কেবল তখনই প্রদর্শিত হবে যখন ব্রডকাস্টটিতে অন্তত একটি চ্যাট বার্তা থাকবে।
-
liveChatMessageরিসোর্স আপডেটsnippet.typeপ্রপার্টিটি দুটি নতুন ভ্যালু সমর্থন করে –messageDeletedEventএবংuserBannedEvent– যা নিম্নলিখিত বুলেট পয়েন্টে বর্ণিত নতুন প্রপার্টিগুলোর সাথে সঙ্গতিপূর্ণ। এই নতুন মেসেজ টাইপগুলোর ক্ষেত্রে প্রপার্টি ভ্যালুটি কী নির্দেশ করে, তা ব্যাখ্যা করার জন্যsnippet.authorChannelIdপ্রপার্টির সংজ্ঞাও আপডেট করা হয়েছে।liveChatMessageরিসোর্সটিতে নিম্নলিখিত নতুন প্রোপার্টিগুলো রয়েছে:বৈশিষ্ট্য snippet.messageDeletedDetailsএই অবজেক্টটিতে চ্যাট মডারেটর দ্বারা মুছে ফেলা একটি বার্তা সম্পর্কিত তথ্য থাকে। অবজেক্টটি কেবল তখনই উপস্থিত থাকে যখন snippet.typeপ্রপার্টির মানmessageDeletedEventহয়।snippet.userBannedDetailsএই অবজেক্টটিতে এমন একজন ব্যবহারকারীর তথ্য থাকে যাকে চ্যাটে অংশগ্রহণ থেকে নিষিদ্ধ করা হয়েছে। অবজেক্টটিতে নিষেধাজ্ঞাটি সম্পর্কেও তথ্য থাকে, অর্থাৎ নিষেধাজ্ঞাটি স্থায়ী নাকি অস্থায়ী। যদি নিষেধাজ্ঞাটি অস্থায়ী হয়, তবে অবজেক্টটির একটি প্রপার্টি নিষেধাজ্ঞার সময়কাল নির্দিষ্ট করে দেয়।
এই অবজেক্টটি শুধুমাত্র তখনই উপস্থিত থাকে যখনsnippet.typeপ্রপার্টির মানuserBannedEventহয়।
-
নতুন এবং আপডেট করা ত্রুটিগুলি
এপিআই নিম্নলিখিত নতুন ত্রুটিগুলি সমর্থন করে:
ত্রুটির বিবরণ liveBroadcasts.bindliveBroadcasts.bindমেথডটি একটি403(Forbidden) এরর রিটার্ন করে, যা নির্দেশ করে যে ব্যবহারকারী একটি নির্দিষ্ট সময়সীমার মধ্যে অনেক বেশি রিকোয়েস্ট পাঠিয়েছেন। এররের কারণটি হলোuserRequestsExceedRateLimit।
liveBroadcasts.insertএবংliveBroadcasts.updateমেথডগুলো ইতিমধ্যেই একই এরর সাপোর্ট করে।liveStreams.insertliveStreams.insertমেথডটি চারটি নতুন400(Bad Request) এরর সমর্থন করে, যা সেইliveStreamরিসোর্সের একটি অবৈধ প্রপার্টি ভ্যালুকে শনাক্ত করে যেখানে রিকোয়েস্টটি ডেটা ইনসার্ট করার চেষ্টা করেছিল। নিম্নলিখিত তালিকাটি এররের কারণ এবং সেগুলোর সাথে সংশ্লিষ্ট প্রপার্টিগুলো চিহ্নিত করে:-
invalidFormat:cdn.format -
invalidFrameRate:cdn.frameRate -
invalidIngestionType:cdn.ingestionType -
invalidResolution:cdn.resolution
liveStreams.insertliveStreams.insertমেথডটি দুটি নতুন400(Bad Request) এরর সমর্থন করে, যার প্রতিটি নির্দেশ করে যে অনুরোধটি যেliveStreamরিসোর্সে ডেটা ইনসার্ট করার চেষ্টা করেছে, সেখানে প্রয়োজনীয় ভ্যালুটি উপস্থিত নেই। নিম্নলিখিত তালিকাটি এররের কারণ এবং সেগুলোর সাথে সংশ্লিষ্ট প্রোপার্টিগুলো চিহ্নিত করে:-
frameRateRequired:cdn.frameRate -
resolutionRequired:cdn.resolution
liveStreamরিসোর্স যুক্ত করবেন, তখন আপনাকে অবশ্যইcdn.formatপ্রপার্টি অথবাcdn.frameRateএবংcdn.resolutionপ্রপার্টিগুলোর যেকোনো একটির জন্য একটি মান নির্দিষ্ট করতে হবে।- আপনি তিনটি প্রপার্টির কোনোটির জন্য মান নির্দিষ্ট না করলে API-টি একটি
formatRequiredএরর রিটার্ন করে। - আপনি যদি
cdn.resolutionজন্য একটি মান নির্দিষ্ট করেন কিন্তুcdn.frameRateজন্য কোনো মান নির্দিষ্ট না করেন, তাহলে API-টি একটিframeRateRequiredত্রুটি ফেরত দেয়। - আপনি যদি
cdn.frameRateজন্য একটি মান নির্দিষ্ট করেন কিন্তুcdn.resolutionজন্য তা না করেন, তাহলে API একটিresolutionRequiredত্রুটি ফেরত দেয়।
liveStreams.updateযদি অনুরোধটি নিম্নলিখিত অপরিবর্তনযোগ্য প্রোপার্টিগুলোর কোনোটির মান পরিবর্তন করার চেষ্টা করে, তাহলে liveStreams.updateমেথডটি একটি403(Forbidden) ত্রুটি রিটার্ন করে:-
cdn.format -
cdn.frameRate -
cdn.ingestionType -
cdn.resolution
reasonliveStreamModificationNotAllowedউল্লেখ করা হয়েছে।-
১৮ ডিসেম্বর, ২০১৫
ইউরোপীয় ইউনিয়ন (ইইউ) আইন অনুসারে, ইইউ-তে থাকা ব্যবহারকারীদের কাছে নির্দিষ্ট কিছু তথ্য প্রকাশ করতে এবং তাদের সম্মতি নিতে হয়। অতএব, ইউরোপীয় ইউনিয়নে থাকা ব্যবহারকারীদের জন্য, আপনাকে অবশ্যই ইইউ ব্যবহারকারীর সম্মতি নীতি (EU User Consent Policy ) মেনে চলতে হবে। আমরা আমাদের ইউটিউব এপিআই পরিষেবার শর্তাবলীতে (YouTube API Terms of Service ) এই প্রয়োজনীয়তার একটি বিজ্ঞপ্তি যুক্ত করেছি।
১৭ ডিসেম্বর, ২০১৫
এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:
নতুন সম্পদ এবং পদ্ধতি
লাইভ সম্প্রচারের জন্য চ্যাট কার্যকারিতা সমর্থন করতে এপিআই বেশ কিছু নতুন রিসোর্স সমর্থন করে। ইউটিউব সক্রিয় লাইভ সম্প্রচারের সময় লাইভ চ্যাট কার্যকারিতা সমর্থন করে, এবং এই রিসোর্স ও তাদের মেথডগুলো চ্যাট বার্তা পুনরুদ্ধার করার পাশাপাশি চ্যাটের প্রশাসনিক কাজগুলোও সমর্থন করে।
সম্পদ liveChatMessageএই রিসোর্সটি ইউটিউব লাইভ চ্যাটের একটি মেসেজকে উপস্থাপন করে। ইউটিউব টেক্সট মেসেজ এবং ফ্যান ফান্ডিং ইভেন্টসহ বিভিন্ন ধরনের মেসেজ সমর্থন করে। কিছু মেসেজ টাইপ চ্যাটের একটি নির্দিষ্ট পর্যায়কে নির্দেশ করে, যেমন শুধুমাত্র স্পনসরদের জন্য নির্ধারিত সময়ের শুরু বা চ্যাটের সমাপ্তি। এপিআই (API) লাইভ চ্যাট মেসেজ তালিকাভুক্ত করা, যোগ করা এবং মুছে ফেলার জন্য মেথড সমর্থন করে। liveChatModeratorsএই রিসোর্সটি একজন চ্যাট মডারেটরকে শনাক্ত করে। মডারেটররা কিছু প্রশাসনিক কাজ করতে পারেন, যেমন চ্যাট থেকে ব্যবহারকারীদের নিষিদ্ধ করা বা বার্তা মুছে ফেলা। এপিআইটি লাইভ চ্যাট মডারেটরদের তালিকাভুক্ত করা, যুক্ত করা এবং মুছে ফেলার পদ্ধতি সমর্থন করে। liveChatBansএই রিসোর্সটি এমন একজন ব্যবহারকারীকে শনাক্ত করে, যাকে একটি নির্দিষ্ট লাইভ চ্যাটে বার্তা পোস্ট করা থেকে নিষিদ্ধ করা হয়েছে। এই নিষেধাজ্ঞা অস্থায়ী বা স্থায়ী হতে পারে। এপিআই-টি লাইভ চ্যাট নিষেধাজ্ঞা যুক্ত করা এবং মুছে ফেলার জন্য মেথড সমর্থন করে। fanFundingEventsএই রিসোর্সটি একটি ইউটিউব চ্যানেলের ফ্যান ফান্ডিং ইভেন্টের প্রতিনিধিত্ব করে। ফ্যান ফান্ডিং দর্শকদের এককালীন আর্থিক সহায়তার মাধ্যমে স্বেচ্ছায় ইউটিউব ক্রিয়েটরদের সমর্থন করার একটি উপায় প্রদান করে।
এপিআই-এরfanFundingEvents.listমেথডটি একটি চ্যানেলের ফ্যান ফান্ডিং ইভেন্টগুলো তালিকাভুক্ত করে। চ্যানেলের নিজস্ব লাইভ ব্রডকাস্ট চলাকালীন লাইভ চ্যাটের মাধ্যমে শুরু হওয়া ফ্যান ফান্ডিং ইভেন্টগুলো সেই ব্রডকাস্টের লাইভ চ্যাটেও একটিfanFundingEventমেসেজ পাঠায়।
ইউটিউব হেল্প সেন্টারে ফ্যান ফান্ডিং সম্পর্কে আরও জানুন।sponsorssponsorরিসোর্স একটি ইউটিউব চ্যানেলের স্পনসরকে শনাক্ত করে। একজন স্পনসর চ্যানেলটিকে মাসিক ফি প্রদান করেন। চ্যানেলের লাইভ চ্যাটে স্পনসরের মেসেজের পাশে একটি ব্যাজ দেখা যায় এবং চ্যানেলের জন্য বিশেষভাবে আয়োজিত লাইভ চ্যাটে, যদি তা অনুষ্ঠিত হয়, স্পনসররা অংশগ্রহণও করতে পারেন।
এপিআই-এরsponsors.listমেথডটি একটি চ্যানেলের স্পনসরদের তালিকা দেখায়। যখন ব্যবহারকারীরা কোনো চ্যানেলের লাইভ সম্প্রচারের সময় সেই চ্যানেলটিকে স্পনসর করার জন্য সাইন আপ করেন, তখন এপিআইটি সেই সম্প্রচারের লাইভ চ্যাটে একটিnewSponsorEventমেসেজও যোগ করে।ইউটিউব হেল্প সেন্টারে স্পনসরশিপ সম্পর্কে আরও জানুন।
Updates to existing resources and methods
The
liveBroadcastresource contains the following new properties:বৈশিষ্ট্য snippet.liveChatIdThe ID for the broadcast's YouTube live chat. With this ID, you can use the liveChatMessageresource's methods to retrieve, insert, or delete chat messages. You can also add or remove chat moderators, ban users from participating in live chats, or remove existing bans.contentDetails.closedCaptionsTypeNote: This property replaces the contentDetails.enableClosedCaptionsproperty.
This property indicates whether closed captioning is enabled for your broadcast and, if so, what type of closed captions you are providing:-
closedCaptionsDisabled: Closed captions are disabled for the live broadcast. -
closedCaptionsHttpPost: You will send captions, via HTTP POST, to an ingestion URL associated with your live stream. -
closedCaptionsEmbedded: Captions will be encoded in the video stream using EIA-608 and/or CEA-708 formats.
contentDetails.enableClosedCaptionsThis property has been deprecated as of December 17, 2015. Use the contentDetails.closedCaptionsTypeproperty instead. For API clients that are already using this property:- Setting the property value to
trueis equivalent to setting thecontentDetails.closedCaptionsTypeproperty toclosedCaptionsHttpPost. - Setting the property value to
falseis equivalent to setting thecontentDetails.closedCaptionsTypeproperty toclosedCaptionsDisabled.
-
The
liveBroadcasts.listmethod's newbroadcastTypeparameter lets you filter an API response to include event broadcasts, persistent broadcasts, or all broadcasts.A persistent broadcast is one that always exists and is not tied to a particular event. Specifically, a channel's default broadcast is a persistent broadcast, and it is accessible via the Live Dashboard in the YouTube Creator Studio. The channel's other broadcasts are event broadcasts.
The
liveStreamresource'sstatus.healthStatus.configurationIssues[].typefield reports the following new health status errors:ত্রুটি audioTooManyChannelsThe audio has more than two channels, but only one (mono) or two (stereo) channels are supported. Please correct the number of audio channels. frameRateHighThe current framerate is too high. Please set the framerate to %(framerate)sfps or less.The publication date of the previous documentation update was corrected.
New and updated errors
In addition to errors defined for the new resources listed above, the API supports the following new errors:
Error details liveBroadcasts.updateHTTP Response Code forbidden (403)কারণ closedCaptionsTypeModificationNotAllowedবর্ণনা The contentDetails.closedCaptionsTypevalue can only be modified when the broadcast is in thecreatedorreadystatus.liveBroadcasts.updateHTTP Response Code invalidValue (400)কারণ invalidEnableClosedCaptionsবর্ণনা In the liveBroadcast resource , the value of the contentDetails.enableClosedCaptionsproperty is incompatible with the value of thecontentDetails.closedCaptionTypesetting. Modify the resource to only include one of the two properties, and then resubmit the request.
August 19, 2015
This update contains the following changes:
New resources and methods
Note: Documentation for the
liveChatresource and its methods is confidential and only visible to select YouTube partners.The new
liveChatresource contains a comment posted during a live broadcast on YouTube. The API supports two methods for this resource:পদ্ধতি liveChats.listList live chat messages for a broadcast. liveChats.insertCreate a new chat message. Live chat messages can only be retrieved and posted while a broadcast is live.
Updates to existing resources and methods
The
liveStreamresource contains the following new properties:বৈশিষ্ট্য snippet.isDefaultStreamIndicates whether this stream is the default stream for the channel. A channel's default stream exists indefinitely, does not have a start or end time associated with it, and cannot be deleted. See the property's definition for more information about how default streams work. status.healthStatusThis object contains information that could be used to identify, diagnose and resolve streaming problems. The object contains a number of child properties to help you evaluate the health of a live video stream.
In particular, thestatus.healthStatus.configurationIssues[]object lists issues affecting a video stream. A new document, Configuration Issues for LiveStream Resources , lists all of the issues that the API reports.contentDetails.isReusableIndicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times. The
liveBroadcastresource contains the following new properties:বৈশিষ্ট্য snippet.isDefaultBroadcastIndicates whether this broadcast is the default broadcast for the channel. When a YouTube channel is enabled for live streaming, YouTube creates a default stream and a default broadcast for the channel. The stream defines how the channel owner sends live video to YouTube, and the broadcast is how viewers can see the default stream. See the property's definition for more information about how default broadcasts work. contentDetails.enableLowLatencyIndicates whether this broadcast should be encoded for low-latency streaming. A low-latency stream can reduce the amount of time it takes for video to be visible to users watching a broadcast, though it can also impact the resolution for viewers of the stream. statistics.totalChatCountThe total number of live chat messages associated with the broadcast. The property and its value are present if the broadcast is visible to the user and has the live chat feature enabled. Note that this property will not specify a value after the broadcast ends. So, this property would not identify the number of chat messages for an archived video of a completed live broadcast.
New and updated errors
In addition to errors defined for the new
liveChatresource, the API supports the following new error:Error details liveStreams.updateHTTP Response Code forbidden (403)কারণ liveStreamModificationNotAllowedবর্ণনা The API does not allow you to change a reusable stream to be non-reusable, or vice versa. For more information, see Understanding Broadcasts and Streams
May 21, 2015
This update contains the following changes:
YouTube now supports live video streaming at 60 frames per second (fps), which means smoother playback for gaming and other fast-action videos. When you start a live stream on YouTube at 60fps, YouTube also makes the stream available in 30fps on devices where high-frame-rate viewing is not yet available.
The
liveStreamresource'scdn.formatproperty supports two new values for this feature:720p_hfrand1080p_hfr.See the YouTube Creators Blog for more information about this feature.
August 21, 2014
This update contains the following changes:
The definition of the
liveBroadcasts.controlmethod'swalltimeparameter has been updated to note that the property value is specified in ISO 8601 format (YYYY-MM-DDThh:mm:ss.sssZ).The API now supports the following errors:
Error type Error detail বর্ণনা insufficientPermissionsliveStreamingNotEnabledAll methods for the liveBroadcastandliveStreamresources return this error if the user that authorized the API request has not been enabled to stream live video on YouTube. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features .rateLimitExceededuserRequestsExceedRateLimitThe liveBroadcasts.insertandliveStreams.insertmethods both return this error to indicate that the user has sent too many requests within a given timeframe.
May 2, 2014
This update contains the following changes:
The descriptions of the
liveStreamresource and of theliveBroadcasts.bindmethod have been updated to note that a broadcast can only be bound to one video stream, but a video stream can be bound to more than one broadcast. This change is solely a correction to the documentation; the underlying API functionality has not changed.The
liveBroadcastresource'scontentDetails.monitorStream.enableMonitorStreamproperty has been updated to explain that if the property's value istrue, then you must transition your broadcast to thetestingstate before you can transition it to thelivestate. (If the property's value isfalse, your broadcast cannot have atestingstage, so you can transition the broadcast directly to thelivestate.The
liveCuepointresource'ssettings.offsetTimeMsproperty has been updated to note that you should not specify a value for the property if your broadcast does not have a monitor stream.All of the methods for the
liveBroadcastandliveStreamresources now support theonBehalfOfContentOwnerandonBehalfOfContentOwnerChannelparameters. These parameters allow you to use the same authorization credentials to complete API requests for different channels associated with the same content owner.The
liveCuepoints.insertmethod's documentation has been updated to note that you can set a value for thesettings.walltimeproperty when calling that method.The error documentation now specifies the HTTP response code for each error type.
The API now supports the following error:
Error type Error detail বর্ণনা insufficientPermissionslivePermissionBlockedThe liveBroadcasts.insert,liveBroadcasts.transition, andliveStreams.insertmethods return this error if the user that authorized the request is unable to stream live video on YouTube. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features .The
liveBroadcasts.insertmethod'sinvalidScheduledStartTimeerror has been updated to clarify that the scheduled start time must be close enough to the current date that a broadcast could be reliably scheduled at that time.
December 13, 2013
This update contains the following changes:
The
liveBroadcastresource's newstatus.recordingStatusproperty identifies the broadcast's current status.The
liveBroadcastresource's newcontentDetails.enableClosedCaptionsproperty indicates whether closed captions can be ingested for the broadcast. The property value can be set when you insert or update a broadcast, but it cannot be updated once the broadcast is in thetestingorlivestate. If you set this property totrue, then theliveStreamresource that is bound to the broadcast will specify the ingestion URL to use for the broadcast's closed captions.The
liveBroadcastresource'ssnippet.scheduledEndTimeproperty now supports broadcasts that are scheduled to continue indefinitely. With this change, the property is no longer required inliveBroadcasts.insertandliveBroadcasts.updaterequests.
If you retrieve aliveBroadcastresource that does not specify a value for this property, then the broadcast is scheduled to continue indefinitely. Similarly, if you call theliveBroadcasts.insertorliveBroadcasts.updatemethod and do not specify a value for this property, the broadcast will be scheduled to continue indefinitely.The
liveBroadcastresource'scontentDetails.recordFromStartproperty, which already had a default value oftrue, can now only be set tofalseif the broadcasting channel is allowed to disable recordings for live broadcasts.If your channel does not have permission to disable recordings, and you attempt to insert a broadcast with the
recordFromStartproperty set tofalse, the API will return aForbiddenerror. In addition, if your channel does not have that permission and you attempt to update a broadcast to set therecordFromStartproperty tofalse, the API will return amodificationNotAllowederror.The
liveBroadcastresource no longer contains anenableArchiveproperty, which had been mentioned in the descriptions of thecontentDetails.enableDvrandcontentDetails.enableEmbedproperties.The list of valid values for the
liveBroadcastresource'sstatus.lifeCycleStatusproperty has been updated to include a description of each status.The
liveCuepointresource's newsettings.walltimeproperty specifies the date and time at which the cuepoint should be inserted. The API returns an error if a request tries to insert a cuepoint that specifies a value for this property and for thesettings.offsetTimeMsproperty.The new
contentDetailsobject in aliveStreamresource contains information about the stream. Currently, the object's only property iscontentDetails.closedCaptionsIngestionUrl, which specifies the ingestion URL for closed captions associated with the video stream.The list of valid values for the
liveStreamresource'sstatus.streamStatusproperty has been updated to include a description of each status.The
liveBroadcasts.controlmethod's newwalltimeparameter lets you specify the date and time when a slate change will occur. The API returns an error if a request specifies a value for this parameter and for theoffsetTimeMsparameter.In the API response to a
liveBroadcasts.listrequest, the value of thekindproperty has changed fromyoutube#liveBroadcastListtoyoutube#liveBroadcastListResponse.In the API response to a
liveStreams.listrequest, the value of thekindproperty has changed fromyoutube#liveStreamListtoyoutube#liveStreamListResponse.The
eventIdproperty has been deprecated from both theliveBroadcastListResponseand theliveStreamListResponse.The API supports the following new errors:
Error type Error detail বর্ণনা invalidValueconflictingTimeFieldsThe liveBroadcasts.controlmethod returns this error if your request specifies values for theoffsetTimeMsandwalltimeparameters. A request can either omit both parameters or specify a value for one of the two parameters.invalidValueinvalidWalltimeThe liveBroadcasts.controlmethod returns this error if thewalltimeparameter's value is invalid.forbiddenenableClosedCaptionsModificationNotAllowedThe liveBroadcasts.updatemethod returns this error if you attempt to update thecontentDetails.enableClosedCaptionsvalue and the broadcast's status is notcreatedorready.invalidValueconflictingTimeFieldsThe liveCuepoints.insertmethod returns this error if your request specifies values for thesettings.offsetTimeMsandsettings.walltimeproperties. A request can either omit both properties or specify a value for one of the two properties.In addition, the
liveStreams.updatemethod no longer supports acdnRequirederror similar to the one that theliveStreams.insertmethod supports.
May 10, 2013
This update contains the following changes:
YouTube no longer identifies experimental API features and services. Instead, we now provide a list of YouTube APIs that are subject to the deprecation policy .
May 2, 2013
This update contains the following changes:
The new
liveBroadcasts.controlmethod enables you to toggle the display settings for a slate that displays in the broadcast stream for a broadcast that is already in progress. If your broadcast stream is delayed, you can also use this method to specify a time offset when the requested slate change will occur.The definitions of the following properties have been updated to explain that the property values must be set if you update a
liveBroadcastresource'scontentDetailspart:The
liveStreamresource'sstatus.streamStatusno longer supports the valuedeletedas a possible stream status.The information that the API returns for many error messages has been revised to better explain why particular errors occurred. The API also supports several new errors.
March 27, 2013
This update contains the following changes:
The following properties have changed in the
liveBroadcastresource:- The
startWithSlateCuepointproperty has been renamed tostartWithSlate. - The
enableArchiveproperty has been renamed torecordFromStart. - The
slateSettingsobject has been deprecated and removed from the documentation. Error messages related to theslateSettingsobject or its properties have also been removed. Finally, the "Displaying Slates" section of the Getting started guide has been removed.
- The
The API no longer supports the ability to insert in-stream slates using the
liveCuepoints.insertmethod. The following documents have been updated to reflect this change:The index page , Getting started guide, and Life of a broadcast tutorial no longer mention this functionality.
The
liveCuepointresource'ssettings.cueTypeproperty no longer supportsslateas a property value. (The only supported value isad.The
liveCuepointresource'ssettings.eventStateproperty has been deprecated and removed from the documentation.
March 18, 2013
This update contains the following changes:
All of the API's error messages have been updated to more clearly explain possible errors and, when possible, offer guidance about how to fix them.
The API may now return several new errors. The list below identifies the error and the API method that might return that error:
-
liveBroadcasts.insert– A broadcast's scheduled end time must be after its scheduled start time. -
liveBroadcasts.insert– The broadcast specifies an invalid privacy status. -
liveBroadcasts.update– The resource does not contain or does not set a value for thecontentDetails.enableArchiveproperty. -
liveBroadcasts.update– The resource does not contain or does not set a value for thecontentDetails.enableContentEncryptionproperty. -
liveBroadcasts.update– The resource does not contain or does not set a value for thecontentDetails.enableDvrproperty. -
liveStreams.insert– The snippet title must be between 1 and 128 characters long. -
liveStreams.update– The resource does not contain or does not set a value for thesnippet.titleproperty.
-
The
liveStreamresource documentation has been updated to reflect that multicast and WebM are not supported ingestion methods as previously indicated. The list of formats for thecdn.formatproperty has been updated accordingly, and thecdn.multicastIngestionInfoobject and its child properties have been removed from the resource's documentation. In addition,httphas been removed from the list of supportedcdn.ingestionTypevalues.