YouTube লাইভ স্ট্রিমিং API - পুনর্বিবেচনার ইতিহাস

এই পৃষ্ঠাটি YouTube লাইভ স্ট্রিমিং API পরিবর্তন এবং ডকুমেন্টেশন আপডেট তালিকাভুক্ত করে। এই চেঞ্জলগে সাবস্ক্রাইব করুনসাবস্ক্রাইব

9 অক্টোবর, 2023

শুধুমাত্র রেফারেন্সের জন্য, আপনি এই CSV ফাইলে কোন স্টিকার আইডি কোন সুপার স্টিকারের সাথে সম্পর্কিত তা খুঁজে পেতে পারেন। liveChatMessage রিসোর্সের snippet.superStickerDetails.superStickerMetadata.stickerId প্রপার্টির সংজ্ঞা এবং superChatEvent রিসোর্সের snippet.superStickerMetadata.stickerId প্রপার্টি উভয়ই এই তথ্য প্রতিফলিত করার জন্য আপডেট করা হয়েছে।

15 সেপ্টেম্বর, 2023

API এখন লাইভ সম্প্রচারে বিজ্ঞাপন সন্নিবেশ করার একটি নতুন উপায় সমর্থন করে৷ liveCuepoints ছাড়াও, যা আপনাকে ম্যানুয়ালি একটি সম্প্রচারে বিজ্ঞাপন বিরতি সন্নিবেশ করতে দেয়, YouTube এখন একটি নির্দিষ্ট ব্যবধানে একটি সম্প্রচারে স্বয়ংক্রিয়ভাবে মিডরোল বিজ্ঞাপন বিরতি সন্নিবেশ করার জন্য একটি বৈশিষ্ট্য সমর্থন করে৷

যদি সম্প্রচারের মালিক স্বয়ংক্রিয় বিজ্ঞাপনগুলি সক্ষম করে, তাহলে তারা বিজ্ঞাপন আচরণের নিম্নলিখিত দিকগুলি দেখতে পারে:

  • মিডরোল বিজ্ঞাপন বিরতির মধ্যে ব্যবধানের দৈর্ঘ্য।
  • বিজ্ঞাপন কিউপয়েন্টের জন্য নির্ধারিত কৌশল। ক্যুপয়েন্টগুলি সমস্ত দর্শকদের জন্য একযোগে সন্নিবেশ করা যেতে পারে বা কিউপয়েন্টগুলির সময় দর্শক থেকে দর্শকের মধ্যে পরিবর্তিত হতে পারে। পরবর্তী কৌশলটি ইউটিউবকে একটি বর্ধিত হারে কিউপয়েন্ট নির্ধারণ করতে সক্ষম করে যা দর্শকরা যখন এটি করার যোগ্য হয় তখন কিউপয়েন্ট পেতে দেয়।
  • একটি সময়কাল যেখানে মিডরোল বিজ্ঞাপন দেখানো হয় না; এই বৈশিষ্ট্যটির জন্য, সম্প্রচার মালিক নির্দিষ্ট করে যে মিডরোল বিজ্ঞাপন সন্নিবেশ একটি নির্দিষ্ট সময় পর্যন্ত বিরাম দেওয়া হয়েছে৷

ডকুমেন্টেশন এই বৈশিষ্ট্য সমর্থন করার জন্য নিম্নলিখিত API পরিবর্তনগুলি প্রতিফলিত করে:

  • liveBroadcast রিসোর্সে এখন একটি monetizationDetails অবজেক্ট রয়েছে। অবজেক্টের ক্ষেত্রগুলি সম্প্রচারের জন্য স্বয়ংক্রিয় বিজ্ঞাপন সন্নিবেশ সক্ষম করা হয়েছে কিনা তা নির্দেশ করে এবং কিউপয়েন্ট নির্ধারণের জন্য অতিরিক্ত তথ্য নির্দিষ্ট করে৷
  • liveBroadcast.list পদ্ধতির part প্যারামিটার monetizationDetails বিবরণকে সমর্থন করে।
  • update পদ্ধতিটি একটি লাইভ সম্প্রচারের জন্য একটি নির্দিষ্ট সময়ের জন্য মিডরোল বিজ্ঞাপন সন্নিবেশ বিরাম দিতে ব্যবহার করা যেতে পারে। লাইভ সম্প্রচারের জন্য নগদীকরণ বিশদ আপডেট করার সময় ডকুমেন্টেশনটি এখন বেশ কয়েকটি ত্রুটি সনাক্ত করে যা ঘটতে পারে।

আগস্ট 1, 2023

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • liveBroadcasts.update পদ্ধতিতে আর এই ক্ষেত্রগুলির জন্য মান নির্দিষ্ট করার প্রয়োজন নেই:

    • snippet.title
    • status.privacyStatus

    অনুরোধ থেকে এই ক্ষেত্রগুলি বাদ দিলে সেগুলি অপরিবর্তিত থাকবে৷

নভেম্বর 1, 2022

  • নতুন liveBroadcasts.cuepoint পদ্ধতিটি YouTube-এ একটি লাইভ সম্প্রচার চালাতে থাকা চ্যানেলের মালিককে সেই সম্প্রচারে কিউপয়েন্ট সন্নিবেশ করতে সক্ষম করে, যা বিজ্ঞাপন বিরতি ট্রিগার করতে পারে। এই পদ্ধতি liveCuepoints.insert পদ্ধতিকে প্রতিস্থাপন করে, যা শুধুমাত্র YouTube সামগ্রী অংশীদারদের লাইভ সম্প্রচারে কিউপয়েন্ট সন্নিবেশ করতে সক্ষম করে।

    এই নতুন পদ্ধতির প্রাপ্যতা প্রতিফলিত করার জন্য বেশ কয়েকটি গাইড আপডেট করা হয়েছে।

  • দ্রষ্টব্য: এটি একটি অবমূল্যায়ন ঘোষণা।

    liveCuepoints.insert পদ্ধতিটি এখন বাতিল করা হয়েছে। liveCuepoints.insert পদ্ধতির জন্য সমর্থন 1 মে, 2023 তারিখে বা তার পরে সরানো হবে। API ব্যবহারকারীদের পরিবর্তে liveBroadcasts.cuepoint পদ্ধতিতে কল করার জন্য তাদের অ্যাপ্লিকেশন আপডেট করা উচিত।

  • liveBroadcasts.control পদ্ধতির জন্য ডকুমেন্টেশন সরানো হয়েছে। সেই পদ্ধতির জন্য একটি অবচয় বিজ্ঞপ্তি সেপ্টেম্বর 2020 এ পোস্ট করা হয়েছিল।

অক্টোবর 1, 2022

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • liveBroadcasts.update পদ্ধতিতে এই ক্ষেত্রগুলির জন্য মান নির্দিষ্ট করার প্রয়োজন নেই:

    • contentDetails.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    অনুরোধ থেকে এই ক্ষেত্রগুলি বাদ দিলে সেগুলি অপরিবর্তিত থাকবে৷

  • অপ্রচলিত liveBroadcast ক্ষেত্রের জন্য সরানো ডকুমেন্টেশন:

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

এপ্রিল 1, 2022

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • snippet.type সম্পত্তি এখন দুটি নতুন মান সমর্থন করে:

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • liveChatMessage রিসোর্সের নতুন snippet.membershipGiftingDetails প্রপার্টি এবং এর বাচ্চাদের মেম্বারশিপ গিফটিং ইভেন্ট সম্পর্কে তথ্য রয়েছে। একইভাবে, নতুন snippet.giftMembershipReceivedDetails প্রপার্টি এবং এর বাচ্চাদের মধ্যে গিফট মেম্বারশিপ রিসিভড ইভেন্টের তথ্য রয়েছে।

15 সেপ্টেম্বর, 2021

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • snippet.type সম্পত্তি এখন দুটি নতুন মান সমর্থন করে:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • liveChatMessage রিসোর্সের নতুন snippet.memberMilestoneChatDetails প্রপার্টি এবং এর বাচ্চাদের মধ্যে সদস্য মাইলস্টোন চ্যাট ইভেন্ট সম্পর্কে তথ্য রয়েছে। একইভাবে, নতুন snippet.newSponsorDetails সম্পত্তি এবং এর বাচ্চাদের মধ্যে নতুন স্পনসর ইভেন্ট সম্পর্কে তথ্য রয়েছে।

ডিসেম্বর 1, 2020

API এর liveBroadcasts.transition পদ্ধতি একটি নতুন 403 ( Forbidden ) ত্রুটি সমর্থন করে, যা নির্দেশ করে যে ব্যবহারকারী একটি নির্দিষ্ট সময়সীমার মধ্যে অনেক বেশি অনুরোধ পাঠিয়েছেন৷ ত্রুটির কারণ হল userRequestsExceedRateLimit

সেপ্টেম্বর 21, 2020

  • liveBroadcast রিসোর্সের স্থিতির সংজ্ঞা status.madeForKids সম্পত্তিটি শুধুমাত্র পঠনযোগ্য তা স্পষ্ট করার জন্য আপডেট করা হয়েছে। এটি API কার্যকারিতার পরিবর্তন প্রতিফলিত করে না।

    একটি লাইভ সম্প্রচারকে শিশু-নির্দেশিত হিসাবে মনোনীত করতে, সম্প্রচার তৈরি করতে liveBroadcasts.insert পদ্ধতিতে কল করার সময় status.selfDeclaredMadeForKids সম্পত্তিটিকে true হিসাবে সেট করুন৷

  • দ্রষ্টব্য: এই পরিবর্তনে একটি অবচয় ঘোষণা এবং একটি পূর্ববর্তী অবচয় ঘোষণার আপডেট অন্তর্ভুক্ত রয়েছে৷

    liveBroadcasts.control পদ্ধতিটি 1 অক্টোবর 2020 তারিখে বা তার পরে বাতিল করা হবে। সেই তারিখের পরে, এই পদ্ধতিতে করা সমস্ত কল একটি নিষিদ্ধ (403) ত্রুটি ফিরিয়ে দেবে এবং পদ্ধতিটি পরে সম্পূর্ণরূপে সরানো হবে। ক্লায়েন্টরা এখনও YouTube এর ইনজেশন সার্ভারে পাঠানো ভিডিওতে একটি ওভারলে যোগ করে তাদের নিজস্ব স্লেটিং বাস্তবায়ন করতে পারে।

    16 এপ্রিল 2020-এ করা অবমূল্যায়ন ঘোষণার তারিখ, যা মূলত 1 সেপ্টেম্বর 2020-এর জন্য নির্ধারিত ছিল, তা পিছিয়ে দেওয়া হয়েছে এবং এখন 1 অক্টোবর 2020-এ বা তার পরে ঘটবে৷ এইভাবে, সেই অবচয় ঘোষণা এবং liveBroadcasts.control পদ্ধতি একই সময়ে বাতিল করা হবে।

জুলাই 17, 2020

দ্রষ্টব্য: এটি একটি পূর্ববর্তী অবচয় ঘোষণার একটি আপডেট৷

liveStream রিসোর্সের cdn.format ফিল্ড, যা এপ্রিল 2016-এ বাতিল করা হয়েছিল, 17 অগাস্ট, 2020 থেকে আর সমর্থিত হবে না৷ সেই তারিখ থেকে এখনও সেই ক্ষেত্রটি ব্যবহার করার অনুরোধগুলি ব্যর্থ হবে৷

যদি আপনার কোড এখনও cdn.format ক্ষেত্র ব্যবহার করে, তাহলে cdn.frameRate এবং cdn.resolution বৈশিষ্ট্যগুলি ব্যবহার করে আলাদাভাবে ফ্রেম রেট এবং রেজোলিউশন নির্দিষ্ট করতে এটি আপডেট করতে হবে।

6 জুলাই, 2020

এইচএলএস গাইডের মাধ্যমে লাইভ ইউটিউব সামগ্রী বিতরণ কিছু পরিবর্তন সহ আপডেট করা হয়েছে:

  • একটি মিডিয়া সেগমেন্টের জন্য প্রস্তাবিত সময়কাল এক থেকে চার সেকেন্ডে আপডেট করা হয়েছে।
  • YouTube ক্রিয়েটর স্টুডিও থেকে কীভাবে একটি HLS ইনজেশন URL পেতে হয় তা একটি নতুন বিভাগ ব্যাখ্যা করে৷
  • file প্যারামিটার মান ফর্ম্যাট করার জন্য নির্দেশাবলী নতুন HLS ইনজেশন URL বিভাগে সরানো হয়েছে। HLS ইনজেশন URL YouTube API বা YouTube ক্রিয়েটর স্টুডিও থেকে প্রাপ্ত হোক না কেন এই নির্দেশাবলী প্রযোজ্য।

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

16 এপ্রিল, 2020

এই আপডেটে একটি নতুন সম্পত্তি এবং একটি অবচয় ঘোষণা রয়েছে:

  • liveBroadcast সংস্থান এখন contentDetails.enableAutoStop প্রপার্টি সমর্থন করে। চ্যানেল মালিক আবদ্ধ ভিডিও স্ট্রীমে ভিডিও স্ট্রিমিং বন্ধ করার এক মিনিটের মধ্যে সম্প্রচার স্বয়ংক্রিয়ভাবে বন্ধ হওয়া উচিত কিনা তা নির্দেশ করে।

    যদি আপনি contentDetails.enableAutoStart বা contentDetails.enableAutoStop বৈশিষ্ট্যগুলিকে true সেট করেন তবে একটি লাইভ YouTube ইভেন্ট তৈরি এবং পরিচালনা করার ধাপে ধাপে প্রক্রিয়া কীভাবে পরিবর্তিত হয় তা ব্যাখ্যা করার জন্য একটি সম্প্রচার নথির জীবন আপডেট করা হয়েছে৷

  • দ্রষ্টব্য: এটি একটি অবমূল্যায়ন ঘোষণা। এই পরিবর্তনগুলি 1 সেপ্টেম্বর, 2020 থেকে বা তার পরে কার্যকর হবে৷ পরিবর্তনগুলি কার্যকর হওয়ার প্রকৃত তারিখটি নিম্নে অবচয় তারিখ হিসাবে উল্লেখ করা হয়েছে৷

    এই আপডেটটি একটি সম্ভাব্য ব্রেকিং পরিবর্তন ব্যাখ্যা করে। এটি API ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে প্রভাবিত করে যেগুলি YouTube-এ লাইভ সামগ্রী স্ট্রিম করতে চ্যানেলগুলির ডিফল্ট liveStream এবং liveBroadcast সংস্থানগুলি ব্যবহার করে৷ বিশেষ করে, ক্রমাগত সম্প্রচার এবং স্ট্রিমের সাথে যুক্ত ব্রডকাস্ট আইডি এবং স্ট্রিম আইডি নতুন সম্প্রচার শুরু করার জন্য আর কাজ করবে না।

    নিচের যেকোনো একটি সত্য হলে আপনার আবেদন প্রভাবিত হবে:

    • এটি liveBroadcast রিসোর্সের isDefaultBroadcast সম্পত্তির মান পরীক্ষা করে। অবচয় তারিখের পরে এই সম্পত্তি ফেরত দেওয়া হবে না।
    • এটি liveStream রিসোর্সের isDefaultStream সম্পত্তির মান পরীক্ষা করে। অবচয় তারিখের পরে এই সম্পত্তি ফেরত দেওয়া হবে না।
    • এটি liveBroadcasts.list পদ্ধতিকে কল করে এবং broadcastType প্যারামিটার মানটিকে persistent বা all সেট করে। এই পরিবর্তনগুলির অংশ হিসাবে এই প্যারামিটারটি অবমুক্ত করা হবে৷ অবচয় তারিখ অনুযায়ী:
      • যদি broadcastType প্যারামিটার মান persistent হয়, তাহলে liveBroadcasts.list পদ্ধতি কোনো ফলাফল প্রদান করবে না।
      • যদি broadcastType প্যারামিটার মান all হয়, তাহলে liveBroadcasts.list পদ্ধতি সেই সময়ের আগে বিদ্যমান অবিরাম সম্প্রচার ফিরিয়ে দেবে না।

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

    অবচয় তারিখ অনুযায়ী:

    • YouTube আর ডিফল্ট স্ট্রিম এবং সম্প্রচার তৈরি করবে না। ডিফল্ট সংস্থানগুলির উপর নির্ভর করার পরিবর্তে, API ক্লায়েন্টদের liveBroadcast এবং liveStream সংস্থানগুলি তৈরি এবং পরিচালনা করতে এবং সেই সংস্থানগুলিকে একসাথে আবদ্ধ করতে সক্ষম হতে হবে।
    • যদি একটি চ্যানেলের ডিফল্ট সম্প্রচার এবং ডিফল্ট স্ট্রীম সক্রিয়ভাবে লাইভ থাকে, মানে অবচয় কার্যকর হওয়ার সময় চ্যানেলটি লাইভ সম্প্রচারের জন্য সেগুলি ব্যবহার করছে, তাহলে চলমান সম্প্রচার প্রভাবিত হবে না৷ যাইহোক, সেই সম্প্রচার শেষ হওয়ার পর, চ্যানেলটি আবার ডিফল্ট সম্প্রচার এবং ডিফল্ট স্ট্রিম ব্যবহার করতে পারবে না।
    • যদি একটি চ্যানেলের ডিফল্ট সম্প্রচার এবং ডিফল্ট স্ট্রিম সক্রিয়ভাবে লাইভ না হয়, তাহলে অবচয় কার্যকর হওয়ার পরে, YouTube ভিডিও সম্প্রচার করার জন্য সেই সংস্থানগুলি ব্যবহার করার প্রচেষ্টাকে উপেক্ষা করবে৷

    যদি আপনার আবেদন প্রভাবিত হয়, অনুগ্রহ করে নিম্নলিখিত নথিগুলি দেখুন, যা আপনাকে আপনার আবেদন আপডেট করতে সাহায্য করবে যাতে এই পরিবর্তনের পরেও এটি প্রত্যাশিতভাবে কাজ করে:

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

মার্চ 31, 2020

দ্রষ্টব্য: এটি একটি অবমূল্যায়ন ঘোষণা।

sponsor রিসোর্স এবং sponsors.list মেথড অবহেলিত হয়েছে এবং member রিসোর্স এবং members.list মেথড দ্বারা প্রতিস্থাপিত হয়েছে।

30 সেপ্টেম্বর, 2020 তারিখে বা তার পরে sponsors.list পদ্ধতিটি আর সমর্থিত হবে না। API ক্লায়েন্টদের এর পরিবর্তে members.list পদ্ধতি ব্যবহার করতে sponsors.list পদ্ধতিতে কল আপডেট করা উচিত। নতুন সংস্থান সম্পর্কে আরও তথ্যের জন্য দয়া করে YouTube ডেটা API পুনর্বিবেচনার ইতিহাস দেখুন৷

11 মার্চ, 2020

এইচএলএস গাইডের মাধ্যমে লাইভ ইউটিউব সামগ্রী বিতরণের ইনজেশন এন্ডপয়েন্ট বিভাগটি আপডেট করা হয়েছে প্রাথমিক এবং ব্যাকআপ ইনজেশন ইউআরএল তৈরি করার সময় file= প্যারামিটার মান সম্পূর্ণ করার জন্য যে প্রক্রিয়াটি এনকোডার ব্যবহার করা উচিত তা স্পষ্ট করার জন্য।

4 ফেব্রুয়ারি, 2020

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

জানুয়ারী 10, 2020

API এখন শিশু-নির্দেশিত সামগ্রী সনাক্ত করার ক্ষমতা সমর্থন করে, যাকে YouTube বলে "বাচ্চাদের জন্য তৈরি"৷ YouTube সহায়তা কেন্দ্রে "বাচ্চাদের জন্য তৈরি" সামগ্রী সম্পর্কে আরও জানুন

  • liveBroadcast রিসোর্স দুটি নতুন প্রপার্টি সমর্থন করে যাতে কন্টেন্ট ক্রিয়েটর এবং দর্শকদের "বাচ্চাদের জন্য তৈরি" কন্টেন্ট শনাক্ত করতে সক্ষম করে:
    • selfDeclaredMadeForKids সম্পত্তি একটি লাইভ সম্প্রচার শিশু-নির্দেশিত বিষয়বস্তু কিনা তা নির্দিষ্ট করতে বিষয়বস্তু নির্মাতাদের সক্ষম করে। liveBroadcasts.insert পদ্ধতির মাধ্যমে একটি সম্প্রচার তৈরি করার সময় এই বৈশিষ্ট্যটি সেট করা যেতে পারে। মনে রাখবেন যে চ্যানেলের মালিক যদি API অনুরোধ অনুমোদন করেন তবে এই বৈশিষ্ট্যটি শুধুমাত্র API প্রতিক্রিয়াগুলিতে অন্তর্ভুক্ত করা হয় যাতে liveBroadcast সংস্থান থাকে।
    • madeForKids প্রপার্টি যেকোনো API ব্যবহারকারীকে একটি সম্প্রচারের "বাচ্চাদের জন্য তৈরি" স্ট্যাটাস পুনরুদ্ধার করতে সক্ষম করে। উদাহরণস্বরূপ, selfDeclaredMadeForKids সম্পত্তির মানের উপর ভিত্তি করে স্থিতি নির্ধারণ করা যেতে পারে। আপনার চ্যানেল, ভিডিও বা সম্প্রচারের জন্য দর্শক সেট করার বিষয়ে আরও তথ্যের জন্য YouTube সহায়তা কেন্দ্র দেখুন।
  • YouTube ডেটা API-তে, channel সংস্থানটি নতুন selfDeclaredMadeForKids এবং madeForKids বৈশিষ্ট্যগুলিকেও সমর্থন করে৷

আমরা YouTube API পরিষেবাগুলির পরিষেবার শর্তাবলী এবং বিকাশকারী নীতিগুলিও আপডেট করেছি৷ আরও তথ্যের জন্য দয়া করে YouTube API পরিষেবার পরিষেবার শর্তাবলী দেখুন - পুনর্বিবেচনার ইতিহাস ৷ YouTube API পরিষেবাগুলির পরিষেবার শর্তাবলী এবং বিকাশকারী নীতিগুলির পরিবর্তনগুলি 10 জানুয়ারী, 2020 প্রশান্ত মহাসাগরীয় সময় থেকে কার্যকর হবে৷

20 আগস্ট, 2019

HLS গাইডের মাধ্যমে লাইভ ইউটিউব সামগ্রী বিতরণের প্রয়োজনীয়তা বিভাগ দুটি পরিবর্তনের সাথে আপডেট করা হয়েছে:

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

জুন 28, 2019

YouTube এখন HLS ইনজেশন সমর্থন করে। সেই অনুযায়ী, HLS ব্যবহার করে YouTube-এ ইনজেস্ট করা স্ট্রিমগুলি শনাক্ত করতে liveStream রিসোর্সের ingestionType প্রপার্টি নতুন মান hls সমর্থন করে।

HLS গাইডের মাধ্যমে নতুন ডেলিভারিং লাইভ YouTube কন্টেন্ট এনকোডার থেকে YouTube-এ লাইভ কন্টেন্ট স্ট্রিম করতে HLS ব্যবহার করার জন্য নির্দেশিকা প্রদান করে। গাইডের লক্ষ্য এনকোডার বিক্রেতাদের তাদের পণ্যগুলিতে HLS বিতরণ সমর্থন যোগ করতে সহায়তা করা।

4 এপ্রিল, 2019

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • API রেফারেন্স ডকুমেন্টেশন আপডেট করা হয়েছে প্রতিটি পদ্ধতির জন্য সাধারণ ব্যবহারের ক্ষেত্রে আরও ভালভাবে ব্যাখ্যা করতে এবং APIs এক্সপ্লোরার উইজেটের মাধ্যমে গতিশীল, উচ্চ-মানের কোড নমুনা প্রদান করতে। একটি উদাহরণের জন্য liveBroadcasts.list পদ্ধতির ডকুমেন্টেশন দেখুন। পৃষ্ঠাগুলিতে এখন দুটি নতুন উপাদান রয়েছে যা API পদ্ধতিগুলি বর্ণনা করে:

    • APIs এক্সপ্লোরার উইজেট আপনাকে অনুমোদনের সুযোগ নির্বাচন করতে, নমুনা পরামিতি এবং সম্পত্তি মান লিখতে এবং তারপর প্রকৃত API অনুরোধ পাঠাতে এবং প্রকৃত API প্রতিক্রিয়া দেখতে দেয়। উইজেটটি একটি পূর্ণস্ক্রীন দৃশ্যও অফার করে যা সম্পূর্ণ কোড নমুনা দেখায়, যা আপনার প্রবেশ করানো স্কোপ এবং মানগুলি ব্যবহার করার জন্য গতিশীলভাবে আপডেট হয়।

    • সাধারণ ব্যবহারের ক্ষেত্রে বিভাগটি পৃষ্ঠায় ব্যাখ্যা করা পদ্ধতির জন্য এক বা একাধিক সাধারণ ব্যবহারের ক্ষেত্রে বর্ণনা করে। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট সম্প্রচার সম্পর্কে ডেটা পুনরুদ্ধার করতে বা বর্তমান ব্যবহারকারীর সম্প্রচার সম্পর্কে ডেটা পুনরুদ্ধার করতে liveBroadcasts.list পদ্ধতিতে কল করতে পারেন৷

      আপনি আপনার ব্যবহারের ক্ষেত্রে নমুনা মান সহ APIs এক্সপ্লোরারকে পপুলেট করতে বা ইতিমধ্যেই জনবহুল সেই মানগুলির সাথে পূর্ণস্ক্রীন APIs এক্সপ্লোরার খুলতে সেই বিভাগে লিঙ্কগুলি ব্যবহার করতে পারেন৷ এই পরিবর্তনগুলির লক্ষ্য হল আপনার জন্য কোড নমুনাগুলি দেখতে সহজ করে যা আপনি নিজের অ্যাপ্লিকেশনে প্রয়োগ করার চেষ্টা করছেন এমন ব্যবহারের ক্ষেত্রে সরাসরি প্রযোজ্য৷

    কোড নমুনা বর্তমানে Java, JavaScript, PHP, Python, এবং curl-এর জন্য সমর্থিত।

  • কোড নমুনা পৃষ্ঠাতে একটি নতুন UI রয়েছে যা উপরে বর্ণিত একই বৈশিষ্ট্যগুলি অফার করে৷ সেই টুলটি ব্যবহার করে, আপনি বিভিন্ন পদ্ধতির জন্য ব্যবহারের ক্ষেত্রে অন্বেষণ করতে পারেন, APIs এক্সপ্লোরারে মান লোড করতে পারেন এবং Java, JavaScript, PHP এবং Python-এ কোড নমুনা পেতে ফুলস্ক্রিন APIs এক্সপ্লোরার খুলতে পারেন।

    এই পরিবর্তনের সাথে একত্রে, যে পৃষ্ঠাগুলি আগে জাভা, পিএইচপি, এবং পাইথনের জন্য উপলব্ধ কোড নমুনাগুলি তালিকাভুক্ত করেছিল সেগুলি সরানো হয়েছে৷

25 ফেব্রুয়ারি, 2019

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

  • একটি liveChatMessage রিসোর্সে, snippet.type প্রপার্টিটি এখন superStickerEvent এ সেট করা হয়েছে যাতে বোঝানো যায় যে রিসোর্সে একটি সুপার স্টিকার সম্পর্কে তথ্য রয়েছে। সেক্ষেত্রে, রিসোর্সটিতে snippet.superStickerDetails অবজেক্টও রয়েছে, যেটিতে সুপার স্টিকার সম্পর্কে অতিরিক্ত তথ্য রয়েছে।
  • একটি superChatEvent ইভেন্ট রিসোর্সে, বুলিয়ান snippet.isSuperStickerEvent নির্দেশ করে যে সুপার চ্যাট বার্তাটিও একটি সুপার স্টিকার কিনা। যদি তাই হয়, তাহলে snippet.superStickerMetadata অবজেক্টে সুপার স্টিকার সম্পর্কে অতিরিক্ত বিবরণ রয়েছে।

5 এপ্রিল, 2018

superChatEvents.list পদ্ধতির বিবরণ আপডেট করা হয়েছে এই সত্যটি প্রতিফলিত করার জন্য যে API প্রতিক্রিয়াতে আর fanFundingEvents নেই, যেগুলি 2017 সালের শুরুর দিকে বাতিল করা হয়েছিল।

3 এপ্রিল, 2017

নতুন জাভা কোড নমুনা যোগ করা হয়েছে যা দেখায় কিভাবে লাইভ চ্যাট বার্তাগুলি তালিকাভুক্ত করা , সন্নিবেশ করা এবং মুছে ফেলা যায় ৷ নমুনাগুলি নিম্নলিখিত পদ্ধতিগুলিকে কল করে:

ফেব্রুয়ারী 13, 2017

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • বিদ্যমান সম্পদ এবং পদ্ধতির আপডেট

    • onBehalfOfContentOwner প্যারামিটারটি বর্তমানে প্রয়োজনীয় তা প্রতিফলিত করতে liveCuepoints.insert পদ্ধতিটি আপডেট করা হয়েছে। এছাড়াও, পদ্ধতির বিবরণ আপডেট করা হয়েছে যাতে উল্লেখ করা যায় যে সেই পদ্ধতিতে কলগুলিকে অবশ্যই YouTube সামগ্রীর মালিকের সাথে যুক্ত একটি অ্যাকাউন্ট দ্বারা অনুমোদিত হতে হবে৷

ফেব্রুয়ারী 9, 2017

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • বিদ্যমান সম্পদ এবং পদ্ধতির আপডেট

    • superChatEvents.list পদ্ধতির নতুন hl প্যারামিটার আপনাকে নির্দিষ্ট করতে দেয় যে snippet.displayString প্রপার্টির মান একটি নির্দিষ্ট ভাষার নিয়ম অনুসারে ফর্ম্যাট করা উচিত। সেই সম্পত্তির সংজ্ঞাও সেই অনুযায়ী আপডেট করা হয়েছে।

      প্যারামিটার মানটি অবশ্যই i18nLanguages.list পদ্ধতি দ্বারা প্রত্যাবর্তিত তালিকায় অন্তর্ভুক্ত একটি ভাষা কোড হতে হবে। ডিফল্ট মান হল en , যার অর্থ হল ডিফল্ট আচরণ হল ডিসপ্লে স্ট্রিংগুলিকে ফরম্যাট করা যেভাবে সেগুলি ইংরেজিতে ব্যবহার করা হবে৷ উদাহরণস্বরূপ, ডিফল্টরূপে, একটি স্ট্রিং $1.00 এর পরিবর্তে $1,00 হিসাবে ফর্ম্যাট করা হয়।

ফেব্রুয়ারি 1, 2017

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • নতুন সম্পদ এবং পদ্ধতি

    • নতুন superChatEvent রিসোর্স YouTube লাইভ স্ট্রিম চলাকালীন একজন ভক্তের দ্বারা কেনা একটি সুপার চ্যাট বার্তা উপস্থাপন করে। YouTube লাইভ চ্যাট স্ট্রীমে, সুপার চ্যাট দুটি উপায়ে অন্যান্য বার্তা থেকে আলাদা:

      • সুপার চ্যাট একটি রঙ দিয়ে হাইলাইট করা হয়।
      • সুপার চ্যাট একটি নির্দিষ্ট সময়ের জন্য টিকারে পিন করা থাকে।

      সুপার চ্যাটের রঙ, টিকারে এটি কতক্ষণ পিন করা থাকবে এবং সর্বাধিক বার্তার দৈর্ঘ্য সবই কেনার পরিমাণ দ্বারা নির্ধারিত হয়। YouTube সহায়তা কেন্দ্রে সুপার চ্যাট সম্পর্কে আরও তথ্য রয়েছে৷

      API পূর্ববর্তী 30 দিনে একটি চ্যানেলের লাইভ স্ট্রিমগুলির জন্য সুপার চ্যাট ইভেন্টগুলি তালিকাভুক্ত করার একটি পদ্ধতি সমর্থন করে৷ সেই পদ্ধতিটি চ্যানেলের শেষ লাইভ স্ট্রীম থেকে ফ্যান ফান্ডিং ইভেন্ট ( fanFundingEvents ) সম্পর্কে ডেটাও ফেরত দেয়৷

  • বিদ্যমান সম্পদ এবং পদ্ধতির আপডেট

    • snippet.type প্রপার্টি এখন superChatEvent মানকে সমর্থন করে, যা নির্দেশ করে যে সম্পদ একটি সুপার চ্যাট বর্ণনা করে।

      এছাড়াও, liveChatMessage রিসোর্সের নতুন snippet.superChatDetails প্রপার্টি এবং এর বাচ্চাদের মধ্যে সুপার চ্যাট ইভেন্টের তথ্য রয়েছে।

    • liveStream রিসোর্সের cdn.resolution প্রপার্টি এখন 2160p মান সমর্থন করে।

  • নতুন এবং আপডেট ত্রুটি

    • API নিম্নলিখিত নতুন ত্রুটি সমর্থন করে:

      ভুল তথ্য
      liveBroadcasts.insert , liveBroadcasts.update liveBroadcasts.insert এবং liveBroadcasts.update পদ্ধতিগুলি 400 ( Bad Request ) ত্রুটি প্রদান করে যে liveBroadcast রিসোর্স ঢোকানো বা আপডেট করা হচ্ছে তাতে contentDetails.enableEmbed প্রপার্টি বা contentDetails.projection প্রপার্টির জন্য একটি অবৈধ মান রয়েছে৷ দুটি নতুন ত্রুটির ত্রুটির কারণ যথাক্রমে invalidEmbedSetting এবং invalidProjection

জানুয়ারী 12, 2017

দ্রষ্টব্য: এটি একটি অবমূল্যায়ন ঘোষণা।

নতুন সুপার চ্যাট বৈশিষ্ট্য প্রকাশের সাথে সাথে, YouTube অনুরাগী অর্থায়ন বৈশিষ্ট্যটিকে অবমূল্যায়ন করেছে, এবং ফ্যান ফান্ডিং API 28 ফেব্রুয়ারি, 2017-এ বন্ধ হয়ে যাবে। সেই তারিখ থেকে:

11 আগস্ট, 2016

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • সদ্য প্রকাশিত YouTube API পরিষেবার পরিষেবার শর্তাবলী ("আপডেট করা শর্তাবলী"), যা YouTube ইঞ্জিনিয়ারিং এবং ডেভেলপারস ব্লগে বিশদভাবে আলোচনা করা হয়েছে, বর্তমান পরিষেবার শর্তাবলীতে আপডেটের একটি সমৃদ্ধ সেট প্রদান করে৷ আপডেট করা শর্তাদি ছাড়াও, যা 10 ফেব্রুয়ারী, 2017 থেকে কার্যকর হবে, এই আপডেটে অনেকগুলি সমর্থনকারী নথি অন্তর্ভুক্ত রয়েছে যা বিকাশকারীদের অনুসরণ করা আবশ্যক নীতিগুলি ব্যাখ্যা করতে সহায়তা করে৷

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

20 মে, 2016

YouTube এখন DASH ইনজেশন সমর্থন করে৷ তদনুসারে, liveStream রিসোর্সের ingestionType প্রপার্টি DASH ব্যবহার করে YouTube-এ ইনজেস্ট করা স্ট্রীম শনাক্ত করতে নতুন মান dash সমর্থন করে।

DASH গাইডের মাধ্যমে নতুন ডেলিভারিং লাইভ YouTube সামগ্রী একটি এনকোডার থেকে YouTube-এ লাইভ ডেটা স্ট্রিম করতে DASH ডেলিভারি ফর্ম্যাট ব্যবহার করার জন্য নির্দেশিকা প্রদান করে৷ এটি এনকোডার বিক্রেতাদের তাদের পণ্যগুলিতে DASH ডেলিভারি সমর্থন যোগ করতে সহায়তা করার উদ্দেশ্যে করা হয়েছে৷

এপ্রিল 18, 2016

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • বিদ্যমান সম্পদ এবং পদ্ধতির আপডেট

    • liveStream রিসোর্স আপডেট
      • YouTube এখন প্রতি সেকেন্ডে 30 বা 60 ফ্রেমে 1440p রেজোলিউশন সহ স্ট্রিমগুলিকে সমর্থন করে৷

        এছাড়াও, liveStream রিসোর্সে ফ্রেম রেট এবং ইনবাউন্ড ভিডিও ডেটার রেজোলিউশন নির্দিষ্ট করার জন্য নতুন বৈশিষ্ট্য রয়েছে:

        বৈশিষ্ট্য
        cdn.frameRate ইনবাউন্ড ভিডিও ডেটার ফ্রেম রেট৷ বৈধ মান হল 30fps এবং 60fps
        cdn.resolution অন্তর্মুখী ভিডিও ডেটার রেজোলিউশন। বৈধ সম্পত্তির মানগুলি হল: 1440p , 1080p , 720p , 480p , 360p , এবং 240p
      • liveStream রিসোর্সের cdn.frameRate এবং cdn.resolution বৈশিষ্ট্যের প্রবর্তন অনুসারে, রিসোর্সের cdn.format এখন অবহেলিত। cdn.format বৈশিষ্ট্য একটি একক মান রেজোলিউশন এবং ফ্রেম হার নির্দিষ্ট করে।

        আমরা আপনাকে নতুন সমর্থিত ক্ষেত্রগুলিতে স্থানান্তর করতে উত্সাহিত করি৷ ইতিমধ্যে, cdn.format কাজ করতে থাকে। এছাড়াও, লাইভ স্ট্রিমগুলি সন্নিবেশ করার অনুরোধগুলি বর্তমানে সফল হবে যতক্ষণ না আপনি cdn.format প্রপার্টি বা cdn.frameRate এবং cdn.resolution বৈশিষ্ট্যগুলির জন্য মান নির্দিষ্ট করেন৷ আপনি যদি তিনটি বৈশিষ্ট্যের জন্য মান প্রদান করেন, তাহলে মানগুলি একমত না হলে API একটি ত্রুটি ফেরত দিতে পারে।

        উল্লেখ্য যে যদিও cdn.format প্রপার্টিটি অবমূল্যায়িত হয়েছে, এটি এখন দুটি নতুন মান সমর্থন করে, 1440p এবং 1440p_hfr , প্রতি সেকেন্ডে 30 বা 60 ফ্রেমে 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 হয়।
  • নতুন এবং আপডেট ত্রুটি

    • API নিম্নলিখিত নতুন ত্রুটি সমর্থন করে:

      ভুল তথ্য
      liveBroadcasts.bind liveBroadcasts.bind পদ্ধতিটি একটি 403 ( Forbidden ) ত্রুটি প্রদান করে যে ব্যবহারকারী একটি নির্দিষ্ট সময়সীমার মধ্যে অনেক বেশি অনুরোধ পাঠিয়েছেন। ত্রুটির কারণ হল userRequestsExceedRateLimit

      liveBroadcasts.insert এবং liveBroadcasts.update পদ্ধতিগুলি ইতিমধ্যেই একই ত্রুটি সমর্থন করে৷
      liveStreams.insert liveStreams.insert পদ্ধতিটি চারটি নতুন 400 ( Bad Request ) ত্রুটি সমর্থন করে যা liveStream রিসোর্সে একটি অবৈধ সম্পত্তি মান সনাক্ত করে যা অনুরোধটি সন্নিবেশ করার চেষ্টা করেছিল৷ নিম্নলিখিত তালিকাটি ত্রুটির কারণ এবং বৈশিষ্ট্যগুলি চিহ্নিত করে যার সাথে তারা যুক্ত:
      liveStreams.insert liveStreams.insert পদ্ধতি দুটি নতুন 400 ( Bad Request ) ত্রুটি সমর্থন করে, যার প্রত্যেকটি নির্দেশ করে যে একটি প্রয়োজনীয় মান liveStream রিসোর্সে উপস্থিত নেই যা অনুরোধটি সন্নিবেশ করার চেষ্টা করেছে৷ নিম্নলিখিত তালিকাটি ত্রুটির কারণ এবং বৈশিষ্ট্যগুলি চিহ্নিত করে যার সাথে তারা যুক্ত:
      আরও বিশেষভাবে, আপনি যখন একটি 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 ) ত্রুটি প্রদান করে যদি অনুরোধটি নিম্নলিখিত অ-পরিবর্তনযোগ্য বৈশিষ্ট্যগুলির মান পরিবর্তন করার চেষ্টা করে: ত্রুটি প্রতিক্রিয়ার reason হল liveStreamModificationNotAllowed .

ডিসেম্বর 18, 2015

ইউরোপীয় ইউনিয়নের (ইইউ) আইনের প্রয়োজন হয় যে নির্দিষ্ট কিছু প্রকাশ অবশ্যই দিতে হবে এবং EU-এর শেষ ব্যবহারকারীদের কাছ থেকে সম্মতি নিতে হবে। তাই, ইউরোপীয় ইউনিয়নের শেষ ব্যবহারকারীদের জন্য, আপনাকে অবশ্যই EU ব্যবহারকারীর সম্মতি নীতি মেনে চলতে হবে। আমরা আমাদের YouTube API পরিষেবার শর্তাবলীতে এই প্রয়োজনীয়তার একটি বিজ্ঞপ্তি যুক্ত করেছি৷

ডিসেম্বর 17, 2015

এই আপডেটে নিম্নলিখিত পরিবর্তনগুলি রয়েছে:

  • নতুন সম্পদ এবং পদ্ধতি

    • API লাইভ সম্প্রচারের জন্য চ্যাট কার্যকারিতা সমর্থন করার জন্য বেশ কয়েকটি নতুন সংস্থান সমর্থন করে। YouTube সক্রিয় লাইভ সম্প্রচারের সময় লাইভ চ্যাট কার্যকারিতা সমর্থন করে, এবং এই সংস্থানগুলি এবং তাদের পদ্ধতিগুলি চ্যাটের বার্তাগুলি পুনরুদ্ধারের পাশাপাশি চ্যাটের জন্য প্রশাসনিক কার্যাবলীকে সমর্থন করে৷

      সম্পদ
      liveChatMessage এই সংস্থানটি একটি YouTube লাইভ চ্যাটে একটি বার্তা উপস্থাপন করে৷ YouTube টেক্সট মেসেজ এবং ফ্যান ফান্ডিং ইভেন্ট সহ বিভিন্ন ধরনের বার্তা সমর্থন করে। কিছু বার্তার ধরন চ্যাটের একটি নির্দিষ্ট পর্যায়কে চিহ্নিত করে, যেমন স্পনসর-শুধু সময়ের শুরু বা চ্যাটের শেষ। API লাইভ চ্যাট বার্তা তালিকাভুক্ত, সন্নিবেশ এবং মুছে ফেলার পদ্ধতি সমর্থন করে।
      liveChatModerators এই সম্পদ একটি চ্যাট মডারেটর সনাক্ত করে. মডারেটররা কিছু প্রশাসনিক কার্য সম্পাদন করতে পারে, যেমন চ্যাট থেকে ব্যবহারকারীদের নিষিদ্ধ করা বা বার্তাগুলি সরানো। API লাইভ চ্যাট মডারেটরদের তালিকা, সন্নিবেশ এবং মুছে ফেলার পদ্ধতিগুলিকে সমর্থন করে৷
      liveChatBans এই সংস্থানটি এমন একজন ব্যবহারকারীকে শনাক্ত করে যাকে একটি নির্দিষ্ট লাইভ চ্যাটে বার্তা পোস্ট করা থেকে নিষিদ্ধ করা হয়েছে। নিষেধাজ্ঞা অস্থায়ী বা স্থায়ী হতে পারে। API লাইভ চ্যাট নিষেধাজ্ঞা সন্নিবেশ করা এবং মুছে ফেলার পদ্ধতি সমর্থন করে।
      fanFundingEvents এই সংস্থানটি একটি YouTube চ্যানেলে একটি অনুরাগী অর্থায়ন ইভেন্টের প্রতিনিধিত্ব করে৷ ফ্যান ফান্ডিং দর্শকদের স্বেচ্ছায় YouTube ক্রিয়েটরদের এককালীন আর্থিক সহায়তা সহ সমর্থন করার একটি উপায় প্রদান করে৷

      API-এর fanFundingEvents.list পদ্ধতি একটি চ্যানেলের ফ্যান ফান্ডিং ইভেন্টগুলিকে তালিকাভুক্ত করে৷ চ্যানেলের মালিকানাধীন লাইভ সম্প্রচারের সময় লাইভ চ্যাটের মাধ্যমে শুরু হওয়া ফ্যান ফান্ডিং ইভেন্টগুলিও সম্প্রচারের লাইভ চ্যাটে fanFundingEvent বার্তা ট্রিগার করে।

      YouTube সহায়তা কেন্দ্রে ফ্যান ফান্ডিং সম্পর্কে আরও জানুন৷
      sponsors sponsor সংস্থান একটি YouTube চ্যানেলের একজন স্পনসরকে চিহ্নিত করে৷ একজন স্পনসর একটি চ্যানেলকে মাসিক ফি প্রদান করে। চ্যানেলের লাইভ চ্যাটে স্পনসরের বার্তাগুলির পাশে একটি ব্যাজ দেখায় এবং স্পনসররা চ্যানেলের স্পনসরদের জন্য একচেটিয়াভাবে লাইভ চ্যাটে অংশগ্রহণ করতে পারে, যদি সেগুলি ঘটে থাকে।

      API-এর sponsors.list পদ্ধতি একটি চ্যানেলের স্পনসরদের তালিকা করে। যখন ব্যবহারকারীরা সেই চ্যানেলের মালিকানাধীন একটি লাইভ সম্প্রচারের সময় একটি চ্যানেলকে স্পনসর করতে সাইন আপ করেন, তখন API সম্প্রচারের লাইভ চ্যাটে একটি newSponsorEvent বার্তা যোগ করে।

      YouTube সহায়তা কেন্দ্রে স্পনসরশিপ সম্পর্কে আরও জানুন।

  • বিদ্যমান সম্পদ এবং পদ্ধতির আপডেট

    • liveBroadcast রিসোর্সে নিম্নলিখিত নতুন বৈশিষ্ট্য রয়েছে:

      বৈশিষ্ট্য
      snippet.liveChatId সম্প্রচারের YouTube লাইভ চ্যাটের আইডি। এই আইডি দিয়ে, আপনি চ্যাট বার্তাগুলি পুনরুদ্ধার করতে, সন্নিবেশ করতে বা মুছতে liveChatMessage সংস্থানের পদ্ধতিগুলি ব্যবহার করতে পারেন৷ এছাড়াও আপনি চ্যাট মডারেটর যোগ করতে বা সরাতে পারেন, ব্যবহারকারীদের লাইভ চ্যাটে অংশগ্রহণ থেকে নিষিদ্ধ করতে পারেন, বা বিদ্যমান নিষেধাজ্ঞাগুলি সরাতে পারেন৷
      contentDetails.closedCaptionsType দ্রষ্টব্য: এই বৈশিষ্ট্যটি contentDetails.enableClosedCaptions সম্পত্তি প্রতিস্থাপন করে

      এই বৈশিষ্ট্যটি নির্দেশ করে যে আপনার সম্প্রচারের জন্য ক্লোজড ক্যাপশনিং সক্ষম করা হয়েছে এবং যদি তাই হয়, তাহলে আপনি কি ধরনের বন্ধ ক্যাপশন প্রদান করছেন:
      • closedCaptionsDisabled : লাইভ সম্প্রচারের জন্য বন্ধ ক্যাপশন অক্ষম করা হয়েছে।
      • closedCaptionsHttpPost : আপনি HTTP POST-এর মাধ্যমে আপনার লাইভ স্ট্রিমের সাথে যুক্ত একটি ইনজেশন URL- এ ক্যাপশন পাঠাবেন।
      • closedCaptionsEmbedded : EIA-608 এবং/অথবা CEA-708 ফর্ম্যাট ব্যবহার করে ভিডিও স্ট্রীমে ক্যাপশনগুলি এনকোড করা হবে৷
      contentDetails.enableClosedCaptions এই সম্পত্তিটি 17 ডিসেম্বর, 2015 থেকে অবচয় করা হয়েছে। পরিবর্তে contentDetails.closedCaptionsType প্রপার্টি ব্যবহার করুন। API ক্লায়েন্টদের জন্য যারা ইতিমধ্যে এই সম্পত্তি ব্যবহার করছেন:
      • সম্পত্তি মান true সেট করা হল contentDetails.closedCaptionsType প্রপার্টি closedCaptionsHttpPost এ সেট করার সমতুল্য।
      • সম্পত্তির মান false সেট করা হল contentDetails.closedCaptionsType প্রপার্টি closedCaptionsDisabled সেট করার সমতুল্য।
    • liveBroadcasts.list পদ্ধতির নতুন broadcastType প্যারামিটার আপনাকে ইভেন্ট সম্প্রচার, অবিরাম সম্প্রচার বা সমস্ত সম্প্রচার অন্তর্ভুক্ত করতে একটি API প্রতিক্রিয়া ফিল্টার করতে দেয়৷

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

  • liveStream রিসোর্সের status.healthStatus.configurationIssues[].type ফিল্ড নিম্নলিখিত নতুন স্বাস্থ্য স্থিতি ত্রুটির রিপোর্ট করে:

    ত্রুটি
    audioTooManyChannels অডিওটিতে দুটির বেশি চ্যানেল রয়েছে, তবে শুধুমাত্র একটি (মনো) বা দুটি (স্টিরিও) চ্যানেল সমর্থিত৷ Please correct the number of audio channels.
    frameRateHigh The current framerate is too high. Please set the framerate to %(framerate)s fps 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.update
      HTTP Response Code forbidden (403)
      Reason closedCaptionsTypeModificationNotAllowed
      Description The contentDetails.closedCaptionsType value can only be modified when the broadcast is in the created or ready status.
      liveBroadcasts.update
      HTTP Response Code invalidValue (400)
      Reason invalidEnableClosedCaptions
      Description In the liveBroadcast resource , the value of the contentDetails.enableClosedCaptions property is incompatible with the value of the contentDetails.closedCaptionType setting. 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 liveChat resource and its methods is confidential and only visible to select YouTube partners.

      The new liveChat resource contains a comment posted during a live broadcast on YouTube. The API supports two methods for this resource:

      Methods
      liveChats.list List live chat messages for a broadcast.
      liveChats.insert Create 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 liveStream resource contains the following new properties:

      Properties
      snippet.isDefaultStream Indicates 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.healthStatus This 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, the status.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.isReusable Indicates 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 liveBroadcast resource contains the following new properties:

      Properties
      snippet.isDefaultBroadcast Indicates 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.enableLowLatency Indicates 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.totalChatCount The 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 liveChat resource, the API supports the following new error:

      Error details
      liveStreams.update
      HTTP Response Code forbidden (403)
      Reason liveStreamModificationNotAllowed
      Description 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 liveStream resource's cdn.format property supports two new values for this feature: 720p_hfr and 1080p_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.control method's walltime parameter 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 Description
    insufficientPermissions liveStreamingNotEnabled All methods for the liveBroadcast and liveStream resources 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 .
    rateLimitExceeded userRequestsExceedRateLimit The liveBroadcasts.insert and liveStreams.insert methods 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 liveStream resource and of the liveBroadcasts.bind method 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 liveBroadcast resource's contentDetails.monitorStream.enableMonitorStream property has been updated to explain that if the property's value is true , then you must transition your broadcast to the testing state before you can transition it to the live state. (If the property's value is false , your broadcast cannot have a testing stage, so you can transition the broadcast directly to the live state.

  • The liveCuepoint resource's settings.offsetTimeMs property 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 liveBroadcast and liveStream resources now support the onBehalfOfContentOwner and onBehalfOfContentOwnerChannel parameters. 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.insert method's documentation has been updated to note that you can set a value for the settings.walltime property 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 Description
    insufficientPermissions livePermissionBlocked The liveBroadcasts.insert , liveBroadcasts.transition , and liveStreams.insert methods 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.insert method's invalidScheduledStartTime error 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 liveBroadcast resource's new status.recordingStatus property identifies the broadcast's current status.

  • The liveBroadcast resource's new contentDetails.enableClosedCaptions property 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 the testing or live state. If you set this property to true , then the liveStream resource that is bound to the broadcast will specify the ingestion URL to use for the broadcast's closed captions.

  • The liveBroadcast resource's snippet.scheduledEndTime property now supports broadcasts that are scheduled to continue indefinitely. With this change, the property is no longer required in liveBroadcasts.insert and liveBroadcasts.update requests.

    If you retrieve a liveBroadcast resource that does not specify a value for this property, then the broadcast is scheduled to continue indefinitely. Similarly, if you call the liveBroadcasts.insert or liveBroadcasts.update method and do not specify a value for this property, the broadcast will be scheduled to continue indefinitely.

  • The liveBroadcast resource's contentDetails.recordFromStart property, which already had a default value of true , can now only be set to false if 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 recordFromStart property set to false , the API will return a Forbidden error. In addition, if your channel does not have that permission and you attempt to update a broadcast to set the recordFromStart property to false , the API will return a modificationNotAllowed error.

  • The liveBroadcast resource no longer contains an enableArchive property, which had been mentioned in the descriptions of the contentDetails.enableDvr and contentDetails.enableEmbed properties.

  • The list of valid values for the liveBroadcast resource's status.lifeCycleStatus property has been updated to include a description of each status.

  • The liveCuepoint resource's new settings.walltime property 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 the settings.offsetTimeMs property.

  • The new contentDetails object in a liveStream resource contains information about the stream. Currently, the object's only property is contentDetails.closedCaptionsIngestionUrl , which specifies the ingestion URL for closed captions associated with the video stream.

  • The list of valid values for the liveStream resource's status.streamStatus property has been updated to include a description of each status.

  • The liveBroadcasts.control method's new walltime parameter 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 the offsetTimeMs parameter.

  • In the API response to a liveBroadcasts.list request, the value of the kind property has changed from youtube#liveBroadcastList to youtube#liveBroadcastListResponse .

  • In the API response to a liveStreams.list request, the value of the kind property has changed from youtube#liveStreamList to youtube#liveStreamListResponse .

  • The eventId property has been deprecated from both the liveBroadcastListResponse and the liveStreamListResponse .

  • The API supports the following new errors:

    Error type Error detail Description
    invalidValue conflictingTimeFields The liveBroadcasts.control method returns this error if your request specifies values for the offsetTimeMs and walltime parameters. A request can either omit both parameters or specify a value for one of the two parameters.
    invalidValue invalidWalltime The liveBroadcasts.control method returns this error if the walltime parameter's value is invalid.
    forbidden enableClosedCaptionsModificationNotAllowed The liveBroadcasts.update method returns this error if you attempt to update the contentDetails.enableClosedCaptions value and the broadcast's status is not created or ready .
    invalidValue conflictingTimeFields The liveCuepoints.insert method returns this error if your request specifies values for the settings.offsetTimeMs and settings.walltime properties. A request can either omit both properties or specify a value for one of the two properties.

    In addition, the liveStreams.update method no longer supports a cdnRequired error similar to the one that the liveStreams.insert method supports.

May 10, 2013

This update contains the following changes:

May 2, 2013

This update contains the following changes:

March 27, 2013

This update contains the following changes:

  • The following properties have changed in the liveBroadcast resource:

    • The startWithSlateCuepoint property has been renamed to startWithSlate .
    • The enableArchive property has been renamed to recordFromStart .
    • The slateSettings object has been deprecated and removed from the documentation. Error messages related to the slateSettings object or its properties have also been removed. Finally, the "Displaying Slates" section of the Getting started guide has been removed.

  • The API no longer supports the ability to insert in-stream slates using the liveCuepoints.insert method. 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 liveCuepoint resource's settings.cueType property no longer supports slate as a property value. (The only supported value is ad .

    • The liveCuepoint resource's settings.eventState property 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 the contentDetails.enableArchive property.
    • liveBroadcasts.update – The resource does not contain or does not set a value for the contentDetails.enableContentEncryption property.
    • liveBroadcasts.update – The resource does not contain or does not set a value for the contentDetails.enableDvr property.
    • 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 the snippet.title property.

  • The liveStream resource documentation has been updated to reflect that multicast and WebM are not supported ingestion methods as previously indicated. The list of formats for the cdn.format property has been updated accordingly, and the cdn.multicastIngestionInfo object and its child properties have been removed from the resource's documentation. In addition, http has been removed from the list of supported cdn.ingestionType values.