این صفحه فهرستی از تغییرات API پخش زنده یوتیوب و بهروزرسانیهای مستندات آن را ارائه میدهد. برای دریافت این گزارش تغییرات مشترک شوید .
۱۲ ژانویه ۲۰۲۶
این API اکنون از فعالسازی midrolls و درج خودکار midroll برای پخشهای زنده پشتیبانی میکند.
مالک پخش میتواند تا زمانی که پخش واجد شرایط پخش در حالت ...
اگر پخش برای میانپخشها فعال باشد، صاحب پخش میتواند درج خودکار میانپخش را فعال کند. همچنین میتواند تبلیغات خودکار را برای یک پخش در هر زمان غیرفعال کند.
وقتی مالک پخش، تبلیغات خودکار را فعال میکند، میتواند یکی از گزینههای زیر را انتخاب کند:
- بگذارید یوتیوب درج میانپرده را بهینه کند. این گزینه از سه حالت پشتیبانی میکند:
- پایین: پتانسیل درآمد کمتر، تجربه بیننده کمتر مختل شده
- متوسط: پتانسیل درآمد متوسط، تجربه بیننده متعادل
- بالا: پتانسیل درآمد بالاتر، تجربه بیننده با وقفه بیشتر
- استراتژی و فاصله زمانی برای درج در اواسط رول را به صورت دستی پیکربندی کنید. در این حالت، مالک باید دو پارامتر را تنظیم کند:
- استراتژی زمانبندی برای نقاط کلیدی تبلیغات. نقاط کلیدی میتوانند به طور همزمان برای همه بینندگان درج شوند یا زمانبندی نقاط کلیدی میتواند از بینندهای به بیننده دیگر متفاوت باشد. استراتژی دوم به یوتیوب این امکان را میدهد که نقاط کلیدی را با نرخ بالاتری زمانبندی کند که به بینندگان اجازه میدهد در صورت واجد شرایط بودن، نقاط کلیدی را دریافت کنند.
- مدت زمان وقفه بین تبلیغات میانپرده.
مستندات، تغییرات API زیر را برای پشتیبانی از این ویژگی نشان میدهد:
- شیء
monetizationDetailsمنبعliveBroadcastشامل فیلدهایی برای فعالسازی نمایش در میانهی نمایش و پیکربندی تبلیغات خودکار است. - روش
updateمیتواند برای فعال یا غیرفعال کردن تبلیغات میانبرنامهای استفاده شود. این روش همچنین میتواند برای تنظیم تبلیغات خودکار برای پخش زنده استفاده شود. این مستندات چندین خطای جدید را که ممکن است هنگام بهروزرسانی تنظیمات کسب درآمد و تبلیغات خودکار برای پخش زنده رخ دهد، شناسایی میکند.
۱۴ ژوئیه ۲۰۲۵
توضیحات متد liveChatMessages.streamList بهروزرسانی شده است تا راهنمایی در مورد کاربردهای API streamList ارائه دهد.
۹ اکتبر ۲۰۲۳
صرفاً جهت اطلاع، میتوانید در این فایل CSV ببینید که کدام شناسههای استیکر به کدام سوپر استیکرها مربوط میشوند. تعاریف ویژگی snippet.superStickerDetails.superStickerMetadata.stickerId از منبع liveChatMessage و ویژگی snippet.superStickerMetadata.stickerId از منبع superChatEvent هر دو بهروزرسانی شدهاند تا این اطلاعات را منعکس کنند.
۱۵ سپتامبر ۲۰۲۳
این API اکنون از روش جدیدی برای درج تبلیغات در پخشهای زنده پشتیبانی میکند. علاوه بر liveCuepoints که به شما امکان میدهد به صورت دستی تبلیغات کوتاه را در پخش قرار دهید، یوتیوب اکنون از ویژگیای پشتیبانی میکند که به طور خودکار تبلیغات کوتاه را در فواصل زمانی ثابت در پخش قرار میدهد.
اگر صاحب پخش، تبلیغات خودکار را فعال کند، میتواند جنبههای زیر از رفتار تبلیغات را مشاهده کند:
- طول فاصله بین وقفههای تبلیغاتی میانبرنامه.
- استراتژی زمانبندی برای نقاط کلیدی تبلیغات. نقاط کلیدی میتوانند به طور همزمان برای همه بینندگان درج شوند یا زمانبندی نقاط کلیدی میتواند از بینندهای به بیننده دیگر متفاوت باشد. استراتژی دوم به یوتیوب این امکان را میدهد که نقاط کلیدی را با نرخ بالاتری زمانبندی کند که به بینندگان اجازه میدهد در صورت واجد شرایط بودن، نقاط کلیدی را دریافت کنند.
- دورهای که در طول آن تبلیغات میانبرنامه نمایش داده نمیشوند؛ برای این ویژگی، صاحب پخش مشخص میکند که درج تبلیغات میانبرنامه تا زمان خاصی متوقف شود.
مستندات، تغییرات API زیر را برای پشتیبانی از این ویژگی نشان میدهد:
- منبع
liveBroadcastاکنون حاوی یک شیءmonetizationDetailsاست. فیلدهای این شیء نشان میدهند که آیا درج خودکار آگهی برای پخش فعال است یا خیر و اطلاعات اضافی را برای زمانبندی نقاط شروع مشخص میکنند. - پارامتر
partمتدliveBroadcast.listاز مقدارmonetizationDetailsپشتیبانی میکند. - روش
updateمیتواند برای مکث درج تبلیغات میانبرنامهای برای مدت معینی در پخش زنده استفاده شود. مستندات همچنین اکنون چندین خطایی را که ممکن است هنگام بهروزرسانی جزئیات کسب درآمد برای پخش زنده رخ دهد، شناسایی میکند.
۱ آگوست ۲۰۲۳
این بهروزرسانی شامل تغییرات زیر است:
متد
liveBroadcasts.updateدیگر نیازی به تعیین مقادیر برای این فیلدها ندارد:-
snippet.title -
status.privacyStatus
حذف این فیلدها از درخواست، آنها را بدون تغییر باقی میگذارد.
-
۱ نوامبر ۲۰۲۲
روش جدید
liveBroadcasts.cuepointبه هر صاحب کانالی که پخش زنده در یوتیوب را اجرا میکند، این امکان را میدهد که نقاط نشانهگذاری (cuepoints) را در آن پخش وارد کند، که میتواند باعث ایجاد وقفههای تبلیغاتی شود. این روش جایگزین روشliveCuepoints.insertمیشود که فقط به شرکای محتوای یوتیوب امکان میداد نقاط نشانهگذاری را در پخشهای زنده وارد کنند.چندین راهنما بهروزرسانی شدهاند تا در دسترس بودن این روش جدید را منعکس کنند.
توجه: این یک اطلاعیه منسوخ شده است.
متد
liveCuepoints.insertاکنون منسوخ شده است. پشتیبانی از متدliveCuepoints.insertدر تاریخ ۱ مه ۲۰۲۳ یا بعد از آن حذف خواهد شد. کاربران API باید برنامههای خود را بهروزرسانی کنند تا به جای آن، متدliveBroadcasts.cuepointرا فراخوانی کنند.مستندات مربوط به متد
liveBroadcasts.controlحذف شده است. یک اطلاعیه منسوخ شدن برای آن متد در سپتامبر 2020 منتشر شده است.
۱ اکتبر ۲۰۲۲
این بهروزرسانی شامل تغییرات زیر است:
متد
liveBroadcasts.updateدیگر نیازی به تعیین مقادیر برای این فیلدها ندارد:-
contentDetails.enableContentEncryption -
contentDetails.enableDvr -
contentDetails.enableEmbed -
contentDetails.recordFromStart -
contentDetails.startWithSlate
حذف این فیلدها از درخواست، آنها را بدون تغییر باقی میگذارد.
-
مستندات مربوط به فیلدهای منسوخشدهی
liveBroadcastحذف شد:-
contentDetails.enableContentEncryption -
contentDetails.startWithSlate
-
۱ آوریل ۲۰۲۲
این بهروزرسانی شامل تغییرات زیر است:
ویژگی
snippet.typeاکنون از دو مقدار جدید پشتیبانی میکند:-
membershipGiftingEvent -
giftMembershipReceivedEvent
-
ویژگی جدید
snippet.membershipGiftingDetailsاز منبعliveChatMessageو فرزندانش حاوی اطلاعاتی درباره رویداد Membership Gifting هستند. به طور مشابه، ویژگی جدیدsnippet.giftMembershipReceivedDetailsو فرزندانش حاوی اطلاعاتی درباره رویداد Gift Membership Received هستند.
۱۵ سپتامبر ۲۰۲۱
این بهروزرسانی شامل تغییرات زیر است:
ویژگی
snippet.typeاکنون از دو مقدار جدید پشتیبانی میکند:-
newSponsorEvent -
memberMilestoneChatEvent
-
ویژگی جدید
snippet.memberMilestoneChatDetailsاز منبعliveChatMessageو فرزندانش حاوی اطلاعاتی در مورد رویداد Member Milestone Chat هستند. به طور مشابه، ویژگی جدیدsnippet.newSponsorDetailsو فرزندانش حاوی اطلاعاتی در مورد رویداد New Sponsor هستند.
۱ دسامبر ۲۰۲۰
متد liveBroadcasts.transition در API از خطای جدید 403 ( Forbidden ) پشتیبانی میکند که نشان میدهد کاربر درخواستهای زیادی را در یک بازه زمانی مشخص ارسال کرده است. دلیل خطا userRequestsExceedRateLimit است.
۲۱ سپتامبر ۲۰۲۰
تعریف ویژگی
status.madeForKidsاز منبعliveBroadcastبهروزرسانی شده است تا مشخص شود که این ویژگی فقط خواندنی است. این نشاندهندهی تغییر در عملکرد API نیست.برای تعیین اینکه یک پخش زنده به صورت child-directed باشد، هنگام فراخوانی متد
liveBroadcasts.insertبرای ایجاد پخش، ویژگیstatus.selfDeclaredMadeForKidsرا رویtrueتنظیم کنید.توجه: این تغییر شامل یک اطلاعیه منسوخ شدن و بهروزرسانی اطلاعیه منسوخ شدن قبلی است.
متد
liveBroadcasts.controlدر تاریخ ۱ اکتبر ۲۰۲۰ یا بعد از آن منسوخ خواهد شد. پس از آن تاریخ، تمام فراخوانیهای این متد خطای ممنوعه (۴۰۳) را برمیگردانند و این متد بعداً به طور کامل حذف خواهد شد. کلاینتها همچنان میتوانند با اضافه کردن یک پوشش به ویدیوی ارسال شده به سرورهای ورودی یوتیوب، جدولبندی خود را پیادهسازی کنند.تاریخ انقضای اعلام منسوخ شدن که در ۱۶ آوریل ۲۰۲۰ انجام شد و در ابتدا برای ۱ سپتامبر ۲۰۲۰ برنامهریزی شده بود، به تعویق افتاده و اکنون در ۱ اکتبر ۲۰۲۰ یا بعد از آن اتفاق خواهد افتاد. بنابراین، ویژگیهای موجود در آن اعلام منسوخ شدن و متد
liveBroadcasts.controlهمگی همزمان منسوخ خواهند شد.
۱۷ ژوئیه ۲۰۲۰
توجه: این بهروزرسانی مربوط به اطلاعیهی منسوخشدهی قبلی است.
فیلد cdn.format منبع liveStream که در آوریل ۲۰۱۶ منسوخ شده بود، از ۱۷ آگوست ۲۰۲۰ دیگر پشتیبانی نخواهد شد. درخواستهایی که هنوز از آن فیلد استفاده میکنند، از آن تاریخ با شکست مواجه خواهند شد.
اگر کد شما هنوز از فیلد cdn.format استفاده میکند، باید بهروزرسانی شود تا نرخ فریم و وضوح تصویر را بهطور جداگانه، با استفاده از ویژگیهای cdn.frameRate و cdn.resolution مشخص کند.
۶ ژوئیه ۲۰۲۰
راهنمای « ارائه محتوای زنده یوتیوب از طریق HLS» با چند تغییر بهروزرسانی شده است:
- مدت زمان توصیه شده برای یک بخش رسانهای به یک تا چهار ثانیه بهروزرسانی شده است.
- بخش جدیدی نحوه دریافت URL HLS Ingestion را از YouTube Creator Studio توضیح میدهد.
- دستورالعملهای مربوط به قالببندی مقدار پارامتر
fileبه بخش جدید «تکمیل URL مربوط به HLS Ingestion» منتقل شدهاند. این دستورالعملها صرف نظر از اینکه URL مربوط به HLS ingestion از YouTube API یا YouTube Creator Studio دریافت شده باشد، اعمال میشوند.
علاوه بر این، مقایسه جدید پروتکلهای مصرف، پروتکلهای مصرف پشتیبانیشده توسط یوتیوب، کدکهای پشتیبانیشده برای هر پروتکل و اطلاعات اضافی در مورد موارد استفاده مناسب برای هر پروتکل را فهرست میکند.
۱۶ آوریل ۲۰۲۰
این بهروزرسانی شامل یک ویژگی جدید و یک اعلامیه منسوخ شدن است:
منبع
liveBroadcastاکنون از ویژگیcontentDetails.enableAutoStopپشتیبانی میکند. این ویژگی نشان میدهد که آیا پخش باید حدود یک دقیقه پس از اینکه صاحب کانال پخش ویدیو را در جریان ویدیوی محدود شده متوقف کرد، به طور خودکار متوقف شود یا خیر.بخش « طول عمر یک سند پخش » بهروزرسانی شده است تا توضیح دهد که چگونه فرآیند گام به گام ایجاد و مدیریت یک رویداد زنده یوتیوب در صورت تنظیم ویژگیهای
contentDetails.enableAutoStartیاcontentDetails.enableAutoStopرویtrueتغییر میکند.توجه: این یک اطلاعیه منسوخ شدن است. این تغییرات از اول سپتامبر ۲۰۲۰ یا بعد از آن لازمالاجرا خواهند شد. تاریخ واقعی اعمال تغییرات در زیر به عنوان تاریخ منسوخ شدن ذکر شده است.
این بهروزرسانی یک تغییر بالقوه مخرب را توضیح میدهد. این بهروزرسانی بر برنامههای کلاینت API که از منابع پیشفرض
liveStreamوliveBroadcastکانالها برای پخش محتوای زنده در یوتیوب استفاده میکنند، تأثیر میگذارد. بهطور خاص، شناسه پخش و شناسه جریان مرتبط با پخش و جریان دائمی دیگر برای شروع پخشهای جدید عمل نخواهند کرد.در صورت صحت هر یک از موارد زیر، درخواست شما تحت تأثیر قرار خواهد گرفت:
- مقدار ویژگی
isDefaultBroadcastمنبعliveBroadcastرا بررسی میکند. این ویژگی پس از تاریخ انقضا بازگردانده نخواهد شد. - مقدار ویژگی
isDefaultStreamمنبعliveStreamرا بررسی میکند. این ویژگی پس از تاریخ انقضا بازگردانده نخواهد شد. - این متد
liveBroadcasts.listرا فراخوانی میکند و مقدار پارامترbroadcastTypeرا رویpersistentیاallتنظیم میکند. این پارامتر به عنوان بخشی از این تغییرات منسوخ خواهد شد. از تاریخ منسوخ شدن:- اگر مقدار پارامتر
broadcastTypepersistentباشد، آنگاه متدliveBroadcasts.listهیچ نتیجهای را برنمیگرداند. - اگر مقدار پارامتر
broadcastTypeallباشد، آنگاه متدliveBroadcasts.listپخشهای پایداری که قبل از آن زمان وجود داشتهاند را برنمیگرداند.
- اگر مقدار پارامتر
به عنوان پیشزمینه، در چند سال گذشته، یوتیوب به طور خودکار یک جریان پیشفرض و یک پخش پیشفرض برای یک کانال ایجاد میکرد، زمانی که آن کانال برای پخش زنده فعال میشد. جریان پیشفرض به طور نامحدود وجود داشت، زمان شروع یا پایانی نداشت و قابل حذف نبود. به طور مشابه، پخش پیشفرض نیز پایدار در نظر گرفته میشد. همیشه وجود داشت و به یک رویداد خاص محدود نمیشد.
از تاریخ منسوخ شدن:
- یوتیوب دیگر پخشها و استریمهای پیشفرض ایجاد نخواهد کرد. به جای تکیه بر منابع پیشفرض، کلاینتهای API باید بتوانند منابع
liveBroadcastوliveStreamرا ایجاد و مدیریت کنند و این منابع را به هم متصل کنند. - اگر پخش پیشفرض و پخش جریانی پیشفرض یک کانال به طور فعال فعال باشند، به این معنی که کانال در زمان اعمال حذف، از آنها برای پخش زنده استفاده میکند، پخش مداوم تحت تأثیر قرار نخواهد گرفت. با این حال، پس از پایان آن پخش، کانال قادر به استفاده مجدد از پخش پیشفرض و پخش جریانی پیشفرض نخواهد بود.
- اگر پخش پیشفرض و پخش جریانی پیشفرض یک کانال به طور فعال پخش نشوند، پس از اجرایی شدن این منسوخسازی، یوتیوب تلاشهایی را که برای استفاده از این منابع برای پخش ویدیو انجام میشود، نادیده میگیرد.
اگر برنامه شما تحت تأثیر قرار گرفته است، لطفاً به اسناد زیر مراجعه کنید، که به شما کمک میکند برنامه خود را بهروزرسانی کنید تا پس از این تغییر، همچنان مطابق انتظار عمل کند:
- یک راهنمای مهاجرت جدید سعی دارد مراحلی را که توسعهدهندگان ممکن است در کلاینتهای API که در حال حاضر از پخشها و جریانهای پیشفرض استفاده میکنند، توضیح دهد.
- راهنمای «زندگی یک پخش زنده» شما را با یک فرآیند گام به گام آشنا میکند که نحوه ایجاد و مدیریت یک رویداد زنده در یوتیوب را توضیح میدهد. هر مرحله، فراخوانیهای API یا سایر مواردی را که برای انجام یک اقدام خاص باید انجام دهید، توضیح میدهد و هنگامی که یوتیوب پشتیبانی از پخشها و استریمهای پیشفرض را متوقف میکند، برنامه شما باید آن فرآیند را دنبال کند.
- مقدار ویژگی
۳۱ مارس ۲۰۲۰
توجه: این یک اطلاعیه منسوخ شده است.
متدهای sponsor resource و sponsors.list منسوخ شده و با متدهای member resource و members.list جایگزین شدهاند.
متد sponsors.list از تاریخ 30 سپتامبر 2020 یا بعد از آن دیگر پشتیبانی نخواهد شد. کلاینتهای API باید فراخوانیهای متد sponsors.list را بهروزرسانی کنند تا به جای آن از متد members.list استفاده کنند. لطفاً برای اطلاعات بیشتر در مورد منبع جدید ، به تاریخچه ویرایشهای YouTube Data API مراجعه کنید.
۱۱ مارس ۲۰۲۰
بخش نقطه پایانی مصرف (Ingestion endpoint) در راهنمای « ارائه محتوای زنده یوتیوب از طریق HLS» بهروزرسانی شده است تا فرآیندی را که یک رمزگذار باید برای تکمیل مقدار پارامتر file= هنگام تشکیل URLهای مصرف اولیه و پشتیبان استفاده کند، روشن کند.
۴ فوریه ۲۰۲۰
راهنمای « ارائه محتوای زنده یوتیوب از طریق HLS» بهروزرسانی شده است تا توجه داشته باشید که درخواستهای DELETE اختیاری هستند و نقطه پایانی HLS یوتیوب آنها را نادیده میگیرد. به دلایل عملکردی، یوتیوب به مشتریان توصیه میکند درخواستهای DELETE ارسال نکنند.
۱۰ ژانویه ۲۰۲۰
این API اکنون از قابلیت شناسایی محتوای مخصوص کودکان پشتیبانی میکند، که یوتیوب آن را «ساخته شده برای کودکان» مینامد. برای کسب اطلاعات بیشتر در مورد محتوای «ساخته شده برای کودکان» به مرکز راهنمایی یوتیوب مراجعه کنید.
- منبع
liveBroadcastاز دو ویژگی جدید پشتیبانی میکند تا تولیدکنندگان محتوا و بینندگان بتوانند محتوای «ساخته شده برای کودکان» را شناسایی کنند:- ویژگی
selfDeclaredMadeForKidsبه سازندگان محتوا این امکان را میدهد که مشخص کنند آیا یک پخش زنده، محتوای فرزند-محور است یا خیر. این ویژگی را میتوان هنگام ایجاد یک پخش از طریق متدliveBroadcasts.insertتنظیم کرد. توجه داشته باشید که این ویژگی فقط در پاسخهای API که حاوی منابعliveBroadcastهستند، در صورتی که صاحب کانال درخواست API را تأیید کرده باشد، گنجانده میشود. - ویژگی
madeForKidsبه هر کاربر API این امکان را میدهد که وضعیت "made for kids" یک پخش را بازیابی کند. برای مثال، این وضعیت ممکن است بر اساس مقدار ویژگیselfDeclaredMadeForKidsتعیین شود. برای اطلاعات بیشتر در مورد تنظیم مخاطب برای کانال، ویدیوها یا پخشهای خود، به مرکز راهنمای YouTube مراجعه کنید.
- ویژگی
- در API داده یوتیوب، منبع
channelاز ویژگیهای جدیدselfDeclaredMadeForKidsوmadeForKidsنیز پشتیبانی میکند.
ما همچنین شرایط خدمات سرویسهای YouTube API و سیاستهای توسعهدهندگان را بهروزرسانی کردهایم. لطفاً برای اطلاعات بیشتر به شرایط خدمات سرویسهای YouTube API - تاریخچه ویرایش مراجعه کنید. تغییرات در شرایط خدمات سرویسهای YouTube API و سیاستهای توسعهدهندگان از 10 ژانویه 2020 به وقت اقیانوس آرام اعمال خواهد شد.
۲۰ آگوست ۲۰۱۹
بخش الزامات راهنمای ارائه محتوای زنده یوتیوب از طریق HLS با دو تغییر بهروزرسانی شده است:
- این توضیح میدهد که بهترین روش این است که هم بخشهای تأیید شده و هم بخشهای برجسته را در هر لیست پخش رسانهای بگنجانید. این روش باعث میشود که در صورت از دست رفتن یک لیست پخش رسانهای در سمت سرور، احتمال رد شدن یک بخش کاهش یابد. به عنوان مثال، میتوانید تا دو بخش تأیید شده و تا پنج بخش برجسته را در هر لیست پخش رسانهای بگنجانید.
- اکنون ارسال یک لیست پخش رسانهای برای هر بخش رسانهای الزامی است. این امر به سرور امکان میدهد در صورت از دست رفتن لیست پخش رسانهای، به سرعت آن را بازیابی کند. این رویه قبلاً به عنوان یک توصیه ذکر شده بود.
۲۸ ژوئن ۲۰۱۹
یوتیوب اکنون از دریافت HLS پشتیبانی میکند. بر این اساس، ویژگی ingestionType منبع liveStream از مقدار جدید hls برای شناسایی جریانهای دریافت شده به یوتیوب با استفاده از HLS پشتیبانی میکند.
راهنمای جدید «ارائه محتوای زنده یوتیوب از طریق HLS» دستورالعملهایی را برای استفاده از HLS برای پخش محتوای زنده به یوتیوب از یک انکودر ارائه میدهد. هدف این راهنما کمک به فروشندگان انکودر برای افزودن پشتیبانی از ارائه HLS به محصولاتشان است.
۴ آوریل ۲۰۱۹
این بهروزرسانی شامل تغییرات زیر است:
مستندات مرجع API بهروزرسانی شده است تا موارد استفاده رایج برای هر روش را بهتر توضیح دهد و نمونههای کد پویا و با کیفیت بالا را از طریق ویجت APIs Explorer ارائه دهد. برای مثال به مستندات متد
liveBroadcasts.listمراجعه کنید. اکنون دو عنصر جدید در صفحات وجود دارد که متدهای API را توصیف میکنند:ویجت APIs Explorer به شما امکان میدهد دامنههای مجوز را انتخاب کنید، پارامترهای نمونه و مقادیر ویژگی را وارد کنید، و سپس درخواستهای API واقعی ارسال کنید و پاسخهای API واقعی را ببینید. این ویجت همچنین یک نمای تمام صفحه ارائه میدهد که نمونههای کد کامل را نشان میدهد، که به صورت پویا بهروزرسانی میشوند تا از دامنهها و مقادیری که وارد کردهاید استفاده کنند.
بخش موارد استفاده رایج، یک یا چند مورد استفاده رایج برای روشی که در صفحه توضیح داده شده است را شرح میدهد. برای مثال، میتوانید روش
liveBroadcasts.listرا برای بازیابی اطلاعات مربوط به یک پخش خاص یا بازیابی اطلاعات مربوط به پخشهای کاربر فعلی فراخوانی کنید.شما میتوانید از لینکهای موجود در آن بخش برای پر کردن APIs Explorer با مقادیر نمونه برای مورد استفاده خود یا باز کردن APIs Explorer تمام صفحه با آن مقادیری که از قبل پر شدهاند، استفاده کنید. هدف این تغییرات آسانتر کردن مشاهده نمونههای کدی است که مستقیماً برای مورد استفادهای که سعی در پیادهسازی آن در برنامه خود دارید، قابل اجرا هستند.
نمونههای کد در حال حاضر برای جاوا، جاوا اسکریپت، PHP، پایتون و curl پشتیبانی میشوند.
صفحه نمونههای کد همچنین دارای یک رابط کاربری جدید است که تمام ویژگیهای مشابه توضیح داده شده در بالا را ارائه میدهد. با استفاده از این ابزار، میتوانید موارد استفاده برای متدهای مختلف را بررسی کنید، مقادیر را در APIs Explorer بارگذاری کنید و APIs Explorer تمام صفحه را باز کنید تا نمونههای کد را در جاوا، جاوا اسکریپت، PHP و پایتون دریافت کنید.
همزمان با این تغییر، صفحاتی که قبلاً نمونههای کد موجود برای جاوا، PHP و پایتون را فهرست میکردند، حذف شدهاند.
۲۵ فوریه ۲۰۱۹
مستندات منابع liveChatMessage و superChatEvent بهروزرسانی شده است تا این واقعیت را منعکس کند که هر دو منبع اکنون میتوانند حاوی اطلاعاتی در مورد Super Stickers باشند. Super Stickers نوعی پیام Super Chat است که یک تصویر را نمایش میدهد. مانند سایر Super Chats، یک پیام Super Sticker توسط یک طرفدار در طول پخش زنده YouTube خریداری میشود.
- در یک منبع
liveChatMessage، ویژگیsnippet.typeاکنون رویsuperStickerEventتنظیم شده است تا نشان دهد که منبع حاوی اطلاعاتی در مورد یک Super Sticker است. در این صورت، منبع همچنین شامل شیءsnippet.superStickerDetailsاست که حاوی اطلاعات اضافی در مورد Super Sticker است. - در یک منبع
superChatEvent، مقدار بولیsnippet.isSuperStickerEventنشان میدهد که آیا پیام Super Chat یک Super Sticker نیز هست یا خیر. اگر چنین باشد، شیءsnippet.superStickerMetadataشامل جزئیات بیشتری در مورد Super Sticker است.
۵ آوریل ۲۰۱۸
توضیحات متد superChatEvents.list بهروزرسانی شده است تا این واقعیت را منعکس کند که پاسخ API دیگر شامل fanFundingEvents نیست، که در اوایل سال ۲۰۱۷ منسوخ شده بودند.
۳ آوریل ۲۰۱۷
نمونههای کد جاوای جدیدی اضافه شدهاند که نحوهی فهرست کردن ، درج کردن و حذف پیامهای چت زنده را نشان میدهند. این نمونهها متدهای زیر را فراخوانی میکنند:
۱۳ فوریه ۲۰۱۷
این بهروزرسانی شامل تغییرات زیر است:
بهروزرسانی منابع و روشهای موجود
متد
liveCuepoints.insertبهروزرسانی شده است تا این واقعیت را منعکس کند که پارامترonBehalfOfContentOwnerدر حال حاضر مورد نیاز است. علاوه بر این، توضیحات این متد بهروزرسانی شده است تا توجه داشته باشید که فراخوانیهای این متد باید توسط حسابی مرتبط با مالک محتوای یوتیوب (YouTube Content Owner) مجاز شوند.
۹ فوریه ۲۰۱۷
این بهروزرسانی شامل تغییرات زیر است:
بهروزرسانی منابع و روشهای موجود
پارامتر جدید
hlدر متدsuperChatEvents.listبه شما امکان میدهد مشخص کنید که مقدار ویژگیsnippet.displayStringباید مطابق با قراردادهای یک زبان خاص قالببندی شود. تعریف آن ویژگی نیز بر این اساس بهروزرسانی شده است.مقدار پارامتر باید یک کد زبان باشد که در لیست برگردانده شده توسط متد
i18nLanguages.listوجود دارد. مقدار پیشفرضenاست، به این معنی که رفتار پیشفرض، قالببندی رشتههای نمایش داده شده به شکلی است که در زبان انگلیسی استفاده میشوند. برای مثال، به طور پیشفرض، یک رشته به جای$1.00به صورت$1,00قالببندی میشود.
۱ فوریه ۲۰۱۷
این بهروزرسانی شامل تغییرات زیر است:
منابع و روشهای جدید
منبع جدید
superChatEventنشاندهنده یک پیام Super Chat است که توسط یک طرفدار در طول پخش زنده یوتیوب خریداری شده است. در پخش زنده یوتیوب، Super Chatها از دو طریق از سایر پیامها متمایز میشوند:- سوپر چتها با یک رنگ مشخص شدهاند.
- سوپر چتها برای مدت زمان مشخصی در تیکت پین میشوند.
رنگ سوپر چت، مدت زمانی که در تیکت پین میشود و حداکثر طول پیام، همگی با توجه به مبلغ خرید تعیین میشوند. مرکز راهنمایی یوتیوب اطلاعات بیشتری در مورد سوپر چتها دارد.
این API از روشی برای فهرست کردن رویدادهای Super Chat برای پخش زنده یک کانال در 30 روز گذشته پشتیبانی میکند. این روش همچنین دادههای مربوط به رویدادهای Fan Funding (
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هستند.
۱۲ ژانویه ۲۰۱۷
توجه: این یک اطلاعیه منسوخ شده است.
همزمان با انتشار ویژگی جدید سوپر چت ، یوتیوب ویژگی تامین مالی هواداران را منسوخ کرده است و API تامین مالی هواداران در تاریخ ۲۸ فوریه ۲۰۱۷ غیرفعال خواهد شد. از آن تاریخ:
- متد
liveChatMessages.listدیگر پیامهایی با نوعsnippet.typeازfanFundingEventرا برنمیگرداند. به طور مشابه، منابعliveChatMessageدیگر حاوی شیءsnippet.fanFundingEventDetailsنخواهند بود. - متد
fanFundingEvents.listدیگر دادهای را برنمیگرداند.
۱۱ آگوست ۲۰۱۶
این بهروزرسانی شامل تغییرات زیر است:
شرایط خدمات سرویسهای YouTube API ("شرایط بهروزرسانیشده") که بهتازگی منتشر شده و بهطور مفصل در وبلاگ مهندسی و توسعهدهندگان YouTube مورد بحث قرار گرفته است، مجموعهای غنی از بهروزرسانیها را برای شرایط خدمات فعلی ارائه میدهد. علاوه بر شرایط بهروزرسانیشده که از 10 فوریه 2017 لازمالاجرا خواهد شد، این بهروزرسانی شامل چندین سند پشتیبان است که به توضیح سیاستهایی که توسعهدهندگان باید دنبال کنند، کمک میکند.
مجموعه کامل اسناد جدید در تاریخچه ویرایشهای مربوط به «شرایط بهروزرسانیشده» شرح داده شده است. علاوه بر این، تغییرات آینده در «شرایط بهروزرسانیشده» یا اسناد پشتیبان نیز در آن تاریخچه ویرایش توضیح داده خواهد شد. میتوانید از طریق پیوندی در آن سند، در یک فید RSS که فهرست تغییرات در آن تاریخچه ویرایش را نشان میدهد، مشترک شوید.
۲۰ مه ۲۰۱۶
یوتیوب اکنون از دریافت DASH پشتیبانی میکند. بر این اساس، ویژگی ingestionType منبع liveStream از مقدار جدید dash برای شناسایی جریانهای دریافتشده در یوتیوب با استفاده از DASH پشتیبانی میکند.
راهنمای جدید «ارائه محتوای زنده یوتیوب از طریق DASH» دستورالعملهایی را برای استفاده از فرمت DASH Delivery برای پخش زنده دادهها در یوتیوب از یک رمزگذار ارائه میدهد. این راهنما به فروشندگان رمزگذار کمک میکند تا پشتیبانی از تحویل DASH را به محصولات خود اضافه کنند.
۱۸ آوریل ۲۰۱۶
این بهروزرسانی شامل تغییرات زیر است:
بهروزرسانی منابع و روشهای موجود
- بهروزرسانیهای منابع
liveStreamیوتیوب اکنون از پخش زنده با وضوح تصویر ۱۴۴۰p با نرخ ۳۰ یا ۶۰ فریم در ثانیه پشتیبانی میکند.
علاوه بر این، منبع
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.typeuserBannedEventباشد.
- بهروزرسانیهای منابع
خطاهای جدید و بهروز شده
این API از خطاهای جدید زیر پشتیبانی میکند:
جزئیات خطا liveBroadcasts.bindمتد liveBroadcasts.bindخطای403(Forbidden) را برمیگرداند تا نشان دهد که کاربر درخواستهای زیادی را در یک بازه زمانی مشخص ارسال کرده است. دلیل خطاuserRequestsExceedRateLimitاست.
متدهایliveBroadcasts.insertوliveBroadcasts.updateاز قبل از همین خطا پشتیبانی میکنند.liveStreams.insertمتد liveStreams.insertاز چهار خطای جدید400(Bad Request) پشتیبانی میکند که یک مقدار ویژگی نامعتبر را در منبعliveStreamکه درخواست سعی در درج آن داشته است، شناسایی میکنند. لیست زیر دلایل خطا و ویژگیهایی را که با آنها مرتبط هستند، مشخص میکند:-
invalidFormat:cdn.format -
invalidFrameRate:cdn.frameRate -
invalidIngestionType:cdn.ingestionType -
invalidResolution:cdn.resolution
liveStreams.insertمتد liveStreams.insertاز دو خطای جدید400(Bad Request) پشتیبانی میکند که هر کدام نشان میدهد مقدار مورد نیاز در منبعliveStreamکه درخواست سعی در درج آن داشته است، وجود ندارد. لیست زیر دلایل خطا و ویژگیهای مرتبط با آنها را مشخص میکند:-
frameRateRequired:cdn.frameRate -
resolutionRequired:cdn.resolution
liveStreamوارد میکنید، باید مقداری را برای ویژگیcdn.formatیا برای ویژگیهایcdn.frameRateوcdn.resolutionمشخص کنید.- اگر برای هر یک از سه ویژگی مقداری تعیین نکنید، API خطای
formatRequiredرا برمیگرداند. - اگر مقداری برای
cdn.resolutionتعیین کنید اماcdn.frameRateمشخص نکنید، API خطایframeRateRequiredرا برمیگرداند. - اگر مقداری برای
cdn.frameRateتعیین کنید اماcdn.resolutionمقداری تعیین نکنید، API خطایresolutionRequiredرا برمیگرداند.
liveStreams.updateاگر درخواست سعی در تغییر مقدار هر یک از ویژگیهای غیرقابل تغییر زیر داشته باشد، متد liveStreams.updateخطای403(Forbidden) را برمیگرداند:-
cdn.format -
cdn.frameRate -
cdn.ingestionType -
cdn.resolution
reasonدر پاسخ خطا،liveStreamModificationNotAllowedاست.-
۱۸ دسامبر ۲۰۱۵
قوانین اتحادیه اروپا (EU) ایجاب میکند که برخی اطلاعات باید به کاربران نهایی در اتحادیه اروپا افشا و از آنها رضایت گرفته شود. بنابراین، برای کاربران نهایی در اتحادیه اروپا، شما باید از سیاست رضایت کاربر اتحادیه اروپا پیروی کنید. ما اطلاعیهای در مورد این الزام در شرایط خدمات YouTube API خود اضافه کردهایم.
۱۷ دسامبر ۲۰۱۵
این بهروزرسانی شامل تغییرات زیر است:
منابع و روشهای جدید
این API از چندین منبع جدید برای پشتیبانی از قابلیت چت برای پخش زنده پشتیبانی میکند. یوتیوب از قابلیت چت زنده در طول پخش زنده فعال پشتیبانی میکند و این منابع و متدهای آنها از بازیابی پیامهای چت و همچنین توابع مدیریتی برای چت پشتیبانی میکنند.
منابع liveChatMessageاین منبع، پیامی را در یک گفتگوی زنده یوتیوب نشان میدهد. یوتیوب از انواع مختلفی از پیامها، از جمله پیامهای متنی و رویدادهای جذب سرمایه طرفداران، پشتیبانی میکند. برخی از انواع پیامها، مرحله خاصی از گفتگو را مشخص میکنند، مانند آغاز دوره فقط حامیان مالی یا پایان گفتگو. این API از روشهایی برای فهرست کردن، درج و حذف پیامهای گفتگوی زنده پشتیبانی میکند. liveChatModeratorsاین منبع، یک مدیر چت را شناسایی میکند. مدیران میتوانند برخی از وظایف مدیریتی، مانند ممنوعیت کاربران از چت یا حذف پیامها را انجام دهند. این API از روشهایی برای فهرست کردن، درج و حذف مدیران چت زنده پشتیبانی میکند. liveChatBansاین منبع، کاربری را که از ارسال پیام به یک گفتگوی زنده خاص منع شده است، شناسایی میکند. این ممنوعیتها میتوانند موقت یا دائمی باشند. این API از روشهایی برای درج و حذف ممنوعیتهای گفتگوی زنده پشتیبانی میکند. fanFundingEventsاین منبع نشاندهنده یک رویداد جمعآوری سرمایه از طرفداران در یک کانال یوتیوب است. جمعآوری سرمایه از طرفداران راهی را برای بینندگان فراهم میکند تا داوطلبانه از سازندگان یوتیوب با یک بار حمایت مالی حمایت کنند.
متدfanFundingEvents.listدر API، رویدادهای Fan Funding یک کانال را فهرست میکند. رویدادهای Fan Funding که از طریق یک گفتگوی زنده در طول پخش زنده متعلق به کانال آغاز میشوند، یک پیامfanFundingEventرا نیز به گفتگوی زنده پخش، ارسال میکنند.
برای کسب اطلاعات بیشتر در مورد جذب سرمایه از طرفداران، به مرکز راهنمایی یوتیوب مراجعه کنید.sponsorsمنبع sponsorاسپانسر یک کانال یوتیوب را مشخص میکند. اسپانسر ماهانه مبلغی را به کانال پرداخت میکند. یک نشان در کنار پیامهای اسپانسر در چتهای زنده کانال نمایش داده میشود و اسپانسرها همچنین میتوانند در چتهای زندهای که منحصراً برای اسپانسرهای کانال برگزار میشود، در صورت وجود، شرکت کنند.
The API'ssponsors.listmethod lists a channel's sponsors. When users sign up to sponsor a channel during a live broadcast owned by that channel, the API also adds anewSponsorEventmessage to the broadcast's live chat.Learn more about sponsorships in the YouTube Help Center .
Updates to existing resources and methods
The
liveBroadcastresource contains the following new properties:خواص snippet.liveChatIdThe ID for the broadcast's YouTube live chat. With this ID, you can use the liveChatMessageresource's methods to retrieve, insert, or delete chat messages. You can also add or remove chat moderators, ban users from participating in live chats, or remove existing bans.contentDetails.closedCaptionsTypeNote: This property replaces the contentDetails.enableClosedCaptionsproperty.
This property indicates whether closed captioning is enabled for your broadcast and, if so, what type of closed captions you are providing:-
closedCaptionsDisabled: Closed captions are disabled for the live broadcast. -
closedCaptionsHttpPost: You will send captions, via HTTP POST, to an ingestion URL associated with your live stream. -
closedCaptionsEmbedded: Captions will be encoded in the video stream using EIA-608 and/or CEA-708 formats.
contentDetails.enableClosedCaptionsThis property has been deprecated as of December 17, 2015. Use the contentDetails.closedCaptionsTypeproperty instead. For API clients that are already using this property:- Setting the property value to
trueis equivalent to setting thecontentDetails.closedCaptionsTypeproperty toclosedCaptionsHttpPost. - Setting the property value to
falseis equivalent to setting thecontentDetails.closedCaptionsTypeproperty toclosedCaptionsDisabled.
-
The
liveBroadcasts.listmethod's newbroadcastTypeparameter lets you filter an API response to include event broadcasts, persistent broadcasts, or all broadcasts.A persistent broadcast is one that always exists and is not tied to a particular event. Specifically, a channel's default broadcast is a persistent broadcast, and it is accessible via the Live Dashboard in the YouTube Creator Studio. The channel's other broadcasts are event broadcasts.
The
liveStreamresource'sstatus.healthStatus.configurationIssues[].typefield reports the following new health status errors:خطاها audioTooManyChannelsThe audio has more than two channels, but only one (mono) or two (stereo) channels are supported. Please correct the number of audio channels. frameRateHighThe current framerate is too high. Please set the framerate to %(framerate)sfps or less.The publication date of the previous documentation update was corrected.
New and updated errors
In addition to errors defined for the new resources listed above, the API supports the following new errors:
Error details liveBroadcasts.updateHTTP Response Code forbidden (403)دلیل closedCaptionsTypeModificationNotAllowedتوضیحات The contentDetails.closedCaptionsTypevalue can only be modified when the broadcast is in thecreatedorreadystatus.liveBroadcasts.updateHTTP Response Code invalidValue (400)دلیل invalidEnableClosedCaptionsتوضیحات In the liveBroadcast resource , the value of the contentDetails.enableClosedCaptionsproperty is incompatible with the value of thecontentDetails.closedCaptionTypesetting. Modify the resource to only include one of the two properties, and then resubmit the request.
August 19, 2015
This update contains the following changes:
New resources and methods
Note: Documentation for the
liveChatresource and its methods is confidential and only visible to select YouTube partners.The new
liveChatresource contains a comment posted during a live broadcast on YouTube. The API supports two methods for this resource:روشها liveChats.listList live chat messages for a broadcast. liveChats.insertCreate a new chat message. Live chat messages can only be retrieved and posted while a broadcast is live.
Updates to existing resources and methods
The
liveStreamresource contains the following new properties:خواص snippet.isDefaultStreamIndicates whether this stream is the default stream for the channel. A channel's default stream exists indefinitely, does not have a start or end time associated with it, and cannot be deleted. See the property's definition for more information about how default streams work. status.healthStatusThis object contains information that could be used to identify, diagnose and resolve streaming problems. The object contains a number of child properties to help you evaluate the health of a live video stream.
In particular, thestatus.healthStatus.configurationIssues[]object lists issues affecting a video stream. A new document, Configuration Issues for LiveStream Resources , lists all of the issues that the API reports.contentDetails.isReusableIndicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times. The
liveBroadcastresource contains the following new properties:خواص snippet.isDefaultBroadcastIndicates whether this broadcast is the default broadcast for the channel. When a YouTube channel is enabled for live streaming, YouTube creates a default stream and a default broadcast for the channel. The stream defines how the channel owner sends live video to YouTube, and the broadcast is how viewers can see the default stream. See the property's definition for more information about how default broadcasts work. contentDetails.enableLowLatencyIndicates whether this broadcast should be encoded for low-latency streaming. A low-latency stream can reduce the amount of time it takes for video to be visible to users watching a broadcast, though it can also impact the resolution for viewers of the stream. statistics.totalChatCountThe total number of live chat messages associated with the broadcast. The property and its value are present if the broadcast is visible to the user and has the live chat feature enabled. Note that this property will not specify a value after the broadcast ends. So, this property would not identify the number of chat messages for an archived video of a completed live broadcast.
New and updated errors
In addition to errors defined for the new
liveChatresource, the API supports the following new error:Error details liveStreams.updateHTTP Response Code forbidden (403)دلیل liveStreamModificationNotAllowedتوضیحات The API does not allow you to change a reusable stream to be non-reusable, or vice versa. For more information, see Understanding Broadcasts and Streams
May 21, 2015
This update contains the following changes:
YouTube now supports live video streaming at 60 frames per second (fps), which means smoother playback for gaming and other fast-action videos. When you start a live stream on YouTube at 60fps, YouTube also makes the stream available in 30fps on devices where high-frame-rate viewing is not yet available.
The
liveStreamresource'scdn.formatproperty supports two new values for this feature:720p_hfrand1080p_hfr.See the YouTube Creators Blog for more information about this feature.
August 21, 2014
This update contains the following changes:
The definition of the
liveBroadcasts.controlmethod'swalltimeparameter has been updated to note that the property value is specified in ISO 8601 format (YYYY-MM-DDThh:mm:ss.sssZ).The API now supports the following errors:
Error type Error detail توضیحات insufficientPermissionsliveStreamingNotEnabledAll methods for the liveBroadcastandliveStreamresources return this error if the user that authorized the API request has not been enabled to stream live video on YouTube. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features .rateLimitExceededuserRequestsExceedRateLimitThe liveBroadcasts.insertandliveStreams.insertmethods both return this error to indicate that the user has sent too many requests within a given timeframe.
May 2, 2014
This update contains the following changes:
The descriptions of the
liveStreamresource and of theliveBroadcasts.bindmethod have been updated to note that a broadcast can only be bound to one video stream, but a video stream can be bound to more than one broadcast. This change is solely a correction to the documentation; the underlying API functionality has not changed.The
liveBroadcastresource'scontentDetails.monitorStream.enableMonitorStreamproperty has been updated to explain that if the property's value istrue, then you must transition your broadcast to thetestingstate before you can transition it to thelivestate. (If the property's value isfalse, your broadcast cannot have atestingstage, so you can transition the broadcast directly to thelivestate.The
liveCuepointresource'ssettings.offsetTimeMsproperty has been updated to note that you should not specify a value for the property if your broadcast does not have a monitor stream.All of the methods for the
liveBroadcastandliveStreamresources now support theonBehalfOfContentOwnerandonBehalfOfContentOwnerChannelparameters. These parameters allow you to use the same authorization credentials to complete API requests for different channels associated with the same content owner.The
liveCuepoints.insertmethod's documentation has been updated to note that you can set a value for thesettings.walltimeproperty when calling that method.The error documentation now specifies the HTTP response code for each error type.
The API now supports the following error:
Error type Error detail توضیحات insufficientPermissionslivePermissionBlockedThe liveBroadcasts.insert,liveBroadcasts.transition, andliveStreams.insertmethods return this error if the user that authorized the request is unable to stream live video on YouTube. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features .The
liveBroadcasts.insertmethod'sinvalidScheduledStartTimeerror has been updated to clarify that the scheduled start time must be close enough to the current date that a broadcast could be reliably scheduled at that time.
۱۳ دسامبر ۲۰۱۳
This update contains the following changes:
The
liveBroadcastresource's newstatus.recordingStatusproperty identifies the broadcast's current status.The
liveBroadcastresource's newcontentDetails.enableClosedCaptionsproperty indicates whether closed captions can be ingested for the broadcast. The property value can be set when you insert or update a broadcast, but it cannot be updated once the broadcast is in thetestingorlivestate. If you set this property totrue, then theliveStreamresource that is bound to the broadcast will specify the ingestion URL to use for the broadcast's closed captions.The
liveBroadcastresource'ssnippet.scheduledEndTimeproperty now supports broadcasts that are scheduled to continue indefinitely. With this change, the property is no longer required inliveBroadcasts.insertandliveBroadcasts.updaterequests.
If you retrieve aliveBroadcastresource that does not specify a value for this property, then the broadcast is scheduled to continue indefinitely. Similarly, if you call theliveBroadcasts.insertorliveBroadcasts.updatemethod and do not specify a value for this property, the broadcast will be scheduled to continue indefinitely.The
liveBroadcastresource'scontentDetails.recordFromStartproperty, which already had a default value oftrue, can now only be set tofalseif the broadcasting channel is allowed to disable recordings for live broadcasts.If your channel does not have permission to disable recordings, and you attempt to insert a broadcast with the
recordFromStartproperty set tofalse, the API will return aForbiddenerror. In addition, if your channel does not have that permission and you attempt to update a broadcast to set therecordFromStartproperty tofalse, the API will return amodificationNotAllowederror.The
liveBroadcastresource no longer contains anenableArchiveproperty, which had been mentioned in the descriptions of thecontentDetails.enableDvrandcontentDetails.enableEmbedproperties.The list of valid values for the
liveBroadcastresource'sstatus.lifeCycleStatusproperty has been updated to include a description of each status.The
liveCuepointresource's newsettings.walltimeproperty specifies the date and time at which the cuepoint should be inserted. The API returns an error if a request tries to insert a cuepoint that specifies a value for this property and for thesettings.offsetTimeMsproperty.The new
contentDetailsobject in aliveStreamresource contains information about the stream. Currently, the object's only property iscontentDetails.closedCaptionsIngestionUrl, which specifies the ingestion URL for closed captions associated with the video stream.The list of valid values for the
liveStreamresource'sstatus.streamStatusproperty has been updated to include a description of each status.The
liveBroadcasts.controlmethod's newwalltimeparameter lets you specify the date and time when a slate change will occur. The API returns an error if a request specifies a value for this parameter and for theoffsetTimeMsparameter.In the API response to a
liveBroadcasts.listrequest, the value of thekindproperty has changed fromyoutube#liveBroadcastListtoyoutube#liveBroadcastListResponse.In the API response to a
liveStreams.listrequest, the value of thekindproperty has changed fromyoutube#liveStreamListtoyoutube#liveStreamListResponse.The
eventIdproperty has been deprecated from both theliveBroadcastListResponseand theliveStreamListResponse.The API supports the following new errors:
Error type Error detail توضیحات invalidValueconflictingTimeFieldsThe liveBroadcasts.controlmethod returns this error if your request specifies values for theoffsetTimeMsandwalltimeparameters. A request can either omit both parameters or specify a value for one of the two parameters.invalidValueinvalidWalltimeThe liveBroadcasts.controlmethod returns this error if thewalltimeparameter's value is invalid.forbiddenenableClosedCaptionsModificationNotAllowedThe liveBroadcasts.updatemethod returns this error if you attempt to update thecontentDetails.enableClosedCaptionsvalue and the broadcast's status is notcreatedorready.invalidValueconflictingTimeFieldsThe liveCuepoints.insertmethod returns this error if your request specifies values for thesettings.offsetTimeMsandsettings.walltimeproperties. A request can either omit both properties or specify a value for one of the two properties.In addition, the
liveStreams.updatemethod no longer supports acdnRequirederror similar to the one that theliveStreams.insertmethod supports.
May 10, 2013
This update contains the following changes:
YouTube no longer identifies experimental API features and services. Instead, we now provide a list of YouTube APIs that are subject to the deprecation policy .
May 2, 2013
This update contains the following changes:
The new
liveBroadcasts.controlmethod enables you to toggle the display settings for a slate that displays in the broadcast stream for a broadcast that is already in progress. If your broadcast stream is delayed, you can also use this method to specify a time offset when the requested slate change will occur.The definitions of the following properties have been updated to explain that the property values must be set if you update a
liveBroadcastresource'scontentDetailspart:The
liveStreamresource'sstatus.streamStatusno longer supports the valuedeletedas a possible stream status.The information that the API returns for many error messages has been revised to better explain why particular errors occurred. The API also supports several new errors.
March 27, 2013
This update contains the following changes:
The following properties have changed in the
liveBroadcastresource:- The
startWithSlateCuepointproperty has been renamed tostartWithSlate. - The
enableArchiveproperty has been renamed torecordFromStart. - The
slateSettingsobject has been deprecated and removed from the documentation. Error messages related to theslateSettingsobject or its properties have also been removed. Finally, the "Displaying Slates" section of the Getting started guide has been removed.
- The
The API no longer supports the ability to insert in-stream slates using the
liveCuepoints.insertmethod. The following documents have been updated to reflect this change:The index page , Getting started guide, and Life of a broadcast tutorial no longer mention this functionality.
The
liveCuepointresource'ssettings.cueTypeproperty no longer supportsslateas a property value. (The only supported value isad.The
liveCuepointresource'ssettings.eventStateproperty has been deprecated and removed from the documentation.
March 18, 2013
This update contains the following changes:
All of the API's error messages have been updated to more clearly explain possible errors and, when possible, offer guidance about how to fix them.
The API may now return several new errors. The list below identifies the error and the API method that might return that error:
-
liveBroadcasts.insert– A broadcast's scheduled end time must be after its scheduled start time. -
liveBroadcasts.insert– The broadcast specifies an invalid privacy status. -
liveBroadcasts.update– The resource does not contain or does not set a value for thecontentDetails.enableArchiveproperty. -
liveBroadcasts.update– The resource does not contain or does not set a value for thecontentDetails.enableContentEncryptionproperty. -
liveBroadcasts.update– The resource does not contain or does not set a value for thecontentDetails.enableDvrproperty. -
liveStreams.insert– The snippet title must be between 1 and 128 characters long. -
liveStreams.update– The resource does not contain or does not set a value for thesnippet.titleproperty.
-
The
liveStreamresource documentation has been updated to reflect that multicast and WebM are not supported ingestion methods as previously indicated. The list of formats for thecdn.formatproperty has been updated accordingly, and thecdn.multicastIngestionInfoobject and its child properties have been removed from the resource's documentation. In addition,httphas been removed from the list of supportedcdn.ingestionTypevalues.