نمای کلی
این راهنما برای توسعهدهندگان برنامههای کارخواه API است که از منابع پیشفرض liveStream و liveBroadcast کانالهای YouTube برای جاریسازی محتوای زنده استفاده میکنند. هدف این راهنما کمک به شما برای اطمینان از این است که برنامهتان بهدرستی
منسوخ شدن همهفرستیهای پیشفرض و جاریسازیهای پیشفرض را مدیریت میکند، و
اگر هریک از موارد زیر برای برنامهتان صدق میکند، این راهنما برای شما مناسب است:
- این قانون مقدار ویژگی
isDefaultBroadcastمنبعliveBroadcastرا بررسی میکند. - مقدار دارایی
liveStreamisDefaultStreamرا بررسی میکند. این کد روش
liveBroadcasts.listرا فراخوانی میکند و مقدار پارامترbroadcastTypeرا رویpersistentتنظیم میکند. از تاریخ منسوخ شدن:- اگر مقدار پارامتر
broadcastTypeبرابر باpersistentباشد، روشliveBroadcasts.listهیچ نتیجهای برنمیگرداند. - اگر مقدار پارامتر
broadcastTypeبرابر باallباشد، آنگاه روشliveBroadcasts.listهمهفرستیهای پایداری را که قبلاز آن زمان وجود داشتهاند برنمیگرداند.
- اگر مقدار پارامتر
اگر برنامه شما تحت تأثیر قرار گرفته است، لطفاً به بخش بهروزرسانی برنامه مراجعه کنید که تغییرات رویهای را که ممکن است برنامه شما درنتیجه این منسوخ شدن نیاز به انجام آنها داشته باشد توضیح میدهد. آن بخش مراحل خاصی را در راهنمای چرخه عمر همهفرستی شناسایی میکند که کارخواه API شما ممکن است بهطور معمول دنبال نکند اگر درحالحاضر از همهفرستی و جاریسازی پیشفرض استفاده میکند.
چه اتفاقی دارد میافتد؟
از سال ۲۰۱۵، YouTube بهطور خودکار یک جاریسازی پیشفرض و یک پخش پیشفرض برای کانالی که برای جاریسازی زنده فعال شده است، ایجاد میکند. جریان پیشفرض برای همیشه وجود داشت و نمیتوانست حذف شود. بهطور مشابه، پخش پیشفرض پایدار درنظر گرفته میشد. همیشه وجود داشته است، زمان شروع یا پایان مرتبط با آن نداشته است، و به رویداد خاصی محدود نبوده است.
از تاریخ منسوخ شدن ذکرشده در بالا، YouTube دیگر جاریسازیها و همهفرستیهای پیشفرض را ایجاد نخواهد کرد. این تغییر بر برنامههای کارخواهی که برای همهفرستی محتوای زنده به آن منابع متکی هستند تأثیر میگذارد. این تغییر همچنین بر برنامههایی تأثیر میگذارد که در آنها واسط کاربر برای تمایز بین آن منابع پیشفرض و سایر همهفرستیها و جاریسازیهایی که مالکان کانال ایجاد کردهاند سفارشیسازی شده است.
بهجای تکیه بر منابع پیشفرض، کارخواههای API باید منابع liveBroadcast و liveStream را ایجاد و مدیریت کنند و این منابع را به یکدیگر متصل کنند.
درحال بهروزرسانی برنامه
برای مرور سریع اصطلاحات، پخش نشاندهنده رویدادی است که میتوان آن را در YouTube در زمان وقوع تماشا کرد و جاریسازی مکانیزمی برای ارسال محتوای ویدیویی واقعی به YouTube است. یک پخش میتواند و باید دقیقاً به یک جاریسازی محدود شود.
انتقال از همهفرستیهای پیشفرض
پیشاز این منسوخ شدن، کارخواههای API میتوانستند بین استفاده از پخش پیشفرض کانال یا ایجاد پخش خاص رویداد یکی را انتخاب کنند. همهفرستی پیشفرض منبعی دائمی بود که میتوانست برای چندین رویداد دوباره استفاده شود، درحالیکه منبع همهفرستی مختص رویداد منبعی تکاستفاده است که دقیقاً با یک ویدیو YouTube مطابقت دارد.
برنامه مشتری شما درصورتیکه متد liveBroadcasts.list را فراخوانی کند و یکی از موارد زیر را انجام دهد از همهفرستی پیشفرض استفاده میکند:
- مقدار پارامتر
broadcastTypeرا رویpersistentتنظیم میکند. این درخواست فقط همهفرستی پیشفرض را بازیابی میکند. - مقدار پارامتر
broadcastTypeرا رویallتنظیم میکند، سپس منبعliveBroadcastرا در پاسخ API که مقدار ویژگیisDefaultBroadcastآنtrueاست شناسایی میکند.
پساز منسوخ شدن، YouTube فقط از همهفرستیهای مختص رویداد پشتیبانی خواهد کرد.
این یعنی بهجای تکیه بر همهفرستی پیشفرض، برنامههای کارخواه باید برای هر رویداد همهفرستی جداگانه منابع
liveBroadcast
ایجاد کنند.
برای ایجاد منبع liveBroadcast، روش
liveBroadcasts.insert را فراخوانی کنید.
این فرایند در مرحله ۱.۱ از راهنمای «چرخه عمر همهفرستی» توضیح داده شده است.
اگر میانای کاربر شما درحالحاضر این کار را انجام نمیدهد، باید سازوکارهایی را نیز برای کاربران فراهم کند تا بتوانند بین پخشهای آتی مختص رویداد تمایز قائل شوند و آنها را انتخاب کنند.
انتقال از جاریسازیهای پیشفرض
جاریسازی به شما امکان میدهد محتوای صوتی-تصویری را به YouTube منتقل کنید و تنظیمات مربوط به نحوه جاریسازی محتوای خود به YouTube را تعریف میکند. معمولاً پخشکنندگان از یک جاریسازی برای پخشهای مختلف استفاده میکنند، اگر آن پخشها در زمانهای مختلفی انجام شوند.
اگرچه برنامه شما نمیتواند از جاریسازی پیشفرض استفاده کند، اما میتواند جاریسازی
قابلاستفاده مجددی ایجاد کند که برای هر همهفرستی قابلاستفاده مجدد باشد. برای ایجاد liveStream
منبع، روش liveStreams.insert
را فراخوانی کنید و دستورالعملهای مرحله ۱.۲ از راهنمای «زندگی یک همهفرستی» را دنبال کنید. بهطور پیشفرض، جاریسازیهای تازه ایجادشده قابل استفاده مجدد هستند. بااینحال، اگر ترجیح میدهید، میتوانید
contentDetails.isReusable
دارایی را روی false تنظیم کنید تا جاریسازیهای یکبارمصرف ایجاد کنید و بین همهفرستیها و جاریسازیها رابطه یکبهیک داشته باشید.
فهرست زیر شامل چهار ویژگی است که علاوهبر عنوان جاریسازی و شرح جاریسازی، میتوانید هنگام ایجاد یک جاریسازی جدید تنظیم کنید. این فهرست مقادیری را نشان میدهد که جاریسازیهای پیشفرض برای هر دارایی استفاده میکنند، که احتمالاً تنظیماتی هستند که اگر درحال انتقال از استفاده از جاریسازیهای پیشفرض هستید، میخواهید در برنامه کارخواه استفاده کنید.
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
درحال اتصال همهفرستیها به جاریسازیها
هر منبع liveBroadcast باید دقیقاً به یک جاریسازی پیوند داده شود تا
همهفرستی زنده در YouTube بتواند واقعاً شروع شود. (پخش زنده در زمان ایجاد به هیچ جاریسازیای متصل نیست.)
فرایند اتصال بهطور خودکار برای همهفرستی پیشفرض انجام شد، که بهطور جداییناپذیری به جاریسازی پیشفرض متصل بود. بااینحال، پساز تاریخ منسوخ شدن، برنامههای کارخواه باید آن فرایند را برای همه همهفرستیها مدیریت کنند.
برای پیوند دادن یک همهفرستی به یک جاریسازی، روش
liveBroadcasts.bind را همانطور که در مرحله ۱.۳ از راهنمای «زندگی یک همهفرستی»
توضیح داده شده است فراخوانی کنید.
- اگر از جاریسازی قابل استفاده مجدد استفاده میکنید، میتوانید یکبار جاریسازی ایجاد کنید و سپس هر همهفرستی را به آن جاریسازی متصل کنید.
- اگر از جاریسازی قابلاستفاده مجدد استفاده نمیکنید، باید یک همهفرستی و یک جاریسازی ایجاد کنید و سپس این دو را به هم متصل کنید.
درحال آزمایش همهفرستی
وقتی از پخش پیشفرض استفاده نمیکنید، این گزینه را دارید که پخش خود را آزمایش کنید. برای انجام آزمایش، پخشکنندهای را جاسازی میکنید که به شما امکان میدهد پیشنمایش ویدیو همهفرستی را همانطور که برای بینندگان YouTube نمایش داده میشود ببینید، اما همهفرستی برای سایر بینندگان قابلمشاهده نیست.
اگر کارخواه API شما قبلاً از همهفرستی و جاریسازی پیشفرض استفاده میکرده است و میخواهید یک مرحله آزمایش به فرایند جاریسازی خود اضافه کنید، مرحله ۳ از راهنمای «زندگی یک همهفرستی» را ببینید.
اگر میخواهید جاریسازی خود را آزمایش کنید، هنگام درج همهفرستی، باید
دارایی contentDetails.monitorStream.enableMonitorStream
را روی true و دارایی contentDetails.enableAutoStart
را روی
false تنظیم کنید. اینها مقادیر پیشفرض برای هر دو دارایی هستند.
استفاده از ویژگیهای شروع خودکار و توقف خودکار
همهفرستی پیشفرض هرگاه جاریسازی ویدیو را در جاریسازی پیشفرض شروع میکردید بهطور خودکار شروع میشد. بههمین ترتیب، پخش زنده پیشفرض پساز توقف جاریسازی ویدیو پایان یافت. هر جلسه جاریسازی بااستفاده از آن منابع پیشفرض متعاقباً به ویدیویی در کانال شما تبدیل شد.
درحالیکه ویژگیهای شروع خودکار و توقف خودکار رفتار پیشفرض برای همهفرستیهای پیشفرض بودند، این ویژگیها اختیاری هستند و باید برای همهفرستیهای دیگر فعال شوند. اگر میخواهید از این ویژگیها استفاده کنید، هنگام درج یک همهفرستی، باید مقادیر ویژگیهای contentDetails.enableAutoStart و contentDetails.enableAutoStop را روی true تنظیم کنید. این ویژگیها مستقل هستند، بنابراین میتوانید انتخاب کنید که
از یکی استفاده کنید و از دیگری استفاده نکنید.
اگر ویژگیهای شروع خودکار و توقف خودکار را برای همهفرستیهای جدید فعال نکنید، کارخواه API شما باید روش liveBroadcasts.transition را برای بهروزرسانی وضعیت همهفرستی هنگام شروع و پایان جاریسازی ویدیو فراخوانی کند. در راهنمای «Life of a Broadcast»، مرحله ۴.۳ و مرحله ۵.۲ را برای دستورالعملهای مدیریت این انتقالها در ابتدا و انتهای پخش ببینید.