این صفحه تغییرات «میانای برنامهسازی کاربردی جاریسازی زنده YouTube» و بهروزرسانیهای مستندات را فهرست میکند.
۱۲ اکتبر ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
ویژگی
snippet.giftEventDetailsمنبعliveChatMessageبهsnippet.giftDetailsاصلاح شده است تا پاسخ میانای برنامهسازی کاربردی را بهدرستی منعکس کند.
۱۸ اوت ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
اسناد روش
liveBroadcasts.updateبهروز شده است تا شامل خطاهای جدید مربوط به درآمدزایی شود:preconditionFailed (412)(دلیل:videoNotEligibleForAdsMonetization) وbackendError (503)(دلیل:backendError).
۱۷ اوت ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
دارایی جدید
snippet.categoryIdمنبعliveBroadcastبه شما امکان میدهد دسته ویدیویی مرتبط با همهفرستی زنده را تنظیم، بهروزرسانی، و بازیابی کنید.
۲۰ ژوئیه ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
اکنون میتوان ویژگی
monetizationDetails.cuepointSchedule.pauseAdsUntilرا روی تاریخ و زمان گذشته یا مقدار خالی تنظیم کرد تا آگهیها از حالت توقف موقت خارج شوند.
۹ ژوئیه ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
اکنون اسناد
liveChatBans.insertمشخص میکند که ویژگیsnippet.typeبایدpermanentیاtemporaryباشد.مستندات
liveChatMessage.insertبهدرستی نشان میدهد کهquestionTextدارایی مستقیمmetadataاست وoptionsآرایهای از اشیا است که هرکدام حاوی فیلدoptionTextاست.
۱ ژوئن ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
ویژگی
contentDetails.availabilityConfigمنبعliveBroadcastبه شما امکان میدهد محدودیتهای جغرافیایی را برای پخش زنده مشخص کنید تا بتوانید دردسترس بودن منطقهای را برای رویدادهای زنده مدیریت کنید.
۲۶ مارس ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
دارایی
snippet.typeاکنون از مقدار جدیدgiftEventپشتیبانی میکند. -
دارایی جدید
liveChatMessagesnippet.giftEventDetailsو فرزندان آن حاوی اطلاعاتی درباره رویداد هدیه است.
۱۲ ژانویه ۲۰۲۶
اکنون API از فعال کردن میانویدیوییها و درج خودکار میانویدیویی برای همهفرستیهای زنده پشتیبانی میکند.
مالک همهفرستی میتواند میانپخشها را برای همهفرستی فعال کند، بهشرطی که همهفرستی واجدشرایط میانپخش باشد. مالک همچنین میتواند در هر زمانی تبلیغات میانویدیویی را برای یک همهفرستی خاموش کند.
اگر یک همهفرستی برای آگهیهای میانویدیویی فعال باشد، مالک همهفرستی میتواند درج خودکار آگهیهای میانویدیویی را فعال کند. همچنین میتوانند آگهیهای خودکار را برای یک پخش در هر زمانی خاموش کنند.
وقتی مالک همهفرستی آگهیهای خودکار را فعال میکند، میتواند یکی از گزینههای زیر را انتخاب کند:
- به YouTube اجازه دهید درج آگهی میانویدیویی را بهینهسازی کند. این گزینه از سه حالت پشتیبانی میکند:
- کم: درآمد بالقوه کمتر، تجربه بیننده با وقفه کمتر
- متوسط: درآمد بالقوه متوسط، تجربه بیننده متعادل
- بالا: درآمد بالقوه بیشتر، تجربه بیننده با وقفه بیشتر
- استراتژی و فاصله زمانی درج آگهی میانویدیویی را بهصورت دستی پیکربندی کنید. دراینصورت، مالک باید دو پارامتر را تنظیم کند:
- استراتژی زمانبندی برای نقاط نشانه آگهی. نقطههای راهنما را میتوان بهطور همزمان برای همه بینندگان درج کرد یا زمانبندی نقطههای راهنما میتواند برای هر بیننده متفاوت باشد. راهبرد دوم به YouTube امکان میدهد تا نقاط نشان را با نرخ بالاتری زمانبندی کند، که به بینندگان اجازه میدهد نقاط نشان را زمانی که واجدشرایط هستند دریافت کنند.
- طول فاصله بین وقفههای آگهی میانویدیویی.
این سند نشاندهنده تغییرات زیر در میانای برنامهسازی کاربردی برای پشتیبانی از این ویژگی است:
- شیء
liveBroadcastمنبعmonetizationDetailsشامل فیلدهایی برای فعالسازی آگهیهای میانویدیویی و پیکربندیهای آگهی خودکار است. - از روش
updateمیتوان برای فعال یا غیرفعال کردن آگهیهای میانویدیویی استفاده کرد. از این روش میتوان برای راهاندازی آگهیهای خودکار برای پخش زنده نیز استفاده کرد. این سند چند خطای جدید را که ممکن است هنگام بهروزرسانی تنظیمات درآمدزایی و آگهیهای خودکار برای پخش زنده رخ دهد شناسایی میکند.
۱۴ ژوئیه ۲۰۲۵
شرح روش liveChatMessages.streamList بهروز شده است تا راهنماییهایی درباره استفاده از میانای برنامهسازی کاربردی streamList ارائه دهد.
۹ اکتبر ۲۰۲۳
فقط برای مرجع، میتوانید در این فایل CSV ببینید کدام شناسه برچسب به کدام Super Sticker مربوط است.
تعاریف ویژگی snippet.superStickerDetails.superStickerMetadata.stickerId منبع liveChatMessage و ویژگی snippet.superStickerMetadata.stickerId منبع superChatEvent هر دو بهروزرسانی شدهاند تا این اطلاعات را منعکس کنند.
۱۵ سپتامبر ۲۰۲۳
این میانای برنامهسازی کاربردی اکنون از روش جدیدی برای درج آگهی در پخشهای زنده پشتیبانی میکند. علاوهبر
liveCuepoints که به شما امکان میدهد
وقفههای آگهی را بهصورت دستی در پخش زنده درج کنید، YouTube اکنون از ویژگیای پشتیبانی میکند که بهطور خودکار
وقفههای آگهی میانویدیویی را در فواصل زمانی ثابت در پخش زنده درج میکند.
اگر مالک پخش زنده آگهیهای خودکارسازیشده را فعال کند، میتواند جنبههای زیر را از رفتار آگهی مشاهده کند:
- طول فاصله بین وقفههای آگهی میانویدیویی.
- استراتژی زمانبندی برای نشانهای آگهی. نقطههای راهنما را میتوان بهطور همزمان برای همه بینندگان درج کرد یا زمانبندی نقطههای راهنما میتواند برای هر بیننده متفاوت باشد. استراتژی دوم به YouTube امکان میدهد تا نقاط نشان را با نرخ بالاتری زمانبندی کند که به بینندگان اجازه میدهد نقاط نشان را زمانی که واجد شرایط هستند دریافت کنند.
- دورهای که درطول آن آگهیهای میانویدیویی نشان داده نمیشوند؛ برای این ویژگی، مالک پخش مشخص میکند که درج آگهیهای میانویدیویی تا زمان خاصی موقتاً متوقف شود.
این سند نشاندهنده تغییرات میانای برنامهسازی کاربردی زیر برای پشتیبانی از این ویژگی است:
- منبع
liveBroadcastاکنون حاوی یک شیءmonetizationDetailsاست. فیلدهای این شیء نشان میدهد که آیا درج خودکار آگهی برای پخش زنده فعال است یا نه و اطلاعات تکمیلی برای زمانبندی نقاط نشانهگذاری را مشخص میکند. - پارامتر
partروشliveBroadcast.listاز مقدارmonetizationDetailsپشتیبانی میکند. - از روش
updateمیتوان برای توقف موقت درج آگهیهای میانویدیویی برای یک دوره مشخص در یک همهفرستی زنده استفاده کرد. این مستندات اکنون چندین خطایی را که ممکن است هنگام بهروزرسانی جزئیات درآمدزایی برای یک پخش زنده رخ دهد، شناسایی میکند.
۱ اوت ۲۰۲۳
این بهروزرسانی شامل تغییرات زیر است:
-
روش
liveBroadcasts.updateدیگر نیازی به مشخص کردن مقادیر برای این فیلدها ندارد:snippet.titlestatus.privacyStatus
درصورت حذف این فیلدها از درخواست، این فیلدها بدون تغییر باقی خواهند ماند.
۱ نوامبر ۲۰۲۲
-
روش جدید
liveBroadcasts.cuepointبه هر مالک کانالی که پخش مستقیم در YouTube اجرا میکند امکان میدهد تا نقاط نشان را در آن پخش درج کند، که میتواند وقفههای آگهی را راهاندازی کند. این روش جایگزین روشliveCuepoints.insertمیشود که فقط به شرکای محتوای YouTube اجازه میداد تا نقاط نشان را در پخشهای زنده درج کنند.چندین راهنما بهروز شدهاند تا دردسترس بودن این روش جدید را نشان دهند.
-
توجه: این یک اعلان منسوخ شدن است.
روش
liveCuepoints.insertاکنون منسوخ شده است. پشتیبانی از روشliveCuepoints.insertدر ۱ مه ۲۰۲۳ یا پساز آن برداشته خواهد شد. کاربران API باید برنامههایشان را بهروز کنند تا بهجای آن، روشliveBroadcasts.cuepointرا فراخوانی کنند. -
مستندات روش
liveBroadcasts.controlبرداشته شده است. اعلان منسوخ شدن آن روش در سپتامبر ۲۰۲۰ منتشر شد.
۱ اکتبر ۲۰۲۲
این بهروزرسانی شامل تغییرات زیر است:
-
روش
liveBroadcasts.updateدیگر نیازی به مشخص کردن مقادیر برای این فیلدها ندارد:contentDetails.enableContentEncryptioncontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.startWithSlate
با حذف این فیلدها از درخواست، آنها بدون تغییر باقی میمانند.
-
اسناد مربوط به فیلدهای منسوخشده
liveBroadcastبرداشته شد:contentDetails.enableContentEncryptioncontentDetails.startWithSlate
۱ آوریل ۲۰۲۲
این بهروزرسانی شامل تغییرات زیر است:
-
دارایی
snippet.typeاکنون از دو مقدار جدید پشتیبانی میکند:membershipGiftingEventgiftMembershipReceivedEvent
-
دارایی جدید
snippet.membershipGiftingDetailsمنبعliveChatMessageو فرزندان آن حاوی اطلاعاتی درباره رویداد «هدیه عضویت» است. بهطور مشابه، ویژگی جدیدsnippet.giftMembershipReceivedDetailsو فرزندان آن حاوی اطلاعاتی درباره رویداد «عضویت هدیهای دریافت شد» هستند.
۱۵ سپتامبر ۲۰۲۱
این بهروزرسانی شامل تغییرات زیر است:
-
ویژگی
snippet.typeاکنون از دو مقدار جدید پشتیبانی میکند:newSponsorEventmemberMilestoneChatEvent
-
ویژگی جدید
snippet.memberMilestoneChatDetailsاز منبعliveChatMessageو فرزندان آن حاوی اطلاعاتی درباره رویداد «گپ اعضای وفادار» است. بهطور مشابه، ویژگی جدیدsnippet.newSponsorDetailsو فرزندان آن حاوی اطلاعاتی درباره رویداد «حامی مالی جدید» هستند.
۱ دسامبر ۲۰۲۰
روش liveBroadcasts.transition میانای برنامهسازی کاربردی از خطای جدید 403 (Forbidden) پشتیبانی میکند که نشان میدهد کاربر درخواستهای زیادی را در بازه زمانی مشخصی ارسال کرده است. دلیل خطا userRequestsExceedRateLimit است.
۲۱ سپتامبر ۲۰۲۰
-
تعریف ویژگی
status.madeForKidsمنبعliveBroadcastبهروزرسانی شده است تا مشخص شود که این ویژگی فقط خواندنی است. این مورد نشاندهنده تغییر در عملکرد «میانای برنامهسازی کاربردی» نیست.برای تعیین اینکه پخش مستقیم برای کودکان ساخته شده است، هنگام فراخوانی روش
liveBroadcasts.insertبرای ایجاد پخش، ویژگیstatus.selfDeclaredMadeForKidsرا رویtrueتنظیم کنید. -
توجه: این تغییر شامل اعلامیه منسوخ شدن و بهروزرسانی اعلامیه منسوخ شدن قبلی است.
روش
liveBroadcasts.controlدر تاریخ ۱ اکتبر ۲۰۲۰ یا پساز آن منسوخ خواهد شد. پساز این تاریخ، همه فراخوانیهای این روش خطای ممنوع (۴۰۳) برمیگرداند و این روش بعداً بهطور کامل برداشته خواهد شد. کارخواهها همچنان میتوانند با افزودن همپوشانی به ویدیو ارسالشده به سرورهای دریافت YouTube، لوح خودشان را پیادهسازی کنند.تاریخ منسوخ شدن برای اعلامیه منسوخ شدن منتشرشده در ۱۶ آوریل ۲۰۲۰، که در ابتدا برای ۱ سپتامبر ۲۰۲۰ برنامهریزی شده بود، به تعویق افتاده است و اکنون در تاریخ ۱ اکتبر ۲۰۲۰ یا پساز آن اتفاق خواهد افتاد. بنابراین، ویژگیهای موجود در آن اعلان منسوخ شدن و روش
liveBroadcasts.controlهمگی در یک زمان منسوخ خواهند شد.
۱۷ ژوئیه ۲۰۲۰
توجه: این بهروزرسانی برای اعلامیه منسوخ شدن قبلی است.
فیلد cdn.format منبع liveStream که در آوریل ۲۰۱۶ منسوخ شده بود، از ۱۷ اوت ۲۰۲۰ دیگر پشتیبانی نخواهد شد. درخواستهایی که همچنان از آن فیلد استفاده میکنند از آن تاریخ ناموفق خواهند بود.
اگر کد شما هنوز از فیلد cdn.format استفاده میکند، باید بهروزرسانی شود تا نرخ فریم و وضوح را بهطور جداگانه بااستفاده از ویژگیهای cdn.frameRate و cdn.resolution
مشخص کند.
۶ ژوئیه ۲۰۲۰
راهنمای ارائه محتوای زنده YouTube ازطریق HLS با چند تغییر بهروز شده است:
- مدت توصیه شده برای بخش رسانه به یک تا چهار ثانیه بهروزرسانی شده است.
- بخش جدیدی توضیح میدهد که چگونه یک نشانی وب دریافت HLS از استودیو محتواساز YouTube دریافت کنید.
-
دستورالعملهای قالببندی مقدار پارامتر
fileبه بخش جدید تکمیل نشانی وب انتقال داده HLS منتقل شده است. این دستورالعملها صرفنظر از اینکه نشانی وب انتقال داده HLS از YouTube API یا «استودیوِ محتواساز YouTube» بهدست آمده باشد، اعمال میشود.
علاوهبراین، مقایسه پروتکل انتقال جدید پروتکلهای انتقالی را که YouTube پشتیبانی میکند، کدکهای پشتیبانیشده برای هر پروتکل، و اطلاعات تکمیلی درباره موارد استفاده مناسب برای هر پروتکل را فهرست میکند.
۱۶ آوریل ۲۰۲۰
این بهروزرسانی شامل یک ویژگی جدید و یک اعلامیه منسوخ شدن است:
-
منبع
liveBroadcastاکنون از ویژگیcontentDetails.enableAutoStopپشتیبانی میکند. این دارایی نشان میدهد که آیا یک همهفرستی باید حدود یک دقیقه پساز اینکه مالک کانال جاریسازی ویدیو را در جاریسازی ویدیو پیوندشده متوقف میکند، بهطور خودکار متوقف شود یا خیر.سند عمر همهفرستی بهروزرسانی شده است تا توضیح دهد که اگر ویژگیهای
contentDetails.enableAutoStartیاcontentDetails.enableAutoStopرا رویtrueتنظیم کنید، فرایند گامبهگام ایجاد و مدیریت رویداد زنده YouTube چگونه تغییر میکند. -
توجه: این یک اعلان منسوخ شدن است. این تغییرات در تاریخ ۱ سپتامبر ۲۰۲۰ یا پساز آن اعمال خواهد شد. تاریخ واقعی اعمال تغییرات در زیر بهعنوان تاریخ منسوخ شدن ذکر شده است.
این بهروزرسانی تغییری را توضیح میدهد که ممکن است باعث خرابی شود. این تغییر بر برنامههای کارخواه API که از منابع پیشفرض
liveStreamوliveBroadcastکانالها برای جاریسازی محتوای زنده در YouTube استفاده میکنند تأثیر میگذارد. بهطور خاص، شناسه پخش زنده و شناسه جاریسازی مرتبط با پخش زنده و جاریسازی دائمی دیگر برای شروع پخش زندههای جدید کار نخواهند کرد.اگر هریک از موارد زیر درست باشد، برنامه شما تحتتأثیر قرار خواهد گرفت:
- این خطمشی مقدار ویژگی
isDefaultBroadcastمنبعliveBroadcastرا بررسی میکند. این ویژگی پساز تاریخ منسوخ شدن برگردانده نخواهد شد. - این خطمشی مقدار ویژگی
isDefaultStreamمنبعliveStreamرا بررسی میکند. این ویژگی پساز تاریخ منسوخ شدن برگردانده نخواهد شد. - روش
liveBroadcasts.listرا فرا میخواند و مقدار پارامترbroadcastTypeرا رویpersistentیاallتنظیم میکند. این پارامتر بهعنوان بخشی از این تغییرات منسوخ خواهد شد. از تاریخ منسوخ شدن:- اگر مقدار پارامتر
broadcastTypeبرابر باpersistentباشد، متدliveBroadcasts.listهیچ نتیجهای برنمیگرداند. - اگر مقدار پارامتر
broadcastTypeبرابر باallباشد، روشliveBroadcasts.listهمهفرستیهای پایداری را که قبلاز آن زمان وجود داشتهاند برنمیگرداند.
- اگر مقدار پارامتر
بهعنوان پیشزمینه، در چند سال گذشته، YouTube بهطور خودکار یک جاریسازی پیشفرض و یک پخش پیشفرض برای یک کانال ایجاد کرده است، زمانی که آن کانال برای جاریسازی زنده فعال شده است. جاریسازی پیشفرض بهطور نامحدود وجود داشت، زمان شروع یا پایان مرتبط با آن نداشت و قابل حذف نبود. بهطور مشابه، پخش پیشفرض پایدار درنظر گرفته میشد. همیشه وجود داشته است و به رویداد خاصی محدود نشده است.
از تاریخ منسوخ شدن:
- YouTube دیگر جاریسازیها و همهفرستیهای پیشفرض ایجاد نخواهد کرد. بهجای تکیه بر منابع پیشفرض، کارخواههای میانای برنامهسازی کاربردی باید بتوانند منابع
liveBroadcastوliveStreamرا ایجاد و مدیریت کنند و این منابع را با هم پیوند دهند. - اگر پخش پیشفرض و جاریسازی پیشفرض کانال بهطور فعال زنده باشند، یعنی کانال در زمان اجرایی شدن منسوخسازی از آنها برای پخش زنده استفاده میکند، پخش جاری تحت تأثیر قرار نخواهد گرفت. اما پساز پایان آن همهفرستی، کانال نمیتواند دوباره از همهفرستی پیشفرض و جاریسازی پیشفرض استفاده کند.
- اگر پخش پیشفرض و جاریسازی پیشفرض کانال بهطور فعال زنده نباشند، پساز اجرایی شدن منسوخسازی، YouTube تلاشها برای استفاده از آن منابع برای پخش ویدیو را نادیده خواهد گرفت.
اگر برنامه شما تحتتأثیر قرار گرفته است، لطفاً به اسناد زیر مراجعه کنید که به شما کمک میکند برنامهتان را بهروز کنید تا پساز این تغییر همچنان طبق انتظار کار کند:
- راهنمای انتقال جدیدی سعی میکند مراحلی را توضیح دهد که ممکن است توسعهدهندگان لازم باشد در کارخواهان API که درحالحاضر از همهفرستیها و جاریسازیهای پیشفرض استفاده میکنند به آنها بپردازند.
- راهنمای زندگی یک همهفرستی شما را ازطریق یک فرایند گامبهگام که نحوه ایجاد و مدیریت یک رویداد زنده در YouTube را توضیح میدهد، راهنمایی میکند. هر مرحله فراخوانیهای API یا کارهای دیگری را که باید برای تکمیل یک کنش خاص انجام دهید توضیح میدهد، و برنامه شما باید زمانی که YouTube پشتیبانی از جاریسازیها و همهفرستیهای پیشفرض را متوقف میکند، آن فرایند را دنبال کند.
- این خطمشی مقدار ویژگی
۳۱ مارس ۲۰۲۰
توجه: این یک اعلان منسوخ شدن است.
منبع sponsor و
روش sponsors.list منسوخ شدهاند و با منبع member
و روش members.list جایگزین شدهاند.
روش sponsors.list از تاریخ ۳۰ سپتامبر ۲۰۲۰ یا بعداز آن دیگر پشتیبانی نخواهد شد.
کارخواههای API باید تماسها با روش sponsors.list را بهروز کنند تا بهجای آن از روش members.list استفاده کنند. لطفاً برای اطلاعات بیشتر درباره منبع جدید،
سابقه بازبینی YouTube Data API را ببینید.
۱۱ مارس ۲۰۲۰
بخش نقطه پایانی انتقال داده
راهنمای ارائه محتوای زنده YouTube ازطریق HLS بهروزرسانی شده است تا
فرایندی را که کدبند باید برای تکمیل مقدار پارامتر file=
هنگام تشکیل نشانیهای وب انتقال داده اصلی و پشتیبان استفاده کند، روشن کند.
۴ فوریه ۲۰۲۰ (۱۵ بهمن ۱۳۹۸)
راهنمای ارائه محتوای زنده YouTube ازطریق HLS بهروزرسانی شده است تا اشاره کند که درخواستهای DELETE اختیاری هستند و نقطه پایانی HLS در YouTube آنها را نادیده میگیرد. بهدلایل عملکردی، YouTube توصیه میکند که کارخواهها درخواستهای DELETE ارسال نکنند.
۱۰ ژانویه ۲۰۲۰ (۲۰ دی ۱۳۹۸)
اکنون API از قابلیت شناسایی محتوای کودکمحور که YouTube آن را «ساختهشده برای کودکان» مینامد پشتیبانی میکند. در «مرکز راهنمایی YouTube» درباره محتوای «ساختهشده برای کودکان» بیشتر بدانید.
-
منبع
liveBroadcastاز دو ویژگی جدید پشتیبانی میکند تا محتواسازان و بینندگان بتوانند محتوای «ساختهشده برای کودکان» را شناسایی کنند:-
دارایی
selfDeclaredMadeForKidsبه محتواسازان امکان میدهد مشخص کنند که آیا یک پخش زنده محتوای هدفگذاریشده برای کودکان است یا خیر. این دارایی را میتوان هنگام ایجاد یک همهفرستی ازطریق روشliveBroadcasts.insertتنظیم کرد. توجه داشته باشید که این ویژگی فقط در پاسخهای API که حاوی منابعliveBroadcastهستند، درصورتیکه مالک کانال درخواست API را مجاز کرده باشد، گنجانده میشود. -
دارایی
madeForKidsبه هر کاربر API امکان میدهد وضعیت «ساختهشده برای کودکان» یک همهفرستی را بازیابی کند. برای مثال، ممکن است وضعیت براساس مقدار ویژگیselfDeclaredMadeForKidsتعیین شود. برای اطلاعات بیشتر درباره تنظیم مخاطب برای کانال، ویدیوها، یا همهفرستیهای خود، به مرکز راهنمایی YouTube مراجعه کنید.
-
دارایی
-
در YouTube Data API، منبع
channelاز ویژگیهای جدیدselfDeclaredMadeForKidsوmadeForKidsنیز پشتیبانی میکند.
همچنین «شرایط خدمات سرویسهای YouTube API» و «خطمشیهای توسعهدهنده» را بهروزرسانی کردهایم. برای کسب اطلاعات بیشتر، لطفاً به شرایط خدمات سرویسهای YouTube API - سابقه بازبینی مراجعه کنید. تغییرات «شرایط خدمات خدمات YouTube API» و «خطمشیهای توسعهدهندگان» در تاریخ ۱۰ ژانویه ۲۰۲۰ به وقت اقیانوس آرام اعمال خواهد شد.
۲۰ اوت ۲۰۱۹
بخش الزامات در راهنمای ارسال محتوای زنده YouTube ازطریق HLS با دو تغییر بهروزرسانی شده است:
- توضیح میدهد که بهتر است هم بخشهای تأییدشده و هم بخشهای معوقه در هر «فهرست پخش رسانهای» گنجانده شود. این روش باعث میشود که اگر فهرست پخش رسانه در سمت سرور ازدست برود، احتمال رد شدن یک بخش کمتر شود. برای مثال، میتوانید حداکثر دو بخش تأییدشده و حداکثر پنج بخش برجسته را در هر «فهرست پخش رسانهای» بگنجانید.
- اکنون ارسال «فهرست پخش رسانه» برای هر «بخش رسانه» الزامی است. این کار باعث میشود اگر «فهرست پخش رسانه» ازدست رفت، سرور بتواند بهسرعت آن را بازیابی کند. این رویه قبلاً بهعنوان توصیه فهرست شده بود.
۲۸ ژوئن ۲۰۱۹
YouTube اکنون از انتقال داده HLS پشتیبانی میکند. برهمین اساس، دارایی liveStream در ویژگی ingestionType از مقدار جدید hls برای شناسایی جاریسازیهای انتقال دادهشده به YouTube بااستفاده از HLS پشتیبانی میکند.
راهنمای جدید ارسال محتوای زنده YouTube ازطریق HLS دستورالعملهایی برای استفاده از HLS جهت جاریسازی محتوای زنده به YouTube از کدبند ارائه میدهد. هدف این راهنما کمک به فروشندگان کدبند برای افزودن پشتیبانی از ارسال HLS به محصولاتشان است.
۴ آوریل ۲۰۱۹
این بهروزرسانی شامل تغییرات زیر است:
-
سند مرجع API بهروزرسانی شده است تا موارد استفاده رایج برای هر روش را بهتر توضیح دهد و نمونههای کد پویا و با کیفیت بالا را ازطریق ابزاره APIs Explorer ارائه دهد. برای نمونه، اسناد روش
liveBroadcasts.listرا ببینید. اکنون دو عنصر جدید در صفحههایی که روشهای API را توصیف میکنند وجود دارد:-
ابزارک «کاوشگر میاناهای برنامهسازی کاربردی» به شما امکان میدهد محدودههای مجوز را انتخاب کنید، مقادیر نمونه پارامتر و دارایی را وارد کنید، و سپس درخواستهای واقعی میانای برنامهسازی کاربردی را ارسال کنید و پاسخهای واقعی میانای برنامهسازی کاربردی را ببینید. این ابزارک همچنین نمای تمامصفحهای ارائه میدهد که نمونههای کامل کد را نشان میدهد، که بهطور پویا بهروزرسانی میشوند تا از دامنهها و مقادیری که وارد کردهاید استفاده کنند.
-
بخش موارد استفاده رایج یک یا چند مورد استفاده رایج را برای روش توضیحدادهشده در صفحه شرح میدهد. برای مثال، میتوانید روش
liveBroadcasts.listرا برای بازیابی دادههای مربوط به یک پخش خاص یا بازیابی دادههای مربوط به پخشهای کاربر فعلی فراخوانی کنید.میتوانید از پیوندهای آن بخش برای پر کردن «کاوشگر میاناهای برنامهسازی کاربردی» با مقادیر نمونه برای مورد استفاده خود یا برای باز کردن «کاوشگر میاناهای برنامهسازی کاربردی» تمامصفحه با مقادیر ازقبل پرشده استفاده کنید. هدف این تغییرات این است که دیدن نمونههای کدی که مستقیماً برای مورد استفادهای که میخواهید در برنامه خود پیادهسازی کنید قابلاعمال است برایتان آسانتر شود.
درحالحاضر، نمونههای کد برای Java، JavaScript، PHP، Python، و curl پشتیبانی میشود.
-
-
صفحه نمونههای کد نیز واسط کاربر جدیدی دارد که همه ویژگیهای شرحدادهشده در بالا را ارائه میدهد. بااستفاده از این ابزار، میتوانید موارد استفاده روشهای مختلف را کاوش کنید، مقادیر را در «کاوشگر API» بار کنید، و «کاوشگر API» را در حالت تمامصفحه باز کنید تا نمونههای کد را به زبانهای Java، JavaScript، PHP، و Python دریافت کنید.
همراه با این تغییر، صفحههایی که قبلاً نمونه کدهای دردسترس برای Java، PHP، و Python را فهرست میکردند برداشته شدهاند.
۲۵ فوریه ۲۰۱۹
اسناد منابع liveChatMessage و superChatEvent بهروزرسانی شدهاند تا نشان دهند که هر دو منبع اکنون میتوانند حاوی اطلاعاتی درباره Super Stickers باشند. Super Stickers نوعی پیام Super Chat است که تصویری را نمایش میدهد. مانند سایر Super Chatها، پیام 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 بهروزرسانی شده است تا نشان دهد که پاسخ میانای برنامهسازی کاربردی دیگر حاوی fanFundingEvents نیست، که در اوایل سال ۲۰۱۷ منسوخ شده بود.
۳ آوریل ۲۰۱۷
نمونههای کد Java جدیدی اضافه شده است که نحوه فهرست کردن، درج کردن، و حذف کردن پیامهای گپ مستقیم را نشان میدهد. نمونهها روشهای زیر را فرا میخوانند:
۱۳ فوریه ۲۰۱۷
این بهروزرسانی شامل تغییرات زیر است:
-
بهروزرسانی منابع و روشهای موجود
-
روش
liveCuepoints.insertبهروز شده است تا نشان دهد که پارامترonBehalfOfContentOwnerدرحالحاضر الزامی است. علاوهبراین، شرح روش بهروز شده است تا مشخص شود که تماسها با آن روش باید توسط حسابی که با «مالک محتوای YouTube» مرتبط است مجاز شود.
-
۹ فوریه ۲۰۱۷
این بهروزرسانی شامل تغییرات زیر است:
-
بهروزرسانیهای منابع و روشهای موجود
-
پارامتر جدید
hlدر روشsuperChatEvents.listبه شما امکان میدهد مشخص کنید که مقدار داراییsnippet.displayStringباید براساس قراردادهای زبان خاصی قالببندی شود. تعریف آن دارایی نیز براساس آن بهروز شده است.مقدار پارامتر باید کد زبانی باشد که در فهرست برگشتی از روش
i18nLanguages.listوجود دارد. مقدار پیشفرضenاست، که یعنی رفتار پیشفرض این است که رشتههای نمایش را همانگونه که در انگلیسی استفاده میشوند قالببندی کند. برای مثال، بهطور پیشفرض، رشته بهصورت$1.00قالببندی میشود نه$1,00.
-
۱ فوریه ۲۰۱۷
این بهروزرسانی شامل تغییرات زیر است:
-
منابع و روشهای جدید
-
منبع جدید
superChatEventنشاندهنده پیام Super Chat است که توسط طرفدار درطول جاریسازی زنده YouTube خریداری شده است. در جاریسازی گپ مستقیم YouTube، «اَبَر گپها» به دو روش از پیامهای دیگر متمایز میشوند:- «اَبَر گپها» با رنگی برجسته میشوند.
- «اَبَر گپها» برای مدت زمان مشخصی در نوار خبر سنجاق میشوند.
رنگ Super Chat، مدت زمانی که در نوار خبر سنجاق میشود، و حداکثر طول پیام همگی براساس مبلغ خرید تعیین میشوند. مرکز راهنمایی YouTube اطلاعات بیشتری درباره Super Chat دارد.
این API از روشی برای فهرست کردن رویدادهای Super Chat برای جاریسازیهای زنده کانال در ۳۰ روز گذشته پشتیبانی میکند. این روش همچنین دادههای مربوط به رویدادهای «تأمین بودجه از طرف طرفداران» (
fanFundingEvents) را از آخرین جاریسازی زنده کانال برمیگرداند.
-
-
بهروزرسانیهای منابع و روشهای موجود
-
ویژگی
snippet.typeاکنون از مقدارsuperChatEventپشتیبانی میکند که نشان میدهد منبع Super Chat را توصیف میکند.علاوهبراین، ویژگی جدید
snippet.superChatDetailsمنبعliveChatMessageو فرزندان آن حاوی اطلاعاتی درباره رویداد Super Chat هستند. -
دارایی
liveStreamاکنون از مقدار2160pبرای داراییcdn.resolutionپشتیبانی میکند.
-
-
خطاهای جدید و بهروزشده
-
این میانای برنامهسازی کاربردی از خطاهای جدید زیر پشتیبانی میکند:
جزئیات خطا liveBroadcasts.insert،liveBroadcasts.updateروشهای liveBroadcasts.insertوliveBroadcasts.updateخطاهای400(Bad Request) را برمیگردانند تا نشان دهند که منبعliveBroadcastکه درج یا بهروزرسانی میشود، حاوی مقدار نامعتبری برای ویژگیcontentDetails.enableEmbedیا ویژگیcontentDetails.projectionاست. دلایل خطای دو خطای جدید بهترتیبinvalidEmbedSettingوinvalidProjectionاست.
-
۱۲ ژانویه ۲۰۱۷
توجه: این یک اعلان منسوخ شدن است.
همزمان با انتشار ویژگی جدید Super Chat، YouTube ویژگی «تأمین بودجه طرفداران» را منسوخ کرده است و «میانای برنامهسازی کاربردی تأمین بودجه طرفداران» در تاریخ ۲۸ فوریه ۲۰۱۷ خاموش خواهد شد. از آن تاریخ:
- روش
liveChatMessages.listدیگر پیامهایی باsnippet.typeازfanFundingEventبرنمیگرداند. بهطور مشابه، منابعliveChatMessageدیگر حاوی شیءsnippet.fanFundingEventDetailsنخواهند بود. - روش
fanFundingEvents.listدیگر داده برنمیگرداند.
۱۱ اوت ۲۰۱۶
این بهروزرسانی شامل تغییرات زیر است:
-
«شرایط خدمات خدمات API YouTube» که بهتازگی منتشر شده است («شرایط بهروزشده») و در وبلاگ مهندسی و توسعهدهندگان YouTube بهطور مفصل درباره آن بحث شده است، مجموعه کاملی از بهروزرسانیها را برای «شرایط خدمات» فعلی ارائه میدهد. علاوهبر شرایط بهروزشده که از تاریخ ۱۰ فوریه ۲۰۱۷ اجرایی خواهد شد، این بهروزرسانی شامل چندین سند پشتیبان است که به توضیح خطمشیهایی که توسعهدهندگان باید از آنها پیروی کنند کمک میکند.
مجموعه کامل اسناد جدید در سابقه بازبینی «شرایط بهروزشده» شرح داده شده است. علاوهبراین، تغییرات آتی در «شرایط بهروزشده» یا در آن اسناد پشتیبانی نیز در آن سابقه ویرایش توضیح داده خواهد شد. میتوانید ازطریق پیوندی در آن سند، در فید RSS که تغییرات در آن سابقه بازبینی را فهرست میکند مشترک شوید.
۲۰ مه ۲۰۱۶
YouTube اکنون از انتقال داده DASH پشتیبانی میکند. برهمین اساس، دارایی liveStream در ویژگی ingestionType از مقدار جدید dash برای شناسایی جاریسازیهای جذبشده به YouTube بااستفاده از DASH پشتیبانی میکند.
راهنمای جدید ارسال محتوای زنده YouTube ازطریق DASH دستورالعملهایی برای استفاده از قالب ارسال DASH برای جاریسازی دادههای زنده در YouTube از کدبند ارائه میدهد. هدف از این سند کمک به فروشندگان کدبند برای افزودن پشتیبانی از ارسال DASH به محصولاتشان است.
۱۸ آوریل ۲۰۱۶
این بهروزرسانی شامل تغییرات زیر است:
-
بهروزرسانیهای منابع و روشهای موجود
liveStreamبهروزرسانی منبع-
YouTube اکنون از جاریسازیهای زنده با وضوح ۱۴۴۰ پیکسل با سرعت ۳۰ یا ۶۰ فریم در ثانیه پشتیبانی میکند.
علاوهبراین، منبع
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باشد.
-
-
خطاهای جدید و بهروزشده
-
این میانای برنامهسازی کاربردی از خطاهای جدید زیر پشتیبانی میکند:
جزئیات خطا 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مشخص کنید.
- اگر برای هریک از این سه ویژگی مقداری مشخص نکنید، میانای برنامهسازی کاربردی خطای
formatRequiredرا برمیگرداند. - اگر مقداری برای
cdn.resolutionمشخص کنید اما برایcdn.frameRateمشخص نکنید، API خطایframeRateRequiredرا برمیگرداند. - اگر مقداری برای
cdn.frameRateمشخص کنید اما برایcdn.resolutionمشخص نکنید، API خطایresolutionRequiredبرمیگرداند.
liveStreams.updateاگر درخواست سعی کند مقدار هرکدام از ویژگیهای تغییرناپذیر زیر را اصلاح کند، روش liveStreams.updateخطای403(Forbidden) را برمیگرداند:cdn.formatcdn.frameRatecdn.ingestionTypecdn.resolution
reasonدر پاسخ خطاliveStreamModificationNotAllowedاست. -
-
۱۸ دسامبر ۲۰۱۵
قوانین اتحادیه اروپا (EU) ایجاب میکند که شفافسازیهای خاصی به کاربران نهایی در اتحادیه اروپا ارائه شود و موافقت آنها کسب شود. بنابراین، برای کاربران نهایی در اتحادیه اروپا، باید از خطمشی رضایت کاربر اتحادیه اروپا پیروی کنید. ما اعلانی درباره این الزام در شرایط خدمات YouTube API اضافه کردهایم.
۱۷ دسامبر ۲۰۱۵
این بهروزرسانی شامل تغییرات زیر است:
-
منابع و روشهای جدید
-
این API از چندین منبع جدید برای پشتیبانی از عملکرد گپ برای پخشهای زنده پشتیبانی میکند. YouTube از عملکرد گپ مستقیم درطول پخشهای زنده فعال پشتیبانی میکند و این منابع و روشهای آنها از بازیابی پیامهای گپ و همچنین عملکردهای مدیریتی برای گپ پشتیبانی میکنند.
منابع liveChatMessageاین منبع نشاندهنده پیامی در گپ مستقیم YouTube است. YouTube از چندین نوع پیام، ازجمله پیامهای نوشتاری و رویدادهای «تأمین بودجه از طرفداران» پشتیبانی میکند. برخیاز انواع پیامها مرحله خاصی از گپ را مشخص میکنند، مانند شروع دوره مختص حامیان مالی یا پایان گپ. این میانای برنامهسازی کاربردی از روشهای فهرست کردن، درج کردن، و حذف کردن پیامهای گپ مستقیم پشتیبانی میکند. liveChatModeratorsاین منبع گرداننده گپ را شناسایی میکند. گردانندگان میتوانند برخیاز عملکردهای مدیریتی را انجام دهند، مانند ممنوع کردن کاربران از گپ یا حذف پیامها. این API از روشهایی برای فهرست کردن، درج کردن، و حذف کردن مدیران گپ مستقیم پشتیبانی میکند. liveChatBansاین منبع کاربری را شناسایی میکند که از پست کردن پیام در یک گپ مستقیم خاص منع شده است. ممنوعیتها میتوانند موقت یا دائمی باشند. این میانای برنامهسازی کاربردی از روشهایی برای درج و حذف ممنوعیتهای گپ مستقیم پشتیبانی میکند. fanFundingEventsاین منبع نشاندهنده رویداد «تأمین بودجه طرفداران» در یک کانال YouTube است. «تأمین بودجه از طرفداران» راهی برای بینندگان فراهم میکند تا بهطور داوطلبانه با حمایت مالی یکباره از «محتواسازان YouTube» حمایت کنند.
روشfanFundingEvents.listدر API رویدادهای «حمایت مالی طرفداران» کانال را فهرست میکند. رویدادهای «تأمین بودجه طرفداران» که ازطریق گپ مستقیم درطول پخش مستقیم تحت مالکیت کانال شروع میشوند، همچنین باعث ارسال پیامfanFundingEventبه گپ مستقیم پخش میشوند.
در مرکز راهنمایی YouTube درباره «تأمین بودجه از طرفداران» بیشتر بدانید.sponsorsمنبع sponsorحامی مالی کانال YouTube را شناسایی میکند. حامی هزینه ماهانهای به کانال پرداخت میکند. نشانی در کنار پیامهای حامی مالی در گپهای مستقیم کانال نشان داده میشود و حامیان مالی همچنین میتوانند در گپهای مستقیم انحصاری برای حامیان مالی کانال شرکت کنند، درصورتیکه چنین گپهایی وجود داشته باشد.
روشsponsors.listمیانای برنامهسازی کاربردی حامیان مالی کانال را فهرست میکند. وقتی کاربران درطول پخش مستقیم متعلق به یک کانال برای حمایت مالی از آن کانال ثبتنام میکنند، API همچنین یکnewSponsorEventپیام به گپ مستقیم پخش اضافه میکند.
در مرکز راهنمایی YouTube درباره حمایتهای مالی بیشتر بدانید.
-
-
بهروزرسانی منابع و روشهای موجود
-
منبع
liveBroadcastحاوی داراییهای جدید زیر است:مشخصات snippet.liveChatIdشناسه گپ مستقیم YouTube برای همهفرستی. با این شناسه، میتوانید از روشهای منبع liveChatMessageبرای بازیابی، درج، یا حذف پیامهای گپ استفاده کنید. همچنین میتوانید گردانندگان گپ را اضافه یا حذف کنید، کاربران را از شرکت در گپهای مستقیم منع کنید، یا ممنوعیتهای موجود را بردارید.contentDetails.closedCaptionsTypeتوجه: این دارایی دارایی contentDetails.enableClosedCaptionsرا جایگزین میکند.
این دارایی نشان میدهد که آیا زیرنویس ناشنوایان برای همهفرستی شما فعال است یا نه و اگر فعال است، چه نوع زیرنویس ناشنوایانی ارائه میدهید:-
closedCaptionsDisabled: زیرنویس ناشنوایان برای پخش مستقیم غیرفعال است. closedCaptionsHttpPost: شما زیرنویس ناشنوایان را ازطریق HTTP POST به یک نشانی وب انتقال مرتبط با جاریسازی زنده خود ارسال خواهید کرد.closedCaptionsEmbedded: زیرنویس ناشنوایان بااستفاده از قالبهای EIA-608 و/یا CEA-708 در جاریسازی ویدیویی کدبندی خواهد شد.
contentDetails.enableClosedCaptionsاین ویژگی از ۱۷ دسامبر ۲۰۱۵ منسوخ شده است. بهجای آن، از خصوصیت contentDetails.closedCaptionsTypeاستفاده کنید. برای کارخواههای API که درحالحاضر از این ویژگی استفاده میکنند:- تنظیم مقدار خصوصیت روی
trueمعادل تنظیم خصوصیتcontentDetails.closedCaptionsTypeرویclosedCaptionsHttpPostاست. - تنظیم مقدار خصوصیت روی
falseمعادل تنظیم خصوصیتcontentDetails.closedCaptionsTypeرویclosedCaptionsDisabledاست.
-
-
پارامتر جدید
broadcastTypeدر روشliveBroadcasts.listبه شما امکان میدهد پاسخ API را فیلتر کنید تا شامل پخشهای رویداد، پخشهای دائمی، یا همه پخشها شود.همهفرستی پایدار همهفرستیای است که همیشه وجود دارد و به رویداد خاصی وابسته نیست. بهطور خاص، پخش پیشفرض کانال یک پخش پایدار است و ازطریق داشبورد زنده در «استودیوِ محتواسازان YouTube» قابلدسترسی است. دیگر همهفرستیهای کانال همهفرستی رویداد هستند.
-
-
فیلد
status.healthStatus.configurationIssues[].typeمنبعliveStreamخطاهای وضعیت سلامت جدید زیر را گزارش میکند:خطاها audioTooManyChannelsصدا بیش از دو کانال دارد، اما فقط یک (مونو) یا دو کانال (استریو) پشتیبانی میشود. لطفاً تعداد کانالهای صوتی را درست کنید. frameRateHighنرخ فریم کنونی بیشازحد زیاد است. لطفاً نرخ فریم را روی فریم در ثانیه یا کمتر تنظیم کنید.%(framerate)s -
تاریخ انتشار بهروزرسانی قبلی اسناد اصلاح شد.
-
خطاهای جدید و بهروزشده
-
علاوهبر خطاهای تعریفشده برای منابع جدید فهرستشده در بالا، این «میانای برنامهسازی کاربردی» از خطاهای جدید زیر پشتیبانی میکند:
جزئیات خطا liveBroadcasts.updateکد پاسخ HTTP forbidden (403)استدلال closedCaptionsTypeModificationNotAllowedشرح مقدار contentDetails.closedCaptionsTypeفقط زمانی میتواند اصلاح شود که همهفرستی در وضعیتcreatedیاreadyباشد.liveBroadcasts.updateکد پاسخ HTTP invalidValue (400)استدلال invalidEnableClosedCaptionsشرح در منبع liveBroadcast، مقدار ویژگی contentDetails.enableClosedCaptionsبا مقدار تنظیمcontentDetails.closedCaptionTypeناسازگار است. منبع را بهگونهای اصلاح کنید که فقط یکی از این دو ویژگی را داشته باشد، سپس درخواست را دوباره ارسال کنید.
-
۱۹ اوت ۲۰۱۵
این بهروزرسانی شامل تغییرات زیر است:
-
منابع و روشهای جدید
-
توجه: اسناد مربوط به منبع
liveChatو روشهای آن محرمانه است و فقط برای شرکای منتخب YouTube قابلمشاهده است.منبع جدید
liveChatحاوی نظری است که درطول همهفرستی زنده در YouTube پست شده است. این API از دو روش برای این منبع پشتیبانی میکند:روشها liveChats.listفهرست کردن پیامهای گپ مستقیم برای یک همهفرستی. liveChats.insertپیام گپ جدیدی ایجاد کنید. پیامهای گپ مستقیم را فقط زمانی میتوان بازیابی و پست کرد که همهفرستی زنده باشد.
-
-
بهروزرسانیهای منابع و روشهای موجود
-
منبع
liveStreamحاوی داراییهای جدید زیر است:مشخصات snippet.isDefaultStreamنشان میدهد که آیا این جاریسازی جاریسازی پیشفرض برای کانال است یا خیر. جاریسازی پیشفرض کانال بهطور نامحدود وجود دارد، زمان شروع یا پایان مرتبط با آن ندارد و نمیتوان آن را حذف کرد. برای اطلاعات بیشتر درباره نحوه عملکرد جاریسازیهای پیشفرض، تعریف دارایی را ببینید. status.healthStatusاین شیء حاوی اطلاعاتی است که میتواند برای شناسایی، تشخیص، و حل مشکلات جاریسازی استفاده شود. این شیء شامل تعدادی از داراییهای فرزند است که به شما کمک میکند سلامت یک جاریسازی زنده ویدیویی را ارزیابی کنید.
بهطور خاص، شیءstatus.healthStatus.configurationIssues[]مشکلات تأثیرگذار بر یک جاریسازی ویدیویی را فهرست میکند. سند جدیدی با عنوان مشکلات پیکربندی برای منابع جاریسازی زنده همه مشکلاتی را که API گزارش میکند فهرست میکند.contentDetails.isReusableنشان میدهد که آیا جاریسازی قابلاستفاده مجدد است یا خیر، به این معنی که میتواند به چندین پخش متصل شود. این امر رایج است که پخشکنندهها از همان جاریسازی برای بسیاری از پخشهای مختلف استفاده مجدد کنند، اگر آن پخشها در زمانهای مختلف رخ دهند. -
منبع
liveBroadcastحاوی ویژگیهای جدید زیر است:مشخصات snippet.isDefaultBroadcastنشان میدهد که آیا این همهفرستی، همهفرستی پیشفرض کانال است یا نه. وقتی کانال YouTube برای جاریسازی زنده فعال میشود، YouTube یک جاریسازی پیشفرض و یک همهفرستی پیشفرض برای کانال ایجاد میکند. جاریسازی نحوه ارسال ویدیو زنده توسط مالک کانال به YouTube را تعریف میکند و همهفرستی نحوه مشاهده جاریسازی پیشفرض توسط بینندگان را مشخص میکند. برای اطلاعات بیشتر درباره نحوه عملکرد همهفرستیهای پیشفرض، تعریف ویژگی را ببینید. contentDetails.enableLowLatencyنشان میدهد که آیا این پخش باید برای جاریسازی با تأخیر کم کدبندی شود یا نه. جاریسازی با تأخیر کم میتواند زمان لازم برای نمایان شدن ویدیو برای کاربرانی که درحال تماشای همهفرستی هستند را کاهش دهد، هرچند میتواند بر وضوح برای بینندگان جاریسازی نیز تأثیر بگذارد. statistics.totalChatCountتعداد کل پیامهای گپ مستقیم مرتبط با همهفرستی. اگر همهفرستی برای کاربر قابلمشاهده باشد و ویژگی گپ مستقیم فعال باشد، این دارایی و مقدار آن وجود دارد. توجه داشته باشید که این دارایی پساز پایان پخش، مقدار را مشخص نخواهد کرد. بنابراین، این دارایی تعداد پیامهای گپ برای یک ویدیو بایگانیشده از یک پخش زنده تکمیلشده را شناسایی نمیکند.
-
-
خطاهای جدید و بهروزشده
-
علاوهبر خطاهای تعریفشده برای منبع جدید
liveChat، میانای برنامهسازی کاربردی از خطای جدید زیر پشتیبانی میکند:جزئیات خطا liveStreams.updateکد پاسخ HTTP forbidden (403)استدلال liveStreamModificationNotAllowedشرح API به شما اجازه نمیدهد که یک پخش زنده قابلاستفاده مجدد را به غیرقابلاستفاده مجدد تغییر دهید یا برعکس. برای اطلاعات بیشتر، درک همهفرستیها و جاریسازیها را ببینید
-
۲۱ مه ۲۰۱۵
این بهروزرسانی شامل تغییرات زیر است:
-
YouTube اکنون از جاریسازی زنده ویدیو با سرعت ۶۰ فریم در ثانیه (fps) پشتیبانی میکند، که به معنای بازپخش روانتر برای بازیها و سایر ویدیوهای با حرکت سریع است. وقتی جاریسازی زنده را در YouTube با نرخ ۶۰ فریم در ثانیه شروع میکنید، YouTube این جاریسازی را با نرخ ۳۰ فریم در ثانیه در دستگاههایی که هنوز امکان مشاهده با نرخ فریم بالا را ندارند نیز دردسترس قرار میدهد.
دارایی
cdn.formatمنبعliveStreamاز دو مقدار جدید برای این ویژگی پشتیبانی میکند:720p_hfrو1080p_hfr.برای اطلاعات بیشتر درباره این ویژگی، به وبلاگ محتواسازان YouTube مراجعه کنید.
۲۱ اوت ۲۰۱۴
این بهروزرسانی شامل تغییرات زیر است:
-
تعریف پارامتر
walltimeروشliveBroadcasts.controlبهروز شده است تا یادآوری شود که مقدار دارایی در قالب ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) مشخص شده است. -
اکنون API از خطاهای زیر پشتیبانی میکند:
نوع خطا جزئیات خطا شرح insufficientPermissionsliveStreamingNotEnabledاگر کاربری که درخواست API را مجاز کرده است برای جاریسازی زنده ویدیو در YouTube فعال نشده باشد، همه روشهای منابع liveBroadcastوliveStreamاین خطا را برمیگردانند. جزئیاتی که توضیح میدهد چرا کاربر نمیتواند ویدیو زنده جاریسازی کند ممکن است در تنظیمات کانال کاربر در https://www.youtube.com/features دردسترس باشد.rateLimitExceededuserRequestsExceedRateLimitهر دو روش liveBroadcasts.insertوliveStreams.insertاین خطا را برمیگردانند تا نشان دهند که کاربر درخواستهای زیادی را در یک بازه زمانی مشخص ارسال کرده است.
۲ مه ۲۰۱۴
این بهروزرسانی شامل تغییرات زیر است:
-
توضیحات منبع
liveStreamو روشliveBroadcasts.bindبهروز شدهاند تا نشان دهند که یک پخش فقط میتواند به یک جریان ویدیویی محدود شود، اما یک جریان ویدیویی میتواند به بیش از یک پخش محدود شود. این تغییر صرفاً اصلاحی در مستندات است؛ عملکرد زیربنایی API تغییر نکرده است. -
ویژگی
contentDetails.monitorStream.enableMonitorStreamمنبعliveBroadcastبهروزرسانی شده است تا توضیح دهد که اگر مقدار ویژگیtrueباشد، باید همهفرستی خود را به حالتtestingانتقال دهید تا بتوانید آن را به حالتliveانتقال دهید. (اگر مقدار داراییfalseاست، همهفرستی شما نمیتواند مرحلهtestingداشته باشد، بنابراین میتوانید همهفرستی را مستقیماً به وضعیتliveانتقال دهید. -
ویژگی
settings.offsetTimeMsمنبعliveCuepointبهروزرسانی شده است تا توجه داشته باشید که اگر همهفرستی شما جاریسازی پایشگر ندارد، نباید مقداری برای این ویژگی مشخص کنید. -
اکنون همه روشهای منابع
liveBroadcastوliveStreamاز پارامترهایonBehalfOfContentOwnerوonBehalfOfContentOwnerChannelپشتیبانی میکنند. این پارامترها به شما امکان میدهند از همان اطلاعات اعتباری مجوز برای تکمیل درخواستهای API برای کانالهای مختلف مرتبط با یک مالک محتوا استفاده کنید. -
مستندات روش
liveCuepoints.insertبهروز شده است تا یادآوری شود که هنگام فراخوانی آن روش میتوانید مقداری برای داراییsettings.walltimeتنظیم کنید. -
مستندات خطا اکنون کد پاسخ HTTP را برای هر نوع خطا مشخص میکند.
-
این میانای برنامهسازی کاربردی اکنون از خطای زیر پشتیبانی میکند:
نوع خطا جزئیات خطا شرح insufficientPermissionslivePermissionBlockedاگر کاربری که درخواست را مجاز کرده است نتواند ویدیو زنده در YouTube جاریسازی کند، روشهای liveBroadcasts.insert،liveBroadcasts.transition، وliveStreams.insertاین خطا را برمیگردانند. جزئیاتی که توضیح میدهد چرا کاربر نمیتواند ویدیو زنده جاریسازی کند ممکن است در تنظیمات کانال کاربر در https://www.youtube.com/features دردسترس باشد. -
خطای
invalidScheduledStartTimeروشliveBroadcasts.insertبهروزرسانی شده است تا مشخص شود که زمان شروع برنامهریزیشده باید به تاریخ فعلی نزدیک باشد تا بتوان پخش را بهطور قابلاعتمادی در آن زمان برنامهریزی کرد.
۱۳ دسامبر ۲۰۱۳
این بهروزرسانی شامل تغییرات زیر است:
-
دارایی جدید
status.recordingStatusمنبعliveBroadcastوضعیت فعلی همهفرستی را مشخص میکند. -
ویژگی جدید
contentDetails.enableClosedCaptionsمنبعliveBroadcastنشان میدهد که آیا زیرنویس ناشنوایان میتواند برای پخش همهفرستی دریافت شود یا نه. مقدار دارایی را میتوانید هنگام درج یا بهروزرسانی همهفرستی تنظیم کنید، اما پساز اینکه همهفرستی در وضعیتtestingیاliveقرار گرفت، نمیتوانید آن را بهروزرسانی کنید. اگر این دارایی را رویtrueتنظیم کنید، منبعliveStreamکه به همهفرستی پیوند داده شده است نشانی وب انتقال داده را برای استفاده در زیرنویس ناشنوایان همهفرستی مشخص میکند. -
ویژگی
snippet.scheduledEndTimeمنبعliveBroadcastاکنون از همهفرستیهایی که برای ادامه نامحدود زمانبندی شدهاند پشتیبانی میکند. با این تغییر، این دارایی دیگر در درخواستهایliveBroadcasts.insertوliveBroadcasts.updateالزامی نیست.
اگر منبعliveBroadcastرا بازیابی کنید که مقدار این دارایی را مشخص نمیکند، پخش زنده برای ادامه نامحدود زمانبندی میشود. بهطور مشابه، اگر روشliveBroadcasts.insertیاliveBroadcasts.updateرا فراخوانی کنید و مقداری برای این ویژگی مشخص نکنید، همهفرستی برای ادامه نامحدود زمانبندی خواهد شد. -
دارایی
liveBroadcastبا داراییcontentDetails.recordFromStartکه ازقبل مقدار پیشفرضtrueرا داشت، اکنون فقط درصورتی میتواند رویfalseتنظیم شود که کانال پخش اجازه داشته باشد ضبطها را برای همهفرستیهای زنده غیرفعال کند.اگر کانال شما اجازه غیرفعال کردن ضبط را نداشته باشد و شما تلاش کنید یک پخش را با ویژگی
recordFromStartتنظیم شده رویfalseدرج کنید، API خطایForbiddenرا برمیگرداند. علاوهبراین، اگر کانال شما این اجازه را نداشته باشد و تلاش کنید یک همهفرستی را بهروز کنید تا ویژگیrecordFromStartرا رویfalseتنظیم کنید، API خطایmodificationNotAllowedرا برمیگرداند. -
منبع
liveBroadcastدیگر حاوی داراییenableArchiveنیست که در شرح داراییهایcontentDetails.enableDvrوcontentDetails.enableEmbedذکر شده بود. -
فهرست مقادیر معتبر برای ویژگی
status.lifeCycleStatusمنبعliveBroadcastبهروزرسانی شده است تا شرح هر وضعیت را دربرگیرد. -
ویژگی جدید
settings.walltimeمنبعliveCuepointتاریخ و زمانی را که نقطه راهنما باید درج شود مشخص میکند. اگر درخواستی سعی کند نقطه نشانهای را درج کند که مقداری را برای این ویژگی و ویژگیsettings.offsetTimeMsمشخص میکند، API خطا برمیگرداند. -
شیء جدید
contentDetailsدر منبعliveStreamحاوی اطلاعاتی درباره جاریسازی است. درحالحاضر، تنها ویژگی شیءcontentDetails.closedCaptionsIngestionUrlاست که نشانی وب دریافت را برای زیرنویس ناشنوایان مرتبط با جاریسازی ویدیویی مشخص میکند. -
فهرست مقادیر معتبر برای ویژگی
status.streamStatusمنبعliveStreamبهروزرسانی شده است تا شرح هر وضعیت را دربرگیرد. -
پارامتر جدید
walltimeدر روشliveBroadcasts.controlبه شما امکان میدهد تاریخ و زمان وقوع تغییر لوح را مشخص کنید. اگر درخواستی مقداری برای این پارامتر و پارامترoffsetTimeMsمشخص کند، API خطا میدهد. -
در پاسخ میانای برنامهسازی کاربردی به درخواست
liveBroadcasts.list، مقدار ویژگیkindازyoutube#liveBroadcastListبهyoutube#liveBroadcastListResponseتغییر کرده است. -
در پاسخ API به درخواست
liveStreams.list، مقدار داراییkindازyoutube#liveStreamListبهyoutube#liveStreamListResponseتغییر کرده است. -
خصوصیت
eventIdهم ازliveBroadcastListResponseو هم ازliveStreamListResponseمنسوخ شده است. -
این میانای برنامهسازی کاربردی از خطاهای جدید زیر پشتیبانی میکند:
نوع خطا جزئیات خطا شرح invalidValueconflictingTimeFieldsاگر درخواست شما مقادیری را برای پارامترهای offsetTimeMsوwalltimeمشخص کند، روشliveBroadcasts.controlاین خطا را برمیگرداند. درخواست میتواند هر دو پارامتر را حذف کند یا مقداری برای یکی از دو پارامتر مشخص کند.invalidValueinvalidWalltimeاگر مقدار پارامتر walltimeنامعتبر باشد، روشliveBroadcasts.controlاین خطا را برمیگرداند.forbiddenenableClosedCaptionsModificationNotAllowedاگر بخواهید مقدار contentDetails.enableClosedCaptionsرا بهروز کنید و وضعیت همهفرستیcreatedیاreadyنباشد، روشliveBroadcasts.updateاین خطا را برمیگرداند.invalidValueconflictingTimeFieldsاگر درخواست شما مقادیری را برای ویژگیهای settings.offsetTimeMsوsettings.walltimeمشخص کند، روشliveCuepoints.insertاین خطا را برمیگرداند. در یک درخواست میتوان هر دو دارایی را حذف کرد یا برای یکی از دو دارایی مقدار مشخصی تعیین کرد.علاوهبراین، روش
liveStreams.updateدیگر از خطایcdnRequiredمشابه خطایی که روشliveStreams.insertپشتیبانی میکند پشتیبانی نمیکند.
۱۰ مه ۲۰۱۳
این بهروزرسانی شامل تغییرات زیر است:
-
YouTube دیگر ویژگیها و سرویسهای آزمایشی API را شناسایی نمیکند. درعوض، اکنون فهرستی از میاناهای برنامهسازی کاربردی YouTube که مشمول خطمشی منسوخ کردن هستند ارائه میدهیم.
۲ مه ۲۰۱۳
این بهروزرسانی شامل تغییرات زیر است:
-
روش جدید
liveBroadcasts.controlبه شما امکان میدهد تنظیمات نمایش را برای لوحی که در جاریسازی همهفرستی برای همهفرستیای که ازقبل درحال انجام است نمایش داده میشود تغییر دهید. اگر جاریسازی همهفرستی شما تأخیر دارد، میتوانید از این روش برای مشخص کردن زمان جبران تأخیر هنگام وقوع تغییر لوح درخواستی استفاده کنید. -
تعاریف ویژگیهای زیر بهروزرسانی شده است تا توضیح دهد که اگر بخش
contentDetailsمنبعliveBroadcastرا بهروزرسانی میکنید، باید مقادیر ویژگی را تنظیم کنید: -
status.streamStatusمنبعliveStreamدیگر از مقدارdeletedبهعنوان وضعیت احتمالی جاریسازی پشتیبانی نمیکند. -
اطلاعاتی که «میانای برنامهسازی کاربردی» برای بسیاری از پیامهای خطا برمیگرداند اصلاح شده است تا بهتر توضیح دهد چرا خطاهای خاصی رخ دادهاند. این میانای برنامهسازی کاربردی از چندین خطای جدید نیز پشتیبانی میکند.
۲۷ مارس ۲۰۱۳
این بهروزرسانی شامل تغییرات زیر است:
-
خصوصیتهای زیر در منبع
liveBroadcastتغییر کرده است:- نام دارایی
startWithSlateCuepointبهstartWithSlateتغییر کرده است. - نام دارایی
enableArchiveبهrecordFromStartتغییر کرده است. - شیء
slateSettingsمنسوخ شده است و از مستندات برداشته شده است. پیامهای خطا مربوط به شیءslateSettingsیا داراییهای آن نیز برداشته شده است. درنهایت، بخش «نمایش لوحها» در راهنمای شروع به کار برداشته شده است.
- نام دارایی
-
این API دیگر از قابلیت درج تختههای تبلیغاتی در جاریسازی بااستفاده از روش
liveCuepoints.insertپشتیبانی نمیکند. اسناد زیر برای انعکاس این تغییر بهروز شده است:-
صفحه نمایه، راهنمای شروع به کار، و آموزش عمر همهفرستی دیگر به این عملکرد اشاره نمیکنند.
-
ویژگی
settings.cueTypeمنبعliveCuepointدیگر ازslateبهعنوان مقدار ویژگی پشتیبانی نمیکند. (تنها مقدار پشتیبانیشدهadاست. -
دارایی
settings.eventStateمنبعliveCuepointمنسوخ شده است و از مستندات برداشته شده است.
-
۱۸ مارس ۲۰۱۳
این بهروزرسانی شامل تغییرات زیر است:
-
همه پیامهای خطای API بهروز شدهاند تا خطاهای احتمالی را واضحتر توضیح دهند و درصورت امکان، راهنماییهایی درباره نحوه رفع آنها ارائه دهند.
-
اکنون ممکن است میانای برنامهسازی کاربردی چند خطای جدید برگرداند. فهرست زیر خطا و روش API را که ممکن است آن خطا را برگرداند مشخص میکند:
liveBroadcasts.insert– زمان پایان زمانبندیشده برای همهفرستی باید بعداز زمان شروع زمانبندیشده آن باشد.liveBroadcasts.insert– همهفرستی وضعیت حریم خصوصی نامعتبری را مشخص میکند.-
liveBroadcasts.update– منبع حاوی مقدار برای داراییcontentDetails.enableArchiveنیست یا مقداری برای آن تنظیم نکرده است. liveBroadcasts.update– منبع حاوی مقداری برای ویژگیcontentDetails.enableContentEncryptionنیست یا مقداری برای آن تنظیم نمیکند.-
liveBroadcasts.update– منبع حاوی مقدار برای داراییcontentDetails.enableDvrنیست یا مقداری برای آن تنظیم نکرده است. liveStreams.insert– عنوان گلچین باید بین ۱ تا ۱۲۸ نویسه داشته باشد.-
liveStreams.update– منبع حاوی مقدار برای داراییsnippet.titleنیست یا مقداری برای آن تنظیم نکرده است.
-
اسناد منبع
liveStreamبهروزرسانی شده است تا نشان دهد که چندپخشی و WebM روشهای انتقال پشتیبانیشده نیستند، همانطور که قبلاً اشاره شده بود. فهرست قالبهای داراییcdn.formatبهروزرسانی شده است و شیءcdn.multicastIngestionInfoو داراییهای فرزند آن از اسناد منبع برداشته شدهاند. علاوهبراین،httpاز فهرست مقادیرcdn.ingestionTypeپشتیبانیشده برداشته شده است.