این صفحه تغییرات YouTube Live Streaming API و بهروزرسانیهای اسناد را فهرست میکند.
۱۲ اکتبر ۲۰۲۶
این بهروزرسانی شامل تغییرات زیر است:
-
ویژگی
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پشتیبانی میکند. -
ویژگی جدید
snippet.giftEventDetailsمنبعliveChatMessageو فرزندان آن حاوی اطلاعاتی درباره رویداد هدیه است.
۱۲ ژانویه ۲۰۲۶
اکنون میانای برنامهسازی کاربردی از فعال کردن میانویدیویی و درج خودکار میانویدیویی برای پخشهای زنده پشتیبانی میکند.
مالک همهفرستی میتواند میانپخشها را برای همهفرستی فعال کند، بهشرطی که همهفرستی واجدشرایط میانپخش باشد. مالک همچنین میتواند هرزمان که بخواهد آگهیهای میانویدیویی را برای یک پخش خاموش کند.
اگر همهفرستی برای آگهی میانویدیویی فعال باشد، مالک همهفرستی میتواند انتخاب کند که درج خودکار آگهی میانویدیویی را فعال کند. همچنین میتوانند آگهیهای خودکار را هرزمان بخواهند برای همهفرستی خاموش کنند.
وقتی مالک همهفرستی آگهیهای خودکار را فعال میکند، میتواند یکی از گزینههای زیر را انتخاب کند:
- اجازه دهید YouTube درج آگهی میانویدیویی را بهینهسازی کند. این گزینه از سه حالت پشتیبانی میکند:
- کم: درآمد بالقوه کمتر، تجربه بیننده با وقفه کمتر
- متوسط: درآمد بالقوه متوسط، تجربه بیننده متعادل
- بالا: درآمد بالقوه بیشتر، تجربه بیننده با وقفه بیشتر
- استراتژی و فاصله زمانی درج آگهی میانویدیویی را بهطور دستی پیکربندی کنید. دراینصورت، مالک باید دو پارامتر را تنظیم کند:
- استراتژی زمانبندی برای نقاط نشانه آگهی. نقطههای راهنما را میتوان بهطور همزمان برای همه بینندگان درج کرد یا زمانبندی نقطههای راهنما میتواند برای هر بیننده متفاوت باشد. راهبرد دوم به YouTube امکان میدهد تا نقاط نشان را با نرخ بالاتری زمانبندی کند که به بینندگان اجازه میدهد نقاط نشان را زمانی که واجدشرایط هستند دریافت کنند.
- طول فاصله بین وقفههای آگهی میانویدیویی.
این مستندات نشاندهنده تغییرات زیر در میانای برنامهسازی کاربردی برای پشتیبانی از این ویژگی است:
- شیء
monetizationDetailsمنبعliveBroadcastحاوی فیلدهایی برای فعالسازی آگهی میانویدیویی و پیکربندیهای آگهی خودکار است. - از روش
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 تلاشها برای استفاده از آن منابع برای پخش ویدیو را نادیده خواهد گرفت.
اگر برنامه شما تحتتأثیر قرار گرفته است، لطفاً به اسناد زیر مراجعه کنید که به شما کمک میکند برنامهتان را بهروز کنید تا پساز این تغییر همچنان طبق انتظار کار کند:
- راهنمای انتقال جدیدی سعی میکند مراحلی را توضیح دهد که ممکن است توسعهدهندگان لازم باشد در کارخواهان میانای برنامهسازی کاربردی که درحالحاضر از همهفرستیها و جاریسازیهای پیشفرض استفاده میکنند به آنها بپردازند.
- راهنمای Life of a broadcast شما را در فرایندی گامبهگام راهنمایی میکند که نحوه ایجاد و مدیریت رویداد زنده در 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به هر کاربر میانای برنامهسازی کاربردی امکان میدهد وضعیت «ساختهشده برای کودکان» را برای همهفرستی بازیابی کند. برای مثال، ممکن است وضعیت براساس مقدار ویژگیselfDeclaredMadeForKidsتعیین شود. برای اطلاعات بیشتر درباره تنظیم مخاطب برای کانال، ویدیوها، یا همهفرستیهایتان، به مرکز راهنمایی YouTube مراجعه کنید.
-
ویژگی
-
در YouTube Data API، منبع
channelاز ویژگیهای جدیدselfDeclaredMadeForKidsوmadeForKidsنیز پشتیبانی میکند.
همچنین «شرایط خدمات سرویسهای YouTube API» و «خطمشیهای توسعهدهنده» را بهروز کردهایم. لطفاً برای کسب اطلاعات بیشتر، به شرایط خدمات سرویسهای YouTube API - سابقه بازبینی مراجعه کنید. تغییرات در «شرایط خدمات سرویسهای YouTube API» و «خطمشیهای توسعهدهنده» از ۱۰ ژانویه ۲۰۲۰ بهوقت اقیانوس آرام اعمال خواهد شد.
۲۰ اوت ۲۰۱۹
بخش الزامات راهنمای ارسال محتوای زنده YouTube ازطریق HLS با دو تغییر بهروزرسانی شده است:
- این سند توضیح میدهد که بهترین روش این است که هم بخشهای تأییدشده و هم بخشهای معوقه در هر «فهرست پخش رسانه» گنجانده شوند. این کار احتمال رد شدن بخش را درصورت ازدست رفتن «فهرست پخش رسانه» در سمت سرور کاهش میدهد. برای مثال، میتوانید حداکثر دو بخش تأییدشده و حداکثر پنج بخش معوقه را در هر «فهرست پخش رسانه» بگنجانید.
- اکنون ارسال «فهرست پخش رسانه» برای هر «بخش رسانه» الزامی است. این کار به سرور امکان میدهد درصورت ازدست رفتن «فهرست پخش رسانه» بهسرعت بازیابی شود. این روش قبلاً بهعنوان توصیه فهرست شده بود.
۲۸ ژوئن ۲۰۱۹
YouTube اکنون از انتقال داده HLS پشتیبانی میکند. بر این اساس، ویژگی ingestionType منبع liveStream از مقدار جدید hls برای شناسایی جاریسازیهای منتقلشده به YouTube بااستفاده از HLS پشتیبانی میکند.
راهنمای جدید ارسال محتوای زنده YouTube ازطریق HLS دستورالعملهایی برای استفاده از HLS جهت جاریسازی محتوای زنده به YouTube از کدبند ارائه میدهد. هدف این راهنما کمک به فروشندگان کدبند برای افزودن پشتیبانی از ارسال HLS به محصولاتشان است.
۴ آوریل ۲۰۱۹
این بهروزرسانی شامل تغییرات زیر است:
-
سند مرجع API بهروزرسانی شده است تا موارد استفاده رایج برای هر روش را بهتر توضیح دهد و نمونههای کد پویا و با کیفیت بالا را ازطریق ابزاره APIs Explorer ارائه دهد. برای مشاهده نمونه، به مستندات روش
liveBroadcasts.listمراجعه کنید. اکنون دو عنصر جدید در صفحههایی که روشهای میانای برنامهسازی کاربردی را شرح میدهند وجود دارد:-
ابزارک API Explorer به شما امکان میدهد دامنههای مجوز را انتخاب کنید، پارامترهای نمونه و مقادیر ویژگی را وارد کنید، و سپس درخواستهای واقعی API را ارسال کنید و پاسخهای واقعی API را ببینید. این ابزارک همچنین نمای تمامصفحهای ارائه میدهد که نمونههای کد کامل را نشان میدهد، که بهطور پویا بهروزرسانی میشوند تا از دامنهها و مقادیری که وارد کردهاید استفاده کنند.
-
بخش موارد استفاده رایج یک یا چند مورد استفاده رایج را برای روش توضیحدادهشده در صفحه شرح میدهد. برای مثال، میتوانید روش
liveBroadcasts.listرا برای بازیابی دادههای مربوط به یک همهفرستی خاص یا بازیابی دادههای مربوط به همهفرستیهای کاربر فعلی فراخوانی کنید.میتوانید از پیوندهای موجود در آن بخش برای پر کردن API Explorer با مقادیر نمونه برای مورد استفادهتان یا برای باز کردن API Explorer تمامصفحه با مقادیری که قبلاً پر شدهاند استفاده کنید. هدف از این تغییرات این است که بتوانید نمونه کدهایی را که مستقیماً برای مورد استفادهای که میخواهید در برنامه خودتان پیادهسازی کنید قابلاجرا هستند راحتتر ببینید.
درحالحاضر نمونههای کد برای 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 با یک رنگ برجسته میشود.
- Super Chat برای مدت زمان مشخصی در تیکر سنجاق میشود.
رنگ Super Chat، مدت زمانی که در تیکر سنجاق میماند، و حداکثر طول پیام همگی براساس مبلغ خرید تعیین میشوند. مرکز راهنمایی YouTube اطلاعات بیشتری درباره Super Chat دارد.
میانای برنامهسازی کاربردی از روشی برای فهرست کردن رویدادهای Super Chat برای جاریسازیهای زنده کانال در ۳۰ روز گذشته پشتیبانی میکند. این روش همچنین دادههای مربوط به رویدادهای «تأمین بودجه از طرف طرفداران» (
fanFundingEvents) را از آخرین جاریسازی زنده کانال برمیگرداند.
-
-
بهروزرسانیهای منابع و روشهای موجود
-
ویژگی
snippet.typeاکنون از مقدارsuperChatEventپشتیبانی میکند که نشان میدهد منبع Super Chat را توصیف میکند.علاوهبراین، ویژگی جدید
snippet.superChatDetailsمنبعliveChatMessageو فرزندان آن حاوی اطلاعاتی درباره رویداد Super Chat هستند. -
ویژگی
cdn.resolutionمنبعliveStreamاکنون از مقدار2160pپشتیبانی میکند.
-
-
خطاهای جدید و بهروزشده
-
این میانای برنامهسازی کاربردی از خطاهای جدید زیر پشتیبانی میکند:
جزئیات خطا liveBroadcasts.insert،liveBroadcasts.updateروشهای liveBroadcasts.insertوliveBroadcasts.updateخطاهای400(Bad Request) را برمیگردانند تا نشان دهند منبعliveBroadcastکه درج یا بهروزرسانی میشود حاوی مقدار نامعتبری برای ویژگیcontentDetails.enableEmbedیا ویژگیcontentDetails.projectionاست. دلیل دو خطای جدید بهترتیبinvalidEmbedSettingوinvalidProjectionاست.
-
۱۲ ژانویه ۲۰۱۷
توجه: این یک اعلان منسوخ شدن است.
همزمان با انتشار ویژگی جدید Super Chat، YouTube ویژگی «تأمین بودجه طرفداران» را منسوخ کرده است و Fan Funding API در ۲۸ فوریه ۲۰۱۷ خاموش خواهد شد. از آن تاریخ:
- روش
liveChatMessages.listدیگر پیامهایی باsnippet.typeازfanFundingEventبرنمیگرداند. بهطور مشابه، منابعliveChatMessageدیگر حاوی شیءsnippet.fanFundingEventDetailsنخواهند بود. - روش
fanFundingEvents.listدیگر دادهای برنمیگرداند.
۱۱ اوت ۲۰۱۶
این بهروزرسانی شامل تغییرات زیر است:
-
«شرایط خدمات سرویسهای YouTube API» که بهتازگی منتشر شده است («شرایط بهروزشده») و بهطور مفصل در وبلاگ مهندسی و توسعهدهندگان YouTube مورد بحث قرار گرفته است، مجموعه غنی از بهروزرسانیها را برای «شرایط خدمات» فعلی ارائه میدهد. علاوهبر شرایط بهروزشده که از ۱۰ فوریه ۲۰۱۷ اجرایی میشود، این بهروزرسانی شامل چندین سند پشتیبانی است که به توضیح خطمشیهایی که توسعهدهندگان باید دنبال کنند کمک میکند.
مجموعه کامل اسناد جدید در سابقه ویرایش «شرایط» بهروزشده شرح داده شده است. علاوهبراین، تغییرات آتی در «شرایط بهروزشده» یا در آن اسناد پشتیبانی نیز در آن سابقه ویرایش توضیح داده خواهد شد.
۲۰ مه ۲۰۱۶
YouTube اکنون از انتقال DASH پشتیبانی میکند. بر این اساس، ویژگی ingestionType منبع liveStream از مقدار جدید dash برای شناسایی جریانهای واردشده به YouTube بااستفاده از DASH پشتیبانی میکند.
راهنمای جدید ارسال محتوای زنده YouTube ازطریق DASH دستورالعملهایی را برای استفاده از قالب «ارسال DASH» برای جاریسازی دادههای زنده در YouTube از کدبند ارائه میدهد. هدف از این سند کمک به فروشندگان کدبند برای افزودن پشتیبانی از ارسال DASH به محصولاتشان است.
۱۸ آوریل ۲۰۱۶
این بهروزرسانی شامل تغییرات زیر است:
-
بهروزرسانیهای منابع و روشهای موجود
liveStreamبهروزرسانی منبع-
YouTube اکنون از پخشهای زنده با وضوح 1440p با سرعت ۳۰ یا ۶۰ فریم در ثانیه پشتیبانی میکند.
علاوهبراین، منبع
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 با سرعت ۳۰ یا ۶۰ فریم در ثانیه را منعکس کند.
-
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این منبع گرداننده گپ را شناسایی میکند. گردانندگان میتوانند برخیاز عملکردهای مدیریتی را انجام دهند، مانند ممنوع کردن کاربران از گپ یا حذف پیامها. این میانای برنامهسازی کاربردی از روشهایی برای فهرست کردن، درج کردن، و حذف کردن گردانندگان گپ مستقیم پشتیبانی میکند. liveChatBansاین منبع کاربری را شناسایی میکند که از ارسال پیام در یک گپ مستقیم خاص منع شده است. ممنوعیتها میتوانند موقت یا دائمی باشند. این میانای برنامهسازی کاربردی از روشهایی برای درج و حذف ممنوعیتهای گپ مستقیم پشتیبانی میکند. fanFundingEventsاین منبع نشاندهنده رویداد «تأمین بودجه از طرفداران» در کانال YouTube است. «تأمین بودجه از طرف طرفداران» راهی برای بینندگان فراهم میکند تا بهطور داوطلبانه از «محتواسازان YouTube» با حمایت مالی یکباره حمایت کنند.
روشfanFundingEvents.listمیانای برنامهسازی کاربردی رویدادهای «تأمین بودجه ازسوی طرفداران» کانال را فهرست میکند. رویدادهای «تأمین بودجه طرفداران» که ازطریق گپ مستقیم درطول پخش زنده تحت مالکیت کانال آغاز میشوند، همچنین باعث ارسال پیام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استفاده کنید. برای کارخواههای میانای برنامهسازی کاربردی که قبلاً از این ویژگی استفاده میکردند:- تنظیم مقدار خصوصیت روی
trueمعادل تنظیم خصوصیتcontentDetails.closedCaptionsTypeرویclosedCaptionsHttpPostاست. - تنظیم مقدار خصوصیت روی
falseمعادل تنظیم خصوصیتcontentDetails.closedCaptionsTypeرویclosedCaptionsDisabledاست.
-
-
پارامتر جدید
broadcastTypeدر روشliveBroadcasts.listبه شما امکان میدهد پاسخ API را فیلتر کنید تا شامل پخشهای رویداد، پخشهای دائمی، یا همه پخشها باشد.همهفرستی پایدار همهفرستیای است که همیشه وجود دارد و به رویداد خاصی مرتبط نیست. بهطور خاص، پخش پیشفرض کانال یک پخش مداوم است و ازطریق داشبورد جاریسازی زنده در «استودیوِ محتواسازان YouTube» قابل دسترسی است. سایر همهفرستیهای کانال، همهفرستی رویداد هستند.
-
-
فیلد
status.healthStatus.configurationIssues[].typeمنبعliveStreamخطاهای وضعیت سلامت جدید زیر را گزارش میکند:خطاها audioTooManyChannelsصدا بیش از دو کانال دارد، اما فقط یک (مونو) یا دو کانال (استریو) پشتیبانی میشود. لطفاً تعداد کانالهای صوتی را درست کنید. frameRateHighنرخ فریم کنونی خیلی بالا است. لطفاً نرخ فریم را به فریم در ثانیه یا کمتر تنظیم کنید.%(framerate)s -
تاریخ انتشار بهروزرسانی قبلی اسناد اصلاح شد.
-
خطاهای جدید و بهروزشده
-
علاوهبر خطاهای تعریفشده برای منابع جدید فهرستشده در بالا، API از خطاهای جدید زیر پشتیبانی میکند:
جزئیات خطا 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 پست شده است. میانای برنامهسازی کاربردی از دو روش برای این منبع پشتیبانی میکند:روشها 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) تعیین شده است. -
این میانای برنامهسازی کاربردی اکنون از خطاهای زیر پشتیبانی میکند:
نوع خطا جزئیات خطا شرح 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 را برای هر نوع خطا مشخص میکند.
-
اکنون API از خطای زیر پشتیبانی میکند:
نوع خطا جزئیات خطا شرح 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را فراخوانی کنید و مقداری برای این ویژگی مشخص نکنید، همهفرستی برای ادامه نامحدود زمانبندی خواهد شد. -
ویژگی
contentDetails.recordFromStartمنبعliveBroadcastکه قبلاً مقدار پیشفرض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تغییر کرده است. -
در پاسخ میانای برنامهسازی کاربردی به درخواست
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یا ویژگیهای آن نیز برداشته شده است. درنهایت، بخش «نمایش لوحها» از راهنمای شروع به کار برداشته شده است.
- نام خصوصیت
-
این میانای برنامهسازی کاربردی دیگر از قابلیت درج لوحهای درون جاری بااستفاده از روش
liveCuepoints.insertپشتیبانی نمیکند. اسناد زیر برای بازتاب دادن این تغییر بهروز شدهاند:-
صفحه نمایه، راهنمای شروع به کار، و آموزش گامبهگام عمر همهفرستی دیگر به این عملکرد اشاره نمیکنند.
-
ویژگی
settings.cueTypeمنبعliveCuepointدیگر ازslateبهعنوان مقدار ویژگی پشتیبانی نمیکند. (تنها مقدار پشتیبانیشدهadاست. -
ویژگی
settings.eventStateمنبعliveCuepointمنسوخ شده و از اسناد حذف شده است.
-
۱۸ مارس ۲۰۱۳
این بهروزرسانی شامل تغییرات زیر است:
-
همه پیامهای خطای 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پشتیبانیشده برداشته شده است.