YouTube Live Streaming API - تاریخچه بازبینی

این صفحه تغییرات YouTube Live Streaming API و به‌روزرسانی‌های اسناد را فهرست می‌کند. در این تغییرات ثبت نام کنید . اشتراک در

9 اکتبر 2023

فقط برای مرجع، می‌توانید شناسه‌های برچسب مربوط به کدام Super Sticker را در این فایل CSV بیابید. تعاریف ویژگی snippet.superStickerDetails.superStickerMetadata.stickerId منبع liveChatMessage و ویژگی snippet.superStickerMetadata.stickerId منبع superChatEvent هر دو به روز شده اند تا این اطلاعات را منعکس کنند.

15 سپتامبر 2023

API اکنون از روش جدیدی برای درج تبلیغات در پخش زنده پشتیبانی می کند. علاوه بر liveCuepoints ، که به شما امکان می‌دهد وقفه‌های تبلیغاتی را به‌صورت دستی در یک پخش قرار دهید، YouTube اکنون از ویژگی درج خودکار وقفه‌های تبلیغات میان‌رویل در پخش در فواصل زمانی ثابت پشتیبانی می‌کند.

اگر مالک پخش آگهی‌های خودکار را فعال کند، می‌تواند جنبه‌های زیر از رفتار آگهی را مشاهده کند:

  • طول فاصله بین وقفه های تبلیغاتی میان رول.
  • استراتژی زمان بندی برای نقاط نشانه تبلیغاتی نقطه نشانه را می توان به طور همزمان برای همه بینندگان درج کرد یا زمان بندی نقاط نشانه می تواند از بیننده ای به بیننده دیگر متفاوت باشد. استراتژی اخیر YouTube را قادر می‌سازد تا نقطه‌های نشانه را با نرخ افزایشی برنامه‌ریزی کند که به بینندگان اجازه می‌دهد در صورت واجد شرایط بودن، نقاط نشانه دریافت کنند.
  • دوره ای که در طی آن تبلیغات میان دوره ای نمایش داده نمی شود. برای این ویژگی، مالک پخش مشخص می کند که درج تبلیغات میان رول تا زمان خاصی متوقف شود.

اسناد تغییرات API زیر را برای پشتیبانی از این ویژگی منعکس می کند:

  • منبع liveBroadcast اکنون حاوی یک شیء monetizationDetails است. فیلدهای شی نشان می‌دهد که آیا درج خودکار آگهی برای پخش فعال است یا خیر و اطلاعات اضافی را برای زمان‌بندی نقاط نشانه مشخص می‌کند.
  • پارامتر part روش liveBroadcast.list از مقدار 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
  • ویژگی جدید snippet.membershipGiftingDetails منبع liveChatMessage و فرزندان آن حاوی اطلاعاتی درباره رویداد عضویت هدیه است. به طور مشابه، ویژگی جدید snippet.giftMembershipReceivedDetails و فرزندان آن حاوی اطلاعاتی درباره رویداد Gift Membership Received هستند.

15 سپتامبر 2021

این به روز رسانی شامل تغییرات زیر است:

  • ویژگی snippet.type اکنون از دو مقدار جدید پشتیبانی می کند:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • ویژگی جدید snippet.memberMilestoneChatDetails منبع liveChatMessage و فرزندان آن حاوی اطلاعاتی درباره رویداد Member Milestone Chat هستند. به طور مشابه، ویژگی جدید snippet.newSponsorDetails و فرزندان آن حاوی اطلاعاتی درباره رویداد New Sponsor هستند.

1 دسامبر 2020

روش liveBroadcasts.transition API از یک خطای جدید 403 ( Forbidden ) پشتیبانی می کند، که نشان می دهد کاربر در یک بازه زمانی معین درخواست های زیادی ارسال کرده است. دلیل خطا userRequestsExceedRateLimit است.

21 سپتامبر 2020

  • تعریف ویژگی status.madeForKids منبع liveBroadcast به روز شده است تا مشخص شود این ویژگی فقط خواندنی است. این نشان دهنده تغییر در عملکرد API نیست.

    برای تعیین پخش زنده به‌عنوان کارگردانی کودک، هنگام فراخوانی روش liveBroadcasts.insert برای ایجاد پخش، ویژگی status.selfDeclaredMadeForKids را روی true تنظیم کنید.

  • توجه: این تغییر شامل یک اعلامیه منسوخ شدن و یک به روز رسانی به یک اعلامیه منسوخ قبلی است.

    روش liveBroadcasts.control در تاریخ 1 اکتبر 2020 یا بعد از آن منسوخ خواهد شد. پس از آن تاریخ، همه تماس‌های این روش یک خطای ممنوعه (403) را برمی‌گرداند و این روش بعداً به طور کامل حذف خواهد شد. مشتریان همچنان می‌توانند با افزودن یک پوشش به ویدیوی ارسال شده به سرورهای جذب YouTube، جدول خود را پیاده‌سازی کنند.

    تاریخ منسوخ شدن اعلامیه منسوخ شدن اعلام شده در 16 آوریل 2020 ، که در ابتدا برای 1 سپتامبر 2020 برنامه ریزی شده بود، به تعویق افتاد و اکنون در یا بعد از 1 اکتبر 2020 اتفاق می افتد. بنابراین، ویژگی های موجود در آن اعلامیه منسوخ شدن و liveBroadcasts.control روش liveBroadcasts.control همه به طور همزمان منسوخ خواهد شد.

17 جولای 2020

توجه: این به‌روزرسانی یک اعلامیه قبلی منسوخ شدن است.

قسمت cdn.format منبع liveStream که در آوریل 2016 منسوخ شده بود، از 17 آگوست 2020 دیگر پشتیبانی نمی‌شود. درخواست‌هایی که همچنان از آن فیلد استفاده می‌کنند تا آن تاریخ ناموفق خواهند بود.

اگر کد شما همچنان از فیلد cdn.format استفاده می‌کند، باید به‌روزرسانی شود تا با استفاده از ویژگی‌های cdn.frameRate و cdn.resolution ، نرخ فریم و وضوح تصویر را جداگانه مشخص کند.

6 جولای 2020

ارائه محتوای زنده YouTube از طریق راهنمای HLS با چند تغییر به‌روزرسانی شده است:

  • مدت زمان توصیه شده برای یک بخش رسانه به یک تا چهار ثانیه به روز شده است.
  • بخش جدیدی نحوه به دست آوردن URL انتقال HLS از YouTube Creator Studio را توضیح می دهد.
  • دستورالعمل‌های قالب‌بندی مقدار پارامتر file به بخش جدید تکمیل URL ورودی HLS منتقل شده است. این دستورالعمل‌ها صرف‌نظر از اینکه نشانی اینترنتی انتقال HLS از YouTube API یا YouTube Creator Studio گرفته شده باشد اعمال می‌شوند.

علاوه بر این، مقایسه پروتکل جذب جدید، پروتکل‌های جذبی را که YouTube پشتیبانی می‌کند، کدک‌های پشتیبانی شده برای هر پروتکل و اطلاعات اضافی در مورد موارد استفاده مناسب برای هر پروتکل فهرست می‌کند.

16 آوریل 2020

این به روز رسانی شامل یک ویژگی جدید و یک اعلامیه انحلال است:

  • منبع liveBroadcast اکنون از ویژگی contentDetails.enableAutoStop پشتیبانی می کند. این ویژگی نشان می‌دهد که آیا پخش باید به‌طور خودکار حدود یک دقیقه پس از توقف پخش ویدیو توسط مالک کانال در جریان ویدیوی محدود، متوقف شود.

    اگر ویژگی های contentDetails.enableAutoStart یا contentDetails.enableAutoStop را روی true تنظیم کنید، عمر یک سند پخش به روز شده است تا توضیح دهد که چگونه فرآیند گام به گام ایجاد و مدیریت یک رویداد زنده YouTube تغییر می کند.

  • توجه: این یک اعلامیه منسوخ شدن است. این تغییرات در تاریخ 1 سپتامبر 2020 یا پس از آن اعمال خواهند شد. تاریخ واقعی اعمال تغییرات در زیر به عنوان تاریخ انحلال نامیده می شود.

    این به روز رسانی یک تغییر بالقوه شکسته را توضیح می دهد. این برنامه بر برنامه‌های سرویس گیرنده API که از منابع liveStream مستقیم و liveBroadcast پیش‌فرض کانال‌ها برای پخش محتوای زنده در YouTube استفاده می‌کنند، تأثیر می‌گذارد. به طور خاص، شناسه پخش و شناسه پخش مرتبط با پخش و پخش مداوم دیگر برای شروع پخش جدید کار نمی کنند.

    اگر هر یک از موارد زیر درست باشد، برنامه شما تحت تأثیر قرار خواهد گرفت:

    • این مقدار ویژگی isDefaultBroadcast منبع liveBroadcast را بررسی می کند. این ملک پس از تاریخ انحلال مسترد نخواهد شد.
    • این مقدار ویژگی isDefaultStream منبع liveStream را بررسی می کند. این ملک پس از تاریخ انحلال مسترد نخواهد شد.
    • متد liveBroadcasts.list فراخوانی می کند و مقدار پارامتر broadcastType را روی persistent یا all تنظیم می کند. این پارامتر به عنوان بخشی از این تغییرات منسوخ خواهد شد. از تاریخ انصراف:
      • اگر مقدار پارامتر broadcastType persistent باشد، روش liveBroadcasts.list هیچ نتیجه‌ای را بر نمی‌گرداند.
      • اگر مقدار پارامتر broadcastType all باشد، روش liveBroadcasts.list پخش‌های مداومی را که قبل از آن زمان وجود داشته است را برنمی‌گرداند.

    به عنوان پس‌زمینه، در چند سال گذشته، YouTube به‌طور خودکار یک جریان پیش‌فرض و یک پخش پیش‌فرض برای یک کانال زمانی که آن کانال برای پخش زنده فعال شده بود، ایجاد کرده است. جریان پیش‌فرض به‌طور نامحدود وجود داشت، زمان شروع یا پایان مرتبط با آن نداشت و نمی‌توان آن را حذف کرد. به طور مشابه، پخش پیش فرض دائمی در نظر گرفته شد. همیشه وجود داشته و مقید به یک رویداد خاص نبوده است.

    از تاریخ انصراف:

    • YouTube دیگر پخش‌ها و جریان‌های پیش‌فرض ایجاد نمی‌کند. به جای تکیه بر منابع پیش‌فرض، مشتریان API باید بتوانند منابع liveBroadcast و liveStream را ایجاد و مدیریت کنند و آن منابع را به یکدیگر متصل کنند.
    • اگر پخش پیش‌فرض و پخش جریانی پیش‌فرض یک کانال به‌طور فعال فعال باشند، به این معنی که کانال از آن‌ها برای پخش زنده در زمانی که منسوخ می‌شود استفاده می‌کند، پخش در حال انجام تحت تأثیر قرار نمی‌گیرد. با این حال، پس از پایان آن پخش، کانال نمی‌تواند دوباره از پخش پیش‌فرض و جریان پیش‌فرض استفاده کند.
    • اگر پخش پیش‌فرض و پخش جریانی پیش‌فرض یک کانال به‌طور فعال فعال نباشد، پس از اجرای لغو، YouTube تلاش‌ها برای استفاده از آن منابع برای پخش ویدیو را نادیده می‌گیرد.

    اگر برنامه شما تحت تأثیر قرار گرفته است، لطفاً به اسناد زیر مراجعه کنید، که به شما کمک می کند برنامه خود را به روز کنید تا همچنان مطابق با این تغییر کار کند:

    • یک راهنمای انتقال جدید تلاش می‌کند تا مراحلی را که توسعه‌دهندگان ممکن است نیاز داشته باشند در کلاینت‌های API که در حال حاضر از پخش‌ها و جریان‌های پیش‌فرض استفاده می‌کنند، توضیح دهد.
    • راهنمای پخش زنده شما را در یک فرآیند گام به گام راهنمایی می کند که نحوه ایجاد و مدیریت یک رویداد زنده در YouTube را توضیح می دهد. هر مرحله تماس‌های API یا سایر مواردی را که باید برای انجام یک اقدام خاص انجام دهید توضیح می‌دهد، و زمانی که YouTube پشتیبانی از پخش‌ها و پخش‌های پیش‌فرض را متوقف کرد، برنامه شما باید این فرآیند را دنبال کند.

31 مارس 2020

توجه: این یک اعلامیه منسوخ شدن است.

روش منبع sponsor و sponsors.list منسوخ شده و با روش member منبع و members.list جایگزین شده است.

روش sponsors.list دیگر در 30 سپتامبر 2020 یا پس از آن پشتیبانی نخواهد شد. مشتریان API باید تماس‌ها را به روش sponsors.list به‌روزرسانی کنند تا از روش members.list استفاده کنند. لطفاً برای اطلاعات بیشتر درباره منبع جدید ، سابقه بازبینی YouTube Data API را ببینید.

11 مارس 2020

بخش نقطه پایانی انتقال محتوای زنده YouTube از طریق راهنمای HLS به‌روزرسانی شده است تا فرآیندی را که یک رمزگذار باید برای تکمیل مقدار پارامتر file= هنگام تشکیل URLهای اصلی و پشتیبان استفاده کند، روشن کند.

4 فوریه 2020

ارائه محتوای زنده YouTube از طریق راهنمای HLS به‌روزرسانی شده است تا توجه داشته باشد که درخواست‌های DELETE اختیاری هستند و نقطه پایانی HLS YouTube آنها را نادیده می‌گیرد. به دلایل عملکرد، YouTube به مشتریان توصیه می‌کند درخواست‌های DELETE را ارسال نکنند.

10 ژانویه 2020

API اکنون از توانایی شناسایی محتوای هدایت‌شده برای کودکان پشتیبانی می‌کند که YouTube آن را «ساخته شده برای کودکان» می‌نامد. در مرکز راهنمای YouTube درباره محتوای «ساخته شده برای کودکان» بیشتر بدانید .

  • منبع liveBroadcast از دو ویژگی جدید پشتیبانی می کند تا به سازندگان محتوا و بینندگان امکان شناسایی محتوای «ساخته شده برای بچه ها» را بدهد:
    • ویژگی selfDeclaredMadeForKids به سازندگان محتوا این امکان را می دهد تا مشخص کنند که آیا پخش زنده محتوایی برای کودکان است یا خیر. این ویژگی را می توان هنگام ایجاد پخش از طریق متد liveBroadcasts.insert تنظیم کرد. توجه داشته باشید که این ویژگی فقط در پاسخ‌های API که حاوی منابع liveBroadcast هستند در صورتی گنجانده می‌شود که مالک کانال درخواست API را مجاز کرده باشد.
    • ویژگی madeForKids هر کاربر API را قادر می‌سازد تا وضعیت «ساخته شده برای بچه‌ها» یک پخش را بازیابی کند. برای مثال، وضعیت ممکن است بر اساس مقدار ویژگی selfDeclaredMadeForKids تعیین شود. برای اطلاعات بیشتر درباره تنظیم مخاطب برای کانال، ویدیوها یا پخش‌های خود، به مرکز راهنمایی YouTube مراجعه کنید.
  • در YouTube Data API، منبع channel از ویژگی‌های جدید selfDeclaredMadeForKids و madeForKids نیز پشتیبانی می‌کند.

ما همچنین شرایط خدمات YouTube API Services و خط‌مشی‌های برنامه‌نویس را به‌روزرسانی کرده‌ایم. لطفاً برای اطلاعات بیشتر به شرایط خدمات YouTube API Services - Revision History مراجعه کنید. تغییرات در شرایط خدمات YouTube API Services و خط‌مشی‌های برنامه‌نویس از 10 ژانویه 2020 به وقت اقیانوس آرام اعمال می‌شود.

20 آگوست 2019

بخش الزامات ارائه محتوای زنده YouTube از طریق راهنمای HLS با دو تغییر به‌روزرسانی شده است:

  • توضیح می‌دهد که گنجاندن بخش‌های تأیید شده و بخش‌های برجسته در هر فهرست پخش رسانه، بهترین روش است. این عمل باعث می‌شود در صورت گم شدن فهرست پخش رسانه‌ای در سمت سرور، احتمال رد شدن یک بخش کمتر شود. برای مثال، می‌توانید حداکثر دو بخش تأیید شده و حداکثر پنج بخش برجسته را در هر فهرست پخش رسانه اضافه کنید.
  • اکنون ارسال یک فهرست پخش رسانه برای هر بخش رسانه الزامی است. این به سرور امکان می‌دهد در صورت گم شدن فهرست پخش رسانه، به سرعت بازیابی شود. این عمل قبلاً به عنوان یک توصیه ذکر شده بود.

28 ژوئن 2019

YouTube اکنون از جذب HLS پشتیبانی می کند. بر این اساس، ویژگی ingestionType منبع liveStream از مقدار جدید hls برای شناسایی جریان‌های دریافت شده در YouTube با استفاده از HLS پشتیبانی می‌کند.

ارائه جدید محتوای زنده YouTube از طریق راهنمای HLS دستورالعمل‌هایی را برای استفاده از HLS برای پخش جریانی محتوای زنده به YouTube از یک رمزگذار ارائه می‌کند. هدف این راهنما کمک به فروشندگان رمزگذار است که پشتیبانی تحویل HLS را به محصولات خود اضافه کنند.

4 آوریل 2019

این به روز رسانی شامل تغییرات زیر است:

  • اسناد مرجع API برای توضیح بهتر موارد استفاده رایج برای هر روش و ارائه نمونه کد پویا و با کیفیت بالا از طریق ویجت APIs Explorer به روز شده است. برای مثال به مستندات روش liveBroadcasts.list مراجعه کنید. اکنون دو عنصر جدید در صفحات وجود دارد که روش‌های API را توصیف می‌کنند:

    • ویجت APIs Explorer به شما امکان می‌دهد محدوده‌های مجوز را انتخاب کنید، پارامترهای نمونه و مقادیر ویژگی را وارد کنید، و سپس درخواست‌های API واقعی را ارسال کنید و پاسخ‌های API واقعی را ببینید. ویجت همچنین یک نمای تمام صفحه ارائه می دهد که نمونه های کامل کد را نشان می دهد که به صورت پویا برای استفاده از محدوده ها و مقادیری که وارد کرده اید به روز می شوند.

    • بخش موارد استفاده متداول یک یا چند مورد استفاده متداول را برای روش توضیح داده شده در صفحه توضیح می دهد. برای مثال، می‌توانید برای بازیابی داده‌های مربوط به یک پخش خاص یا برای بازیابی اطلاعات مربوط به پخش‌های کاربر فعلی، روش liveBroadcasts.list را فراخوانی کنید.

      می‌توانید از پیوندهای موجود در آن بخش برای پر کردن APIs Explorer با مقادیر نمونه برای مورد استفاده خود یا برای باز کردن APIs Explorer تمام صفحه با مقادیری که قبلاً پر شده‌اند، استفاده کنید. هدف از این تغییرات، دیدن نمونه‌های کدی است که مستقیماً در مورد استفاده‌ای که می‌خواهید در برنامه کاربردی خود پیاده‌سازی کنید، قابل اجرا هستند.

    نمونه کد در حال حاضر برای جاوا، جاوا اسکریپت، پی اچ پی، پایتون و کرل پشتیبانی می شود.

  • صفحه نمونه کد همچنین دارای یک رابط کاربری جدید است که همه ویژگی های مشابهی را که در بالا توضیح داده شد ارائه می دهد. با استفاده از آن ابزار، می‌توانید موارد استفاده را برای روش‌های مختلف کاوش کنید، مقادیر را در APIs Explorer بارگیری کنید، و APIs Explorer تمام صفحه را باز کنید تا نمونه‌های کد را در جاوا، جاوا اسکریپت، PHP و پایتون دریافت کنید.

    در ارتباط با این تغییر، صفحاتی که قبلاً نمونه کدهای موجود برای جاوا، پی اچ پی و پایتون را فهرست کرده بودند حذف شدند.

25 فوریه 2019

مستندات منابع liveChatMessage و superChatEvent به‌روزرسانی شده است تا منعکس کننده این واقعیت باشد که هر دو منبع اکنون می‌توانند حاوی اطلاعاتی درباره Super Stickers باشند. Super Sticker ها نوعی پیام Super Chat هستند که یک تصویر را نمایش می دهند. مانند دیگر Super Chat ها، پیام Super Sticker توسط یکی از طرفداران در جریان پخش زنده YouTube خریداری می شود.

  • در یک منبع liveChatMessage ، ویژگی snippet.type اکنون روی superStickerEvent تنظیم شده است تا نشان دهد که منبع حاوی اطلاعاتی درباره Super Sticker است. در آن صورت، منبع همچنین حاوی شی snippet.superStickerDetails است که حاوی اطلاعات اضافی درباره Super Sticker است.
  • در یک منبع superChatEvent ، snippet.isSuperStickerEvent boolean نشان می دهد که آیا پیام Super Chat نیز یک Super Sticker است یا خیر. اگر چنین است، شی snippet.superStickerMetadata حاوی جزئیات بیشتری درباره Super Sticker است.

5 آوریل 2018

شرح روش superChatEvents.list به‌روزرسانی شده است تا منعکس کننده این واقعیت باشد که پاسخ API دیگر حاوی fanFundingEvents نیست، که در اوایل سال 2017 منسوخ شده بودند.

3 آوریل 2017

نمونه کدهای جدید جاوا اضافه شده است که نحوه فهرست کردن ، درج و حذف پیام های چت زنده را نشان می دهد. نمونه ها روش های زیر را فراخوانی می کنند:

13 فوریه 2017

این به روز رسانی شامل تغییرات زیر است:

  • به روز رسانی منابع و روش های موجود

    • روش liveCuepoints.insert به روز شده است تا این واقعیت را منعکس کند که پارامتر onBehalfOfContentOwner در حال حاضر مورد نیاز است. علاوه بر این، توضیحات روش به‌روزرسانی شده است تا توجه داشته باشد که تماس‌های آن روش باید توسط حساب مرتبط با مالک محتوای YouTube مجاز باشد.

9 فوریه 2017

این به روز رسانی شامل تغییرات زیر است:

  • به روز رسانی منابع و روش های موجود

    • پارامتر hl جدید متد superChatEvents.list به شما امکان می‌دهد مشخص کنید که مقدار ویژگی snippet.displayString باید مطابق با قراردادهای یک زبان خاص قالب‌بندی شود. تعریف آن ویژگی نیز بر این اساس به روز شده است.

      مقدار پارامتر باید کد زبانی باشد که در لیستی که با روش i18nLanguages.list برگردانده شده است. مقدار پیش‌فرض en است، به این معنی که رفتار پیش‌فرض قالب‌بندی رشته‌های نمایشی است که در زبان انگلیسی استفاده می‌شوند. به عنوان مثال، به طور پیش فرض، یک رشته به جای $1.00 به صورت $1,00 قالب بندی می شود.

1 فوریه 2017

این به روز رسانی شامل تغییرات زیر است:

  • منابع و روش های جدید

    • منبع جدید superChatEvent نشان دهنده پیام Super Chat است که توسط یکی از طرفداران در جریان پخش زنده YouTube خریداری شده است. در جریان چت زنده YouTube، Super Chats از دو جهت از پیام‌های دیگر متمایز است:

      • سوپر چت ها با یک رنگ برجسته می شوند.
      • Super Chat برای مدت زمان معینی در تیک تیک پین می ماند.

      رنگ Super Chat، مدت زمانی که پین ​​می‌شود و حداکثر طول پیام، همگی با مقدار خرید تعیین می‌شوند. مرکز راهنمای YouTube اطلاعات بیشتری درباره Super Chats دارد.

      API از روشی برای فهرست کردن رویدادهای Super Chat برای پخش‌های زنده کانال در 30 روز گذشته پشتیبانی می‌کند. این روش همچنین داده‌های مربوط به رویدادهای سرمایه‌گذاری طرفداران ( fanFundingEvents ) را از آخرین پخش زنده کانال برمی‌گرداند.

  • به روز رسانی منابع و روش های موجود

    • ویژگی snippet.type اکنون از مقدار superChatEvent پشتیبانی می کند که نشان می دهد منبع یک Super Chat را توصیف می کند.

      علاوه بر این، ویژگی جدید snippet.superChatDetails منبع liveChatMessage و فرزندان آن حاوی اطلاعاتی درباره رویداد Super Chat هستند.

    • ویژگی cdn.resolution منبع liveStream اکنون از مقدار 2160p پشتیبانی می کند.

  • خطاهای جدید و به روز شده

    • API از خطاهای جدید زیر پشتیبانی می کند:

      جزئیات خطا
      liveBroadcasts.insert ، liveBroadcasts.update روش‌های liveBroadcasts.insert و liveBroadcasts.update 400 خطا ( Bad Request ) برمی‌گردانند تا نشان دهند که منبع liveBroadcast در حال درج یا به‌روزرسانی حاوی مقدار نامعتبری برای ویژگی contentDetails.enableEmbed یا ویژگی contentDetails.projection است. دلایل خطای دو خطای جدید به ترتیب invalidEmbedSetting و invalidProjection هستند.

12 ژانویه 2017

توجه: این یک اعلامیه منسوخ شدن است.

در ارتباط با انتشار ویژگی جدید Super Chat ، YouTube ویژگی Fan Funding را منسوخ کرده است و Fan Funding API در 28 فوریه 2017 خاموش خواهد شد. از آن تاریخ:

11 آگوست 2016

این به روز رسانی شامل تغییرات زیر است:

  • شرایط خدمات سرویس YouTube API تازه منتشر شده ("شرایط به روز شده")، که به طور مفصل در وبلاگ مهندسی و توسعه دهندگان YouTube مورد بحث قرار گرفته است، مجموعه ای غنی از به روز رسانی ها را برای شرایط خدمات فعلی ارائه می دهد. علاوه بر شرایط به‌روزرسانی شده که از 10 فوریه 2017 اجرایی می‌شود، این به‌روزرسانی شامل چندین سند پشتیبانی برای کمک به توضیح خط‌مشی‌هایی است که توسعه‌دهندگان باید دنبال کنند.

    مجموعه کامل اسناد جدید در تاریخچه بازنگری برای شرایط به روز شده توضیح داده شده است. علاوه بر این، تغییرات آتی در شرایط به‌روزرسانی شده یا اسناد پشتیبان نیز در آن تاریخچه بازبینی توضیح داده خواهد شد. می‌توانید مشترک فید RSS شوید که تغییرات آن تاریخچه بازبینی را از پیوندی در آن سند فهرست می‌کند.

20 مه 2016

YouTube اکنون از انتقال DASH پشتیبانی می کند. بر این اساس، ویژگی ingestionType منبع liveStream از dash مقدار جدید برای شناسایی جریان‌های دریافت شده در YouTube با استفاده از DASH پشتیبانی می‌کند.

ارائه جدید محتوای زنده YouTube از طریق راهنمای DASH دستورالعمل هایی را برای استفاده از قالب تحویل DASH برای پخش جریانی داده های زنده در YouTube از یک رمزگذار ارائه می دهد. در نظر گرفته شده است که به فروشندگان رمزگذار کمک کند تا پشتیبانی تحویل DASH را به محصولات خود اضافه کنند.

18 آوریل 2016

این به روز رسانی شامل تغییرات زیر است:

  • به روز رسانی منابع و روش های موجود

    • به روز رسانی منابع liveStream
      • یوتیوب اکنون از پخش جریانی با وضوح 1440p با سرعت 30 یا 60 فریم در ثانیه پشتیبانی می کند.

        علاوه بر این، منبع liveStream دارای ویژگی های جدیدی برای تعیین نرخ فریم و وضوح داده های ویدیوی ورودی است:

        خواص
        cdn.frameRate نرخ فریم داده های ویدئویی ورودی. مقادیر معتبر 30fps و 60fps هستند.
        cdn.resolution وضوح داده های ویدئویی ورودی. مقادیر دارایی معتبر عبارتند از: 1440p ، 1080p ، 720p ، 480p ، 360p ، و 240p .
      • مطابق با معرفی ویژگی های cdn.frameRate و cdn.resolution منبع liveStream ، cdn.format منبع اکنون منسوخ شده است. ویژگی cdn.format وضوح و نرخ فریم را در یک مقدار مشخص می کند.

        ما شما را تشویق می کنیم که به زمینه هایی که به تازگی پشتیبانی می شوند، بروید. در این بین، cdn.format به کار خود ادامه می دهد. علاوه بر این، درخواست‌ها برای درج جریان‌های زنده تا زمانی که مقادیری را برای ویژگی cdn.format یا ویژگی‌های cdn.frameRate و cdn.resolution مشخص کنید، در حال حاضر موفق می‌شوند. اگر مقادیری را برای هر سه ویژگی ارائه کنید، در صورتی که مقادیر مطابقت نداشته باشند، API ممکن است با خطا مواجه شود.

        توجه داشته باشید که اگرچه ویژگی cdn.format منسوخ شده است، اما اکنون از دو مقدار جدید، 1440p و 1440p_hfr پشتیبانی می‌کند تا پشتیبانی API از جریان‌های 1440p را با سرعت 30 یا 60 فریم در ثانیه منعکس کند.

    • به روز رسانی منابع liveBroadcast
      • منبع liveBroadcast دارای ویژگی های جدید زیر است:

        خواص
        contentDetails.boundStreamLastUpdateTimeMs تاریخ و ساعتی که جریان زنده که توسط ویژگی contentDetails.boundStreamId پخش به آن ارجاع شده است آخرین به روز رسانی شد.
        contentDetails.projection فرمت پروجکشن پخش مقدار پیش فرض ویژگی rectangular است. مقادیر معتبر برای ملک 360 و rectangular است.
      • تعریف ویژگی statistics.totalChatCount منبع liveBroadcast به روز شده است تا توجه داشته باشید که مقدار ویژگی فقط در صورتی نشان داده می شود که پخش حداقل یک پیام چت داشته باشد.

    • به روز رسانی منابع 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) ایجاب می کند که افشای مشخصی باید به کاربران نهایی در اتحادیه اروپا داده شود و از آنها رضایت گرفته شود. بنابراین، برای کاربران نهایی در اتحادیه اروپا، باید از سیاست رضایت کاربر اتحادیه اروپا پیروی کنید. ما در شرایط خدمات YouTube API خود اطلاعیه ای درباره این الزام اضافه کرده ایم.

17 دسامبر 2015

این به روز رسانی شامل تغییرات زیر است:

  • منابع و روش های جدید

    • API از چندین منبع جدید برای پشتیبانی از عملکرد چت برای پخش زنده پشتیبانی می کند. YouTube از عملکرد چت زنده در طول پخش زنده فعال پشتیبانی می کند و این منابع و روش های آنها از بازیابی پیام های چت و همچنین عملکردهای مدیریتی برای چت پشتیبانی می کنند.

      منابع
      liveChatMessage این منبع پیامی را در یک چت زنده YouTube نشان می دهد. YouTube از چندین نوع پیام، از جمله پیام‌های متنی و رویدادهای تأمین مالی طرفداران پشتیبانی می‌کند. برخی از انواع پیام ها، مرحله خاصی از چت را شناسایی می کنند، مانند شروع دوره فقط حامیان مالی یا پایان چت. API از روش هایی برای فهرست کردن، درج و حذف پیام های چت زنده پشتیبانی می کند.
      liveChatModerators این منبع یک مدیر چت را شناسایی می کند. گردانندگان می توانند برخی از عملکردهای مدیریتی مانند ممنوعیت کاربران از چت یا حذف پیام ها را انجام دهند. API از روش هایی برای فهرست کردن، درج و حذف ناظران چت زنده پشتیبانی می کند.
      liveChatBans این منبع کاربری را شناسایی می کند که از ارسال پیام به یک چت زنده خاص منع شده است. ممنوعیت ها می تواند موقت یا دائمی باشد. API از روش هایی برای درج و حذف ممنوعیت های چت زنده پشتیبانی می کند.
      fanFundingEvents این منبع یک رویداد سرمایه‌گذاری طرفداران را در یک کانال YouTube نشان می‌دهد. سرمایه‌گذاری طرفداران راهی برای بینندگان فراهم می‌کند تا داوطلبانه از سازندگان YouTube با یک‌بار حمایت پولی حمایت کنند.

      روش fanFundingEvents.list API رویدادهای تأمین مالی طرفداران کانال را فهرست می کند. رویدادهای Fan Funding که از طریق یک چت زنده در طول پخش زنده متعلق به کانال آغاز می شود، همچنین یک پیام fanFundingEvent را به چت زنده پخش راه اندازی می کند.

      در مرکز راهنمایی YouTube درباره تأمین مالی طرفداران بیشتر بدانید.
      sponsors منبع sponsor ، حامی مالی یک کانال YouTube را شناسایی می کند. اسپانسر ماهانه هزینه ای را به یک کانال می پردازد. نشانی در کنار پیام‌های حامی مالی در چت‌های زنده کانال نشان داده می‌شود و حامیان مالی نیز می‌توانند در چت‌های زنده منحصراً برای حامیان مالی کانال شرکت کنند، در صورت بروز چنین اتفاقی.

      روش sponsors.list API حامیان مالی کانال را فهرست می کند. هنگامی که کاربران برای حمایت از یک کانال در طول پخش زنده متعلق به آن کانال ثبت نام می کنند، 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 است.
    • پارامتر جدید broadcastType روش liveBroadcasts.list به شما امکان می دهد یک پاسخ API را فیلتر کنید تا شامل پخش رویداد، پخش مداوم یا همه پخش ها شود.

      پخش مداوم پخشی است که همیشه وجود دارد و به رویداد خاصی وابسته نیست. به طور خاص، پخش پیش‌فرض کانال یک پخش دائمی است و از طریق داشبورد زنده در استودیوی سازندگان YouTube قابل دسترسی است. از دیگر برنامه های این کانال پخش رویداد است.

  • قسمت status.healthStatus.configurationIssues[].type منبع liveStream خطاهای وضعیت سلامت جدید زیر را گزارش می‌کند:

    خطاها
    audioTooManyChannels صدا بیش از دو کانال دارد، اما تنها یک کانال (مونو) یا دو (استریو) پشتیبانی می‌شود. لطفا تعداد کانال های صوتی را تصحیح کنید.
    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:

      مواد و روش ها
      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:

      خواص
      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:

      خواص
      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.