YouTube Live Streaming API به شما امکان میدهد رویدادهای زنده را در YouTube ایجاد، بهروزرسانی و مدیریت کنید. با استفاده از API، میتوانید رویدادها (پخشها) را زمانبندی کنید و آنها را با جریانهای ویدیویی مرتبط کنید، که نشاندهنده محتوای پخش واقعی است.
Live Streaming API در واقع از اجزای YouTube Data API و YouTube Content ID API تشکیل شده است. Data API به کاربران YouTube امکان می دهد حساب های YouTube خود را مدیریت کنند، در حالی که YouTube Content ID API تعامل با سیستم مدیریت حقوق YouTube را امکان پذیر می کند. با این حال، تمام منابعی که Live Streaming API را تشکیل میدهند، فقط برای ایجاد و مدیریت رویدادهای زنده استفاده میشوند.
این سند برای توسعه دهندگانی در نظر گرفته شده است که می خواهند برنامه هایی را برای تسهیل پخش زنده در YouTube بنویسند. مفاهیم اساسی YouTube و خود API را توضیح می دهد. همچنین یک نمای کلی از عملکردهای مختلفی که API پشتیبانی می کند ارائه می دهد.
مفاهیم اصلی
- پخش می کند
- پخش رویدادی را نشان میدهد که میتوان آن را در YouTube تماشا کرد. پخشها همچنین میتوانند بهعنوان ویدیوهای YouTube ضبط و ذخیره شوند تا کاربران بتوانند پس از وقوع آنها را تماشا کنند.
- جریان ها
- یک جریان، محتوای صوتی-تصویری را که به YouTube منتقل میشود، شناسایی میکند. هر پخش با یک جریان ویدئو همراه است.
- نقاط نشانه
- نقطه نشانه نشان دهنده یک وقفه تبلیغاتی است که می تواند در پخش زنده درج شود.
موارد استفاده API
لیست زیر چندین روش برای استفاده از API در برنامه شما پیشنهاد می کند:
برنامه ریزی پخش و تعریف تنظیمات پخش. برنامه شما می تواند به کاربران امکان دهد تنظیمات پخش را از پیش تعریف کنند و سپس تنظیماتی را برای اعمال در یک پخش خاص انتخاب کنند.
جریانها و پخشهای ویدئویی را مرتبط کنید.
پخشکنندگان را فعال کنید تا اطلاعات مربوط به پخش و ویدیوی آن را (با استفاده از YouTube Data API ) به طور همزمان تعریف کنند.
انتقال بین حالت های پخش را ساده کنید (به عنوان مثال،
testingیاlive) و کاربران را قادر می سازد نقاط نشانه را درج کنند.
قبل از اینکه تو شروع کنی
برای دسترسی به Google API Console ، درخواست کلید API و ثبت برنامه خود، به یک حساب Google نیاز دارید.
برنامه خود را در گوگل ثبت کنید تا بتواند درخواست های API را ارسال کند.
پس از ثبت برنامه، YouTube Data API به عنوان یکی از خدماتی که برنامه شما از آن استفاده می کند، انتخاب کنید:
- به API Console بروید و پروژه ای را که به تازگی ثبت کرده اید انتخاب کنید.
- از صفحه API های فعال شده دیدن کنید. در فهرست APIها، مطمئن شوید وضعیت برای YouTube Data API نسخه 3 و اگر شریک محتوای YouTube هستید، API Content ID YouTube روشن است.
با مفاهیم اصلی فرمت داده های نشانه گذاری شی جاوا اسکریپت (JSON) آشنا شوید. JSON یک فرمت داده رایج و مستقل از زبان است که نمایش متنی ساده ای از ساختارهای داده دلخواه را ارائه می دهد. برای اطلاعات بیشتر، به json.org مراجعه کنید.
مجوز درخواست های API
همانطور که در بالا ذکر شد، Live Streaming API از عملکردی استفاده میکند که از نظر فنی بخشی از YouTube Data API یا YouTube Content ID API است. میتوانید از Content ID API برای ارائه فوقداده، اطلاعات مالکیت، و اطلاعات خطمشی داراییهایتان در YouTube استفاده کنید. (پخش ویدیوی زنده نمونه ای از دارایی است.) API همچنین به شما امکان می دهد ویدیوها را ادعا کنید و سیاست های تبلیغاتی را برای ویدیوهای خود تنظیم کنید.
این بخش الزامات مجوز برای درخواستهای Content ID API را توضیح میدهد که با الزامات مجوز برای سایر درخواستهای Live Streaming API متفاوت است.
- فراخوانی Data API
- درخواست API باید توسط حساب Google که مالک کانال پخش YouTube است مجاز باشد.
- تماس با Content ID API
- درخواست API باید توسط یک حساب Google که به مالک محتوای مالک کانال پخش YouTube مرتبط است، مجاز باشد.
منابع و انواع منابع
یک منبع یک موجودیت داده منفرد با یک شناسه منحصر به فرد است. جدول زیر انواع مختلف منابعی را که با استفاده از Live Streaming API با آنها تعامل خواهید داشت، توضیح می دهد. از نظر فنی، همه این منابع در واقع به عنوان بخشی از YouTube Data API یا YouTube Content ID API تعریف شدهاند. با این حال، منابع liveBroadcast ، liveStream ، و cuepoint فقط برای ایجاد و مدیریت رویدادهای زنده استفاده می شوند.
| منابع | |
|---|---|
liveBroadcast | حاوی اطلاعات رویدادی است که در YouTube پخش می کنید. منبع liveBroadcast یک برنامه افزودنی از یک منبع ویدیوی YouTube است و فراداده ویدیویی را تنظیم میکند که مربوط به پخش زنده باشد اما نه برای سایر ویدیوهای YouTube.به این ترتیب، یک منبع liveBroadcast دقیقاً با یک منبع ویدیوی YouTube مطابقت دارد. در واقع، منبع liveBroadcast و منبع video یک شناسه مشترک دارند. و پس از ایجاد پخش با استفاده از Live Streaming API، میتوانید از YouTube Data API برای ارائه فراداده اضافی درباره ویدیو استفاده کنید. |
liveStream | حاوی اطلاعاتی در مورد جریان ویدیویی است که شما در حال انتقال به YouTube هستید. این جریان محتوایی را فراهم می کند که برای کاربران YouTube پخش می شود. پس از ایجاد، یک منبع liveStream می تواند دقیقاً به یک منبع liveBroadcast متصل شود. به طور مشابه، منبع liveBroadcast فقط می تواند به یک منبع liveStream متصل شود. |
cuepoint | یک نقطه نشانه را در جریان ویدیوی پخش شده درج می کند، که ممکن است باعث وقفه آگهی شود. از روش liveBroadcasts.cuepoint برای درج نقطه نشانه در طول پخش استفاده کنید. |
video | نشان دهنده یک ویدیوی یوتیوب است. همانطور که در بالا ذکر شد، یک منبع liveBroadcast ، توسعه یک منبع video است. میتوانید از YouTube Data API برای بهروزرسانی ابردادههای مربوط به ویدیو، مانند مکان ضبط یا مناطقی که پخش قابل مشاهده است، استفاده کنید. |
videoAdvertisingOptions | تنظیمات تبلیغات را برای یک ویدیو (یا پخش) تعریف می کند. برای تنظیم گزینههای تبلیغاتی YouTube Content ID API استفاده میکنید. |
asset | نمایانگر بخشی از مالکیت معنوی، مانند یک فیلم یا قسمتی از یک نمایش است. در این صورت، ویدیوی پخش شده دارایی است. برای ایجاد و مدیریت منابع asset از YouTube Content ID API استفاده خواهید کرد. |
claim | یک ویدیو را به داراییای پیوند میدهد که ویدیو با آن مطابقت دارد. شما با استفاده از YouTube Content ID API ادعایی ایجاد می کنید تا خود را به عنوان مالک ویدیوی پخش شده معرفی کنید. |
policy | قوانینی را تعریف می کند که شرایطی را مشخص می کند که می خواهید محتوای شما در YouTube قابل مشاهده باشد یا از نمایش آن در YouTube جلوگیری شود. شما باید یک خطمشی برای ویدیوی پخش شده خود اعمال کنید و همچنین میتوانید خطمشی را مشخص کنید که YouTube برای ویدیوهای آپلود شده توسط کاربر و مطابق با ویدیوی پخش شده شما اعمال کند. |
عملیات پشتیبانی شده
جدول زیر روش های مختلفی را که API پشتیبانی می کند نشان می دهد:
| عملیات | |
|---|---|
list | فهرستی از منابع صفر یا بیشتر ( GET ) را بازیابی می کند. |
insert | یک منبع جدید ( POST ) ایجاد می کند. |
update | یک منبع موجود را تغییر می دهد ( PUT ) تا داده ها را در درخواست شما منعکس کند. |
bind | یک منبع liveBroadcast را با یک منبع liveStream پیوند می دهد یا چنین پیوندی را حذف می کند. |
transition | وضعیت یک منبع liveBroadcast را تغییر می دهد و هر فرآیند مرتبط با وضعیت جدید را آغاز می کند. برای مثال، وقتی وضعیت پخش را به testing انتقال میدهید، YouTube شروع به انتقال ویدیو به جریان مانیتور آن پخش میکند. |
delete | یک منبع خاص را حذف می کند ( DELETE ). |
جدول زیر عملیات هایی را که برای انواع مختلف منابع پشتیبانی می شوند، مشخص می کند. عملیاتی که منابع را درج، بهروزرسانی یا حذف میکنند، همیشه به مجوز کاربر نیاز دارند. در برخی موارد، روشهای list هم درخواستهای مجاز و هم درخواستهای غیرمجاز را پشتیبانی میکنند، که در آن درخواستهای غیرمجاز فقط دادههای عمومی را بازیابی میکنند در حالی که درخواستهای مجاز میتوانند اطلاعاتی را که محدود به کاربر تأیید شده فعلی است نیز بازیابی کنند.
| عملیات پشتیبانی شده | |||||||
|---|---|---|---|---|---|---|---|
| list | insert | update | bind | transition | cuepoint | delete | |
| پخش زنده | |||||||
| پخش زنده |
منابع جزئی
API اجازه می دهد و در واقع به بازیابی منابع جزئی نیاز دارد تا برنامه ها از انتقال، تجزیه و ذخیره داده های غیر ضروری جلوگیری کنند. این رویکرد همچنین تضمین می کند که API از منابع شبکه، CPU و حافظه به طور موثرتری استفاده می کند.
پارامتر part یک پارامتر ضروری برای هر درخواست API است که منبع YouTube Data API بازیابی یا برمی گرداند. این پارامتر یک یا چند ویژگی منبع سطح بالا (غیر تودرتو) را که باید در یک پاسخ API گنجانده شوند، شناسایی می کند. به عنوان مثال، یک منبع liveStream دارای بخش های زیر است:
-
snippet -
cdn -
status
همه این بخشها اشیایی هستند که دارای ویژگیهای تودرتو هستند، و میتوانید این اشیاء را به عنوان گروههایی از فیلدهای ابرداده در نظر بگیرید که سرور API ممکن است (یا نه) آنها را بازیابی کند. به این ترتیب، پارامتر part از شما میخواهد که مؤلفههای منبعی را انتخاب کنید که برنامه شما واقعاً از آنها استفاده میکند. این الزام دو هدف مهم را دنبال می کند:
- با جلوگیری از صرف زمان سرور API برای بازیابی فیلدهای ابرداده ای که برنامه شما از آنها استفاده نمی کند، تأخیر را کاهش می دهد.
- با کاهش (یا حذف) مقدار داده های غیر ضروری که برنامه شما ممکن است بازیابی کند، استفاده از پهنای باند را کاهش می دهد.
با گذشت زمان، همانطور که منابع بخشهای بیشتری را اضافه میکنند، این مزایا فقط افزایش مییابد زیرا برنامه شما ویژگیهای تازه معرفیشدهای را که پشتیبانی نمیکند درخواست نمیکند.
نکات و بهترین شیوه ها
مطالب خود را ادعا کنید
اگر میخواهید در طول پخش خود تبلیغات نشان دهید، باید قبل از شروع رویداد، ویدیوی پخش را ادعا کنید. برای ادعای محتوا، باید شریک محتوای YouTube شرکت کننده در برنامه Content ID باشید.
روند ادعای ادعای ویدیوی پخش زنده شما با روند عادی ادعای یک ویدیو متفاوت است. هنگام ادعای ویدیوی زنده، باید قبل از اینکه ویدیو واقعاً وجود داشته باشد، ادعای خود را ایجاد کنید. API از این پشتیبانی میکند، و عمر یک سند پخش، فراخوانهای YouTube Content ID API را توضیح میدهد که به شما امکان میدهد ادعای خود را ایجاد کنید.
محتوای خود را پیش نمایش و آزمایش کنید
پس از دریافت جریان ویدیوی ورودی، YouTube میتواند آن ویدیو را در دو جریان خروجی مختلف پخش کند:
جریان مانیتور به شما امکان می دهد پخش ویدیوی خود را پیش نمایش (و آزمایش) کنید. این یک جریان خصوصی است که فقط برای شما قابل دسترسی است. تنها در صورتی میتوانید یک پخش را به مرحله
testingانتقال دهید که جریان مانیتور پخش فعال باشد. جریان مانیتور وقفه های تبلیغاتی را نشان نمی دهد.جریان پخش جریانی است که برای مخاطبان شما قابل مشاهده است. میتوانید وضعیت حریم خصوصی پخش را روی
public،privateیاunlistedتنظیم کنید. (پخش خصوصی فقط برای کاربرانی قابل مشاهده است که صریحاً برای تماشای آن دعوت شده اند، در حالی که پخش فهرست نشده برای هر کسی که پیوندی برای مشاهده آن داشته باشد قابل مشاهده است.)میتوانید پخش جریانی را به تأخیر بیندازید تا همزمان با جریان مانیتور اجرا نشود. با تأخیر در پخش جریانی، میتوانید کنترل دقیقتری بر زمانی که نقاط نشانه را در پخش قرار میدهید داشته باشید.
با این حال، تاخیر در پخش جریانی، تعامل مجریان زنده شما با مخاطبان بیننده شما را دشوار می کند. به علاوه، تأخیر در پخش، احتمال اینکه بینندگان جزئیات اصلی رویداد را از منابعی غیر از پخش شما کشف کنند، افزایش میدهد. به عنوان مثال، اگر یک رویداد ورزشی را با تاخیر 60 ثانیه پخش می کنید، بینندگان ممکن است قبل از اینکه واقعاً آنها را در پخش ببینند، در مورد لحظات حساس رویداد از سایر منابع خبری بیدرنگ مطلع شوند.
یوتیوب توصیه می کند که جریان مانیتور را برای پخش خود فعال کنید تا بتوانید محتوای خود را آزمایش کنید. شما باید انتخاب کنید که آیا پخش خود را نیز بر اساس تمایل خود به کنترل زمان بندی نقاط نشانه به تعویق بیندازید، در مقابل تمایل شما به تعامل با مخاطبان یا ارائه پوشش بلادرنگ یک رویداد.
اجرای تبلیغات میانروی در طول پخش جریانی
در طول پخش، میتوانید یک نقطه نشانه وارد کنید تا نشان دهد که یک وقفه تبلیغاتی باید در اسرع وقت یا در زمان مشخصی در پخش شروع شود. وقفه تبلیغاتی به YouTube امکان میدهد تا تبلیغات میانافزاری را در طول پخش اجرا کند.
وقفه های تبلیغاتی دارای ویژگی های زیر هستند:
این یک مدت زمان از پیش تعریف شده دارد که با استفاده از ویژگی
durationSecsمنبعcuepointتنظیم می کنید. پس از پایان وقفه تبلیغاتی، بینندگان به پخش زنده باز می گردند.وقتی یک وقفه تبلیغاتی اتفاق میافتد، یک آگهی فقط در پخشکننده ویدیو برای بینندگانی پخش میشود که وقتی نقطه نشانه درج میشود، پخش را تماشا میکنند. هنگامی که بینندگان صفحه ای را که در آن پخش پخش می شود بازخوانی می کنند یا هنگامی که بازدیدکنندگان پس از درج نقطه نشانه شروع به تماشای پخش می کنند، تبلیغ اجرا نمی شود.