مقدمه
این سند شما را با مراحل یک همهفرستی زنده در YouTube که بااستفاده از «میانای برنامهسازی کاربردی جاریسازی زنده YouTube» و میانای برنامهسازی کاربردی YouTube Content ID ایجاد و مدیریت میشود، آشنا میکند.
منابع و انواع منبع
همانطور که در راهنمای شروع به کار توضیح داده شده است، منبع یک نهاد دادهای منفرد با یک شناسه یکتا است. برای ایجاد و مدیریت رویدادهای زنده در YouTube، از انواع مختلفی از منابع استفاده خواهید کرد که بهعنوان بخشی از YouTube Data API یا YouTube Content ID API تعریف شدهاند. منابع فهرستشده در زیر سرصفحه YouTube Live Streaming API ازنظر فنی در آن میاناهای برنامهسازی کاربردی دیگر تعریف شدهاند اما بهطور جداگانه فهرست شدهاند زیرا فقط برای پخشهای زنده استفاده میشوند.
منابع YouTube Live Streaming API
منابع YouTube Data API
منابع Content ID API در YouTube
ایجاد و مدیریت یک همهفرستی زنده
مراحل زیر نحوه ایجاد و مدیریت رویداد زنده در YouTube را توضیح میدهد. مراحل به بخشهای زیر تقسیم شده است:
مرحله ۱: راهاندازی کردن همهفرستی
مرحله ۱.۱: ایجاد همهفرستی
روش liveBroadcasts.insert را فراخوانی کنید تا همهفرستیتان به زمانبندی رویدادهای زنده YouTube اضافه شود. منبع
liveBroadcast که درج میکنید باید مقادیری را برای
ویژگیهای فهرستشده در زیر تعریف کند.
لطفاً هنگام راهاندازی پخش زنده خود، دستورالعملهای زیر را در نظر بگیرید:
اگر میخواهید فاز آزمایشی برای همهفرستیتان داشته باشید، وقتی که میتوانید همهفرستی ویدیوییتان را بدون اینکه بینندگان دیگر هم بتوانند همهفرستی را ببینند مشاهده کنید، باید ویژگی
contentDetails.monitorStream.enableMonitorStreamرا رویtrueو ویژگیcontentDetails.enableAutoStartرا رویfalseتنظیم کنید. اینها مقادیر پیشفرض برای هر دو دارایی هستند.اگر میخواهید از پخش ضبطشده خود یک مرجع ایجاد کنید، باید ویژگی
contentDetails.recordFromStartپخش را رویtrueتنظیم کنید. اگر میخواهید ویدیو ضبطشده بلافاصله پساز پایان پخش برای بازپخش دردسترس باشد، باید ویژگیcontentDetails.enableDvrرا نیز رویtrueتنظیم کنید. (هر دوی این ویژگیها مقدار پیشفرضtrueدارند.)اگر میخواهید مناطقی را که همهفرستی شما در آنها قابلمشاهده است محدود کنید، میتوانید ویژگی
contentDetails.availabilityConfigرا تنظیم کنید. این ویژگی به شما امکان میدهد مناطق خاصی را مسدود کنید یا دردسترس بودن را به فهرست مشخصی از مناطق محدود کنید. همچنین میتوانید پنجرههای زمانی برای دردسترس بودن منطقهای مشخص کنید.میتوانید بهصورت اختیاری دسته ویدیو را برای همهفرستی بااستفاده از
snippet.categoryIdدارایی مشخص کنید. اگر مشخص نشده باشد، دسته بهطور پیشفرض رویEntertainmentتنظیم میشود.تا زمانی که وضعیت همهفرستی شما هنوز
createdیاreadyاست، میتوانید هرکدام از ویژگیهایcontentDetailsرا بهروز کنید.تا زمانی که وضعیت همهفرستی
created،ready، یاtestingباشد، میتوانید زمان شروع و زمان پایان برنامهریزیشده همهفرستی را بهروزرسانی کنید.عنوان، شرح، دسته، و وضعیت حریم خصوصی پخش، و سایر فیلدهای فراداده که بخشی از منبع
videoپخش هستند، میتوانند در هر زمانی بهروزرسانی شوند.
توجه: اگر فقط میخواهید ویدیو شما برای کاربران خاص YouTube دردسترس باشد، مقدار داراییstatus.privacyStatusرا براساس نیازهایتان رویunlistedیاprivateتنظیم کنید.
پردازش پاسخ میانای برنامهسازی کاربردی
وقتی روش liveBroadcasts.insert را فراخوانی میکنید، پاسخ میانای برنامهسازی کاربردی حاوی منبع liveBroadcast است که ایجاد کردهاید. کد شما باید id را از آن منبع استخراج و ذخیره کند. برای شناسایی همهفرستی در درخواستهای آتی API به این مقدار نیاز خواهید داشت. (همچنین میتوانید منبع video را که بااستفاده از همان شناسه با منبع liveBroadcast مطابقت دارد شناسایی کنید.)
مرحله ۱.۲: ایجاد جاریسازی
منبع liveStream به شما امکان میدهد ویدیو خود را به YouTube منتقل کنید و
محتوایی را که منتقل میکنید توصیف میکند. هر همهفرستی باید دقیقاً با یک جاریسازی مرتبط باشد.
برای ایجاد جاریسازی ویدیویی برای رویدادتان، روش liveStreams.insert را فراخوانی کنید. هنگام ایجاد جاریسازی، باید مقادیر ویژگیهای فهرستشده در زیر را تنظیم کنید:
بهاستثنای عنوان جاریسازی، این مقادیر را نمیتوان پساز ایجاد جاریسازی بهروز کرد. اگر نیاز به تغییر آنها دارید، درواقع باید با تکرار این مرحله یک جاریسازی متفاوت ایجاد کنید. این فرایند در مرحله ۳.۵ در ادامه این سند با جزئیات بیشتری مورد بحث قرار گرفته است.
همچنین میتوانید برای ویژگیهای زیر مقدار تعیین کنید:
snippet.description- مانند عنوان جاریسازی، شرح جاریسازی را میتوان پساز ایجاد جاریسازی بهروز کرد. نه عنوان و نه شرح برای کاربران YouTube رؤیتپذیر نیست.[
contentDetails.isReusable](/youtube/data/live/reference/rest/v3/liveStreams#contentDetails.isReusable)
نشان میدهد که آیا جاریسازی قابل استفاده مجدد است یا خیر، به این معنی که میتواند به چندین همهفرستی متصل شود. مقدار این دارایی بهطور مؤثر تعیین میکند که آیا کانال بین منابع
liveBroadcastوliveStreamرابطه یکبهیک یا یکبهچند دارد:- اگر از مقدار پیشفرض
trueبرای این ویژگی استفاده کنید، میتوانید از همان منبعliveStreamبرای همه پخشهای کانال استفاده کنید. این یعنی لازم نیست این مرحله (۱.۲) را برای هر همهفرستی تکرار کنید. درعوض، میتوانید از شناسه جاریسازی برای پخشهای بعدی استفاده کنید. - اگر مقدار ویژگی را روی
falseتنظیم کنید، باید برای هر همهفرستی یک جاریسازی جدید ایجاد کنید.
- اگر از مقدار پیشفرض
پساز اینکه درخواست API را برای جاریسازی صادر کردید، پاسخ API حاوی منبع liveStream است که ایجاد کردهاید. کد شما باید id را از آن منبع استخراج و ذخیره کند.
برای شناسایی جاریسازی در درخواستهای API آینده، به آن مقدار نیاز خواهید داشت.
مرحله ۱.۳: پخش خود را به جاریسازی آن پیوند دهید
اکنون که منابع liveBroadcast و liveStream را ایجاد کردهاید، باید
این دو را بااستفاده از روش liveBroadcasts.bind بههم مرتبط کنید. این کنش، بیتهای ویدیویی را که به YouTube ارسال میکنید به پخش رویداد برای آن ویدیو پیوند میدهد.
در فراخوانی روش liveBroadcasts.bind، پارامتر id را روی شناسه پخش بهدستآمده در مرحله ۱.۱ و پارامتر streamId را روی شناسه جاریسازی بهدستآمده در مرحله ۱.۲ تنظیم کنید.
مرحله ۲: ادعای مالکیت محتوا
اگر میخواهید درطول همهفرستیتان آگهی نشان دهید، باید قبلاز شروع رویداد، ویدیو همهفرستی را مطالبه کنید. از مراحل زیر برای راهاندازی همهفرستی، ویدیو، و آگهیهای آن استفاده کنید. توجه داشته باشید که کانال مالک پخش باید واجدشرایط نمایش آگهی باشد.
توجه داشته باشید که همه فراخوانیهای میانای برنامهسازی کاربردی که در این مرحله مورد بحث قرار میگیرند در میانای برنامهسازی کاربردی Content ID در YouTube تعریف شدهاند.
مرحله ۲.۱: ایجاد دارایی
منبع asset نشاندهنده بخشی از مالکیت فکری است. در این مورد، دارایی همان همهفرستی شما است. برای ایجاد داراییتان،
روش assets.insert را
فراخوانی کنید.
پاسخ میانای برنامهسازی کاربردی حاوی منبع asset خواهد بود که ایجاد کردهاید. کد شما باید id را از آن منبع استخراج و ذخیره کند، زیرا برای شناسایی دارایی در درخواستهای API آینده به آن مقدار نیاز خواهید داشت.
مرحله ۲.۲: مالکیت خود را بر دارایی تعریف کنید
دادههای مالکیت دارایی، مالکان دارایی و همچنین قلمروهایی را که در آنها مالک دارایی هستند شناسایی میکند. YouTube از این دادهها برای تعیین اینکه مالک کجا میتواند خطمشی را برای ویدیو موردمطالبه تنظیم کند استفاده میکند.
برای مثال، اگر حق پخش رویدادی را در ایالات متحده داشته باشید و پخشکننده دیگری همان حقوق را برای کانادا داشته باشد، هرکدام از شما میتوانید خطمشیهای متفاوتی را برای ویدیو پخششده و ویدیوهای بارگذاریشده توسط کاربر که با ویدیو پخششده مطابقت دارند تعریف کنید. خطمشی مطابقت شما برای ویدیوهای بارگذاریشده توسط کاربر در ایالات متحده اعمال خواهد شد، درحالیکه خطمشی مالک دیگر برای ویدیوهای منطبق در کانادا اعمال خواهد شد.
برای تعریف قلمروهای مالکیت خود برای دارایی، روش
ownership.update را فراخوانی کنید.
در آن درخواست، پارامتر assetId را روی id که در
مرحله ۲.۱ ذخیره کردهاید تنظیم کنید.
مرحله ۲.۳: تنظیم خطمشی مطابقت دارایی
خطمشی مطابقت دارایی توضیح میدهد که YouTube باید چه کاری انجام دهد وقتی کاربری ویدیویی را بارگذاری میکند که با مرجع منسوب به دارایی مطابقت دارد. دراینصورت، خطمشی مطابقت نشان میدهد که YouTube چگونه باید با ویدیو بارگذاریشدهای که با پخش زنده شما مطابقت دارد برخورد کند.
توجه: اگر قصد دارید از ویدیو پخششده خود یک مرجع ایجاد کنید و از آن مرجع برای شناسایی ویدیوهای بارگذاریشده توسط کاربر که با پخش شما مطابقت دارند استفاده کنید، باید یک خطمشی مطابقت تنظیم کنید. درغیراینصورت، میتوانید از این مرحله رد شوید.
برای تنظیم خطمشی مطابقت، ابتدا باید خطمشیای را که میخواهید اعمال کنید شناسایی کنید. میتوانید با فراخوانی روش
policies.list، فهرست خطمشیهای موجود را بازیابی کنید، یا میتوانید
با فراخوانی روش
policies.insert، خطمشی جدیدی تعریف کنید. در هر دو حالت، باید id خطمشیای را که میخواهید اعمال کنید ضبط کنید.
پساز شناسایی خطمشی، روش
assetMatchPolicy.update
را فراخوانی کنید. در آن درخواست، پارامتر assetId را روی id که در مرحله ۲.۱ ذخیره کردید تنظیم کنید.
مرحله ۲.۴: ادعای مالکیت ویدیو خود را ثبت کنید
در این مرحله، ادعایی ایجاد میکنید که ویدیو پخش زنده را به داراییای که در مرحله ۲.۱ ایجاد کردید پیوند میدهد. ادعا خطمشیای را تنظیم میکند که فقط برای ویدیو همهفرستی شما اعمال میشود. (ویدیوهای بارگذاریشده توسط کاربر که با ویدیو همهفرستی شما مطابقت دارند تحت پوشش خطمشی مطابقت تعیینشده در مرحله قبل قرار میگیرند.)
برای ایجاد ادعا، روش claims.insert را فراخوانی کنید. در منبع claim که
درج میکنید، باید مقادیر را برای ویژگیهای زیر تنظیم کنید:
-
assetId– این مقدار را در مرحله ۲.۱ بهدست آوردید. videoId– این شناسه همهفرستی است که در مرحله ۱.۱ بهدست آوردید.-
policy– این یک منبعpolicyاست. میتوانید با تنظیم ویژگیidآن منبع روی شناسه خطمشی موجود، خطمشی موجودی را اعمال کنید. مرحله قبلی توضیح میدهد که چگونه شناسه خطمشی موجود را بازیابی کنید. contentType– این مقدار را رویaudiovisualتنظیم کنید.
پردازش پاسخ میانای برنامهسازی کاربردی
وقتی ادعا را درج میکنید، پاسخ میانای برنامهسازی کاربردی حاوی منبع claim
خواهد بود که ایجاد کردهاید. کد شما باید
id را از آن منبع استخراج و ذخیره کند. بعداً از این مقدار برای ایجاد مرجع از ویدیو پردازششدهتان استفاده خواهید کرد.
مرحله ۲.۵: بهروزرسانی تنظیمات آگهی برای پخش
اگر میخواهید آگهی پیشپخش هنگام شروع تماشای پخش شما توسط بینندگان اجرا شود یا آگهیها درطول وقفههای پخش شما اجرا شوند، باید گزینههای تبلیغاتی را برای ویدیو خود تنظیم کنید.
- اگر آگهیهای پیشپخش را برای همهفرستیتان فعال کنید، همه بینندگان هنگام شروع تماشای همهفرستی شما، آگهی خواهند دید، حتی اگر تماشا را در اواسط همهفرستی شروع کنند.
- اگر آگهیهای میانویدیویی را برای همهفرستیتان فعال کنید، میتوانید درطول همهفرستی نقطه نشان آگهی درج کنید.
برای فعال کردن آگهیها، روش videoAdvertisingOptions.update را فراخوانی کنید. در درخواست خود، پارامتر videoId را روی id همهفرستی که در مرحله ۱.۱ بهدست آوردهاید تنظیم کنید. از ویژگی adFormats[] منبع videoAdvertisingOption برای شناسایی قالبهای آگهی (preroll، midroll، یا postroll) که میخواهید فعال کنید استفاده کنید.
مرحله ۳: آزمایش
در این مرحله، پخشکنندهای را جاسازی میکنید که جاریسازی مانیتور را برای همهفرستی شما نشان میدهد تا بتوانید تجربه تماشا را آزمایش کنید. جاریسازی پایشگر یک جاریسازی خصوصی است که به شما امکان میدهد پیشنمایش ویدیو همهفرستی را همانطور که برای بینندگان YouTube نمایش داده میشود ببینید.
توجه داشته باشید که فقط درصورتی میتوانید همهفرستی ویدیوییتان را آزمایش کنید که جریان پایش آن فعال باشد. بهطور پیشفرض، جاریسازیهای پایشگر همهفرستی فعال است. میتوانید جاریسازی پایش همهفرستی را با تنظیم کردن دارایی
contentDetails.monitorStream.enableMonitorStream
روی false هنگام ایجاد یا بهروزرسانی آن همهفرستی غیرفعال کنید.
مرحله ۳.۱: جاسازی کردن پخشکننده جاریسازی مانیتور
همهفرستیتان را بااستفاده از روش liveBroadcasts.list بازیابی کنید و مقدار ویژگی contentDetails.streamDetails.monitorStreamEmbedHtml را استخراج کنید. این مقدار شامل HTML است که برای جاسازی یک پخشکننده YouTube که جاریسازی
مانیتور شما را نشان میدهد، نیاز دارید.
مرحله ۳.۲: شروع ویدیو
انتقال ویدیو را در جاریسازی ویدیوییتان شروع کنید.
مرحله ۳.۳: تأیید کنید که جاریسازی ویدیویی شما فعال است
برای بازیابی منبع liveStream مرتبط با همهفرستیتان، روش
liveStreams.list
را فراخوانی کنید. تأیید کنید که مقدار دارایی status.streamStatus active است، که نشان میدهد سرورهای YouTube دادهها را بهدرستی از کدبند شما دریافت میکنند.
مرحله ۳.۴: وضعیت همهفرستی خود را به آزمایش تغییر دهید
برای بهروزرسانی وضعیت همهفرستی، روش liveBroadcasts.transition را فراخوانی کنید. مقدار پارامتر id را روی شناسه همهفرستی که در مرحله ۱.۱ بهدست آمده است تنظیم کنید و مقدار پارامتر broadcastStatus را روی testing تنظیم کنید.
پساز فراخوانی روش liveBroadcasts.transition، ممکن است چند ثانیه یا حتی تا یک دقیقه طول بکشد تا آن انتقال تکمیل شود. در این مدت، باید API را نظرسنجی کنید تا وضعیت همهفرستی را بررسی کنید. تا زمانی که
انتقال کامل شود، وضعیت همهفرستی testStarting خواهد بود. پساز تکمیل انتقال، وضعیت
testing خواهد بود.
مرحله ۳.۵: تکمیل کردن آزمایش
اگر آزمایشتان بهخوبی پیش رفت، میتوانید به مرحله ۴ بروید. اما در برخی موارد، ممکن است لازم باشد آزمایشهای بیشتری انجام دهید. برای مثال، اگر آزمایشهای شما نشان دهد که جاریسازی ویدیویی بهدرستی پیکربندی نشده است، باید قبلاز ادامه پخش، آن را اصلاح کنید.
اگر جریان ویدیو بهدرستی پیکربندی نشده باشد، باید جریان موجود را لغو اتصال (و حذف) کنید و جریان جدیدی ایجاد کنید. بهعنوان مثال، اگر جاریسازی قالب ویدیویی اشتباهی را مشخص کند، ممکن است بهدرستی پیکربندی نشده باشد.
-
برای لغو اتصال جاریسازی ویدیو،
liveBroadcasts.bindروش را از مرحله ۱.۳ فراخوانی کنید. در درخواست API، پارامترidرا رویidبهدستآمده در مرحله ۱.۱ تنظیم کنید. پارامترstreamIdرا در درخواست وارد نکنید. -
برای حذف کردن جاریسازی ویدیو، روش
liveStreams.deleteرا فراخوانی کنید. در درخواست، پارامترidرا رویidبهدستآمده در مرحله ۱.۲ تنظیم کنید. -
مرحله ۱.۲ را تکرار کنید تا منبع جدیدی با پیکربندی صحیح
liveStreamایجاد کنید. سپس مرحله ۱.۳ را برای پیوند دادن جاریسازی جدید به همهفرستیتان و مراحل ۳.۱ تا ۳.۳ را برای آزمایش جاریسازی جدید تکرار کنید.
مرحله ۳.۶: فعال کردن داراییهای autoStart و autoStop
پساز اینکه مرحله آزمایشی را با موفقیت تکمیل کردید، میتوانید ویژگیهای
contentDetails.enableAutoStart
و contentDetails.enableAutoStop
همهفرستی را قبلاز شروع همهفرستی واقعی روی true تنظیم کنید. این ویژگیها را نمیتوان
قبلاز مرحله آزمایش روی true تنظیم کرد زیرا آزمایش درواقع باعث میشود
همهفرستی شروع شود.
مرحله ۴: همهفرستی
در این مرحله، ویدیو همهفرستی شما برای مخاطبانتان قابلمشاهده است.
مرحله ۴.۱: شروع ویدیو
انتقال ویدیو را در جاریسازی ویدیوییتان شروع کنید.
مرحله ۴.۲: تأیید کنید که جاریسازی ویدیویی شما فعال است
برای بازیابی منبع liveStream مرتبط با همهفرستیتان،
liveStreams.list
روش
را فراخوانی کنید. تأیید کنید که مقدار ویژگی status.streamStatus active است که نشان میدهد سرورهای YouTube دادهها را بهدرستی از کدبند شما دریافت میکنند.
مرحله ۴.۳: انتقال وضعیت همهفرستی به زنده
مهم: این مرحله باعث میشود ویدیو شما برای مخاطبانتان قابل مشاهده باشد.
برای بهروزرسانی وضعیت همهفرستی، روش liveBroadcasts.transition را فراخوانی کنید. مقدار پارامتر id را روی شناسه همهفرستی بهدستآمده در مرحله ۱.۱ تنظیم کنید و مقدار پارامتر broadcastStatus را روی live تنظیم کنید.
اگر ویژگی contentDetails.enableAutoStart منبع liveBroadcast را روی true تنظیم کنید، نیازی به فراخوانی روش liveBroadcasts.transition ندارید.
پساز برقراری این تماس میانای برنامهسازی کاربردی -- یا اگر ویژگی contentDetails.enableAutoStart
را روی true تنظیم کرده باشید، پساز شروع جاریسازی -- معمولاً باید ۵ تا ۱۰ ثانیه صبر کنید تا این انتقال تکمیل شود. این انتقال ممکن است تا یک دقیقه طول بکشد. در این مدت، باید از API نظرسنجی کنید تا وضعیت همهفرستی را بررسی کنید. تا زمانی که انتقال تکمیل شود، وضعیت پخش liveStarting خواهد بود. وقتی گذار کامل شود، وضعیت به live تغییر میکند و بینندگان میتوانند همهفرستی شما را از آن نقطه در جاریسازی مانیتور شما تماشا کنند.
به تأثیرات زیر این فرمان توجه کنید:
- اگر جاریسازی پایش را برای همهفرستیتان فعال کردهاید – مرحله ۳.۱ را ببینید – میتوانید جاریسازی پایش را در پخشکننده جاسازیشده ببینید.
- اگر مقداری برای دارایی
contentDetails.streamDetails.broadcastStreamDelayMsپخش زنده تنظیم کرده باشید، جاریسازی پخش زنده که برای بینندگان دیگر قابل مشاهده است به همان میزان زمان تأخیر خواهد داشت.
مرحله ۴.۴: درج وقفههای آگهی در همهفرستی
برای درج یک نقطه نشان، روش liveBroadcasts.cuepoint
را فراخوانی کنید. نقطه نشانه ممکن است وقفه آگهی را راهاندازی کند. در منبع cuepoint ارائهشده در بدنه درخواست، ویژگی durationSecs را روی طول دلخواه وقفه (برحسب ثانیه) که میخواهید نشان داده شود تنظیم کنید. (مقدار پیشفرض 30 است.)
در این زمان، YouTube تلاش میکند تا یک آگهی در پخشکننده ویدیو برای همه بینندگانی که هنگام درج نقطه آگهی درحال تماشای همهفرستی بودند، پخش کند. پخش شدن آگهی به عوامل مختلفی بستگی دارد، ازجمله دردسترس بودن آگهی و سابقه مشاهده آگهی بیننده. بینندگانی که وقفه آگهی را میبینند، پساز پایان وقفه آگهی به پخش شما بازمیگردند، درحالیکه بینندگانی که آگهی به آنها نشان داده نمیشود، درطول وقفه به تماشای جاریسازی پخش ادامه میدهند.
راهنمای شروع به کار اطلاعات بیشتری درباره تجربه تماشا درطول وقفه آگهی پخش زنده ارائه میدهد.
مرحله ۵: پایان دادن به همهفرستی
مرحله ۵.۱: توقف جاریسازی
آزمایش سیستم پخش زنده YouTube شما به پایان رسید.
مرحله ۵.۲: انتقال وضعیت همهفرستی به تکمیلشده
وقتی آماده توقف پخش هستید، روش
liveBroadcasts.transition
میانای برنامهسازی کاربردی را برای بهروزرسانی وضعیت پخش فراخوانی کنید. مقدار پارامتر id را روی شناسه همهفرستی که در مرحله ۱.۱ بهدست آوردهاید تنظیم کنید و مقدار پارامتر broadcastStatus را روی complete تنظیم کنید.
اگر ویژگیهای contentDetails.recordFromStart و contentDetails.enableDvr را روی true تنظیم کرده باشید، وقتی رویداد زنده بهپایان میرسد، مخاطبان شما میتوانند بلافاصله بازپخش رویداد زنده را تماشا کنند.
مرحله ۶: ایجاد مرجع
پساز تکمیل ضبط زنده، میتوانید از ویدیو ضبطشده یک مرجع ایجاد کنید. این اقدام به YouTube دستور میدهد تا ویدیوهای بارگذاریشده توسط کاربر را که با پخش مطابقت دارند جستجو کند و آنها را طبق خطمشی انطباق که در مرحله ۲.۳ تنظیم کردهاید، مدیریت کند.
مهم: برای ایجاد مرجع، باید
ویژگی contentDetails.recordFromStart همهفرستی را روی
true تنظیم کرده باشید.
مرحله ۶.۱: نظرسنجی Data API برای وضعیت ویدیو
YouTube باید پردازش یک همهفرستی یا ویدیو بارگذاریشده را تکمیل کند تا بتوانید از آن ویدیو مرجع ایجاد کنید. برای تعیین اینکه پردازش ویدیو تمام شده است یا نه، روش videos.list YouTube Data API را نظرسنجی کنید، پارامتر part را روی status و پارامتر id را روی شناسه همهفرستی که در مرحله ۱.۱ ذخیره کردهاید تنظیم کنید.
پاسخ میانای برنامهسازی کاربردی به درخواست نظرسنجی شما حاوی منبع video خواهد بود.
وقتی مقدار دارایی status.uploadStatus آن منبع
processed است، به
مرحله ۶.۲ بروید.
مرحله ۶.۲: ایجاد مرجع از ویدیو پردازششده
برای ایجاد مرجع خود، روش references.insert میانای برنامهسازی کاربردی Content ID را فراخوانی کنید
و پارامتر claimId
را روی شناسه ادعایی که در
مرحله ۲.۴ ذخیره کردهاید تنظیم کنید.
ارسال Content ID زنده
برخیاز شرکای YouTube میتوانند قبلاز اینکه پخش آنها به حالت testing منتقل شود، مرجع ایجاد کنند، اما این ویژگی برای همه شرکا دردسترس نیست. در آن جریان، YouTube مرجع را از جاریسازی همهفرستی رویداد زنده شما درحین همهفرستی تولید و بهطور مداوم بهروزرسانی میکند. علاوهبراین، YouTube درحالیکه پخش هنوز درحال انجام است، بهدنبال ویدیوهای بارگذاریشده توسط کاربر میگردد. توجه داشته باشید که ایجاد مرجع قبلاز شروع پخش زنده بهطور خودکار ضبط را برای پخش زنده روشن میکند و پساز ایجاد مرجع، ضبط را نمیتوان خاموش کرد.
برای فعال کردن همهفرستیتان برای ارسال Content ID زنده، پساز ادعای مالکیت ویدیو در مرحله ۲.۴، اقدامات شرحدادهشده در مرحله ۶.۲ را امتحان کنید.
اگر حساب شریک شما برای ایجاد مرجع برای پخش مستقیم قبلاز وقوع آن پخش تأیید نشده باشد، API خطای fingerprintingNotAllowed را برمیگرداند. در این صورت، باید تا تکمیل شدن پخش خود صبر کنید، همانطور که در مراحل ۶.۱ و ۶.۲ بالا توضیح داده شده است، سپس مرجع را ایجاد کنید.