یک منبع liveStream حاوی اطلاعاتی در مورد جریان ویدیویی است که شما در حال انتقال به YouTube هستید. این جریان محتوایی را فراهم می کند که برای کاربران YouTube پخش می شود. پس از ایجاد، یک منبع liveStream می تواند به یک یا چند منبع liveBroadcast متصل شود.
روش ها
API از روش های زیر برای منابع liveStreams پشتیبانی می کند:
- list
- فهرستی از جریانهای ویدیویی را برمیگرداند که با پارامترهای درخواست API مطابقت دارند. اکنون آن را امتحان کنید .
- insert
- یک جریان ویدیویی ایجاد می کند. این استریم به شما امکان میدهد ویدیوی خود را به YouTube ارسال کنید، که سپس میتواند ویدیو را برای مخاطبان شما پخش کند. اکنون آن را امتحان کنید .
- update
- یک جریان ویدیویی را به روز می کند. اگر ویژگی هایی که می خواهید تغییر دهید نمی توانند به روز شوند، باید یک جریان جدید با تنظیمات مناسب ایجاد کنید. اکنون آن را امتحان کنید .
- delete
- یک جریان ویدیویی را حذف می کند. اکنون آن را امتحان کنید .
نمایندگی منابع
ساختار JSON زیر فرمت یک منبع liveStreams را نشان می دهد:
{
"kind": "youtube#liveStream",
"etag": etag,
"id": string,
"snippet": {
"publishedAt": datetime,
"channelId": string,
"title": string,
"description": string,
"isDefaultStream": boolean
},
"cdn": {
"ingestionType": string,
"ingestionInfo": {
"streamName": string,
"ingestionAddress": string,
"backupIngestionAddress": string
},
"resolution": string,
"frameRate": string
},
"status": {
"streamStatus": string,
"healthStatus": {
"status": string,
"lastUpdateTimeSeconds": unsigned long,
"configurationIssues": [
{
"type": string,
"severity": string,
"reason": string,
"description": string
}
]
}
},
"contentDetails": {
"closedCaptionsIngestionUrl": string,
"isReusable": boolean
}
}خواص
جدول زیر ویژگی های ظاهر شده در این منبع را تعریف می کند:
| خواص | |
|---|---|
kind | stringنوع منبع API را مشخص می کند. مقدار youtube#liveStream خواهد بود. |
etag | etagEtag این منبع |
id | stringشناسه ای که YouTube برای شناسایی منحصر به فرد جریان اختصاص می دهد. |
snippet | objectشی snippet حاوی جزئیات اولیه در مورد جریان، از جمله کانال، عنوان و توضیحات آن است. |
snippet. publishedAt | datetimeتاریخ و ساعتی که جریان ایجاد شد. مقدار در قالب ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) مشخص شده است. |
snippet. channelId | stringشناسهای که YouTube برای شناسایی منحصربهفرد کانالی که جریان را ارسال میکند، استفاده میکند. |
snippet. title | stringعنوان جریان مقدار باید بین 1 تا 128 کاراکتر باشد. |
snippet. description | stringتوضیحات جریان مقدار نمی تواند بیشتر از 10000 کاراکتر باشد. |
snippet. isDefaultStream | boolean این ویژگی در تاریخ 1 سپتامبر 2020 یا پس از آن منسوخ خواهد شد. در آن زمان، وقتی کانالی برای پخش زنده فعال شود، YouTube ایجاد یک جریان پیشفرض و پخش پیشفرض را متوقف میکند. لطفاً برای جزئیات بیشتر به اطلاعیه منسوخ شدن مراجعه کنید. این ویژگی نشان می دهد که آیا این جریان، جریان پیش فرض کانال است یا خیر.نحوه کار جریان های پیش فرض هنگامی که یک کانال YouTube برای پخش زنده فعال است، YouTube یک جریان پیش فرض و یک پخش پیش فرض برای کانال ایجاد می کند. این استریم نحوه ارسال ویدیوی زنده توسط مالک کانال به یوتیوب را مشخص میکند و پخش به این صورت است که بینندگان چگونه میتوانند جریان پیشفرض را ببینند. مالک کانال میتواند از روشهای liveStreams.list و liveBroadcasts.list برای شناسایی این منابع استفاده کند.جریان پیشفرض یک کانال بهطور نامحدود وجود دارد، زمان شروع یا پایان مرتبط با آن ندارد و نمیتوان آن را حذف کرد. مالک کانال فقط باید شروع به ارسال بیت های ویدیو کند و جریان به طور خودکار ادامه می یابد. هنگامی که یک جریان به پایان می رسد، YouTube پخش کامل شده را به یک ویدیوی YouTube تبدیل می کند و به ویدیو یک شناسه ویدیوی YouTube اختصاص می دهد. پس از تکمیل تبدیل، ویدیو در لیست ویدیوهای آپلود شده کانال قرار می گیرد. این ویدئو بلافاصله پس از پایان پخش در دسترس نیست و مدت تاخیر مربوط به طول واقعی پخش است. |
cdn | objectشی cdn تنظیمات شبکه تحویل محتوای پخش زنده (CDN) را تعریف می کند. این تنظیمات جزئیاتی را در مورد نحوه پخش محتوای خود در YouTube ارائه می دهد. |
cdn. format | stringاین دارایی از 18 آوریل 2016 منسوخ شده است و از 17 آگوست 2020 دیگر پشتیبانی نمیشود. درخواستهایی که تا آن تاریخ همچنان از این دارایی استفاده میکنند ناموفق خواهند بود. در عوض، از ویژگی های cdn.frameRate و cdn.resolution برای تعیین نرخ فریم و وضوح به طور جداگانه استفاده کنید. |
cdn. ingestionType | stringروش یا پروتکل مورد استفاده برای انتقال جریان ویدئو. مقادیر معتبر برای این ویژگی عبارتند از:
|
cdn. ingestionInfo | objectشی ingestionInfo حاوی اطلاعاتی است که YouTube ارائه می دهد و برای انتقال جریان خود به YouTube نیاز دارید. |
cdn.ingestionInfo. streamName | stringنام جریانی که YouTube به جریان ویدیو اختصاص می دهد. |
cdn.ingestionInfo. ingestionAddress | stringاگر از RTMP، DASH، یا HLS استفاده میکنید، نشانی اینترنتی انتقال اصلی که باید برای پخش جریانی ویدیو در YouTube استفاده کنید. شما باید ویدیو را به این URL پخش کنید. بسته به اینکه از کدام برنامه یا ابزاری برای رمزگذاری جریان ویدیوی خود استفاده می کنید، ممکن است لازم باشد URL و نام جریان را به طور جداگانه وارد کنید یا ممکن است لازم باشد آنها را در قالب زیر به هم متصل کنید: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo. backupIngestionAddress | stringنشانی اینترنتی انتقال پشتیبان که در صورت استفاده از RTMP، DASH یا HLS باید برای پخش جریانی ویدیو در YouTube استفاده کنید. شما این امکان را دارید که محتوایی را که به ingestionAddress ارسال می کنید به این URL به طور همزمان پخش کنید. |
cdn.ingestionInfo. rtmpsIngestionAddress | stringنشانی اینترنتی انتقال اصلی که در صورت استفاده از RTMPS باید برای پخش جریانی ویدیو در YouTube استفاده کنید. شما باید ویدیو را به این URL پخش کنید. بسته به اینکه از کدام برنامه یا ابزاری برای رمزگذاری جریان ویدیوی خود استفاده می کنید، ممکن است لازم باشد URL و نام جریان را به طور جداگانه وارد کنید یا ممکن است لازم باشد آنها را در قالب زیر به هم متصل کنید: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo. rtmpsBackupIngestionAddress | stringنشانی اینترنتی انتقال پشتیبان که در صورت استفاده از RTMPS باید برای پخش جریانی ویدیو در YouTube استفاده کنید. |
cdn. resolution | stringوضوح داده های ویدئویی ورودی. مقادیر معتبر برای این ویژگی عبارتند از:
|
cdn. frameRate | stringنرخ فریم داده های ویدئویی ورودی. مقادیر معتبر برای این ویژگی عبارتند از:
|
status | objectشی status حاوی اطلاعاتی درباره وضعیت پخش زنده است. |
status. streamStatus | stringوضعیت جریان مقادیر معتبر برای این ویژگی عبارتند از:
|
status. healthStatus | objectاین شی حاوی اطلاعاتی درباره وضعیت سلامت پخش زنده است که می تواند برای شناسایی، تشخیص و حل مشکلات پخش استفاده شود. |
status.healthStatus. status | stringکد وضعیت این جریان. مقادیر معتبر برای این ویژگی عبارتند از: |
status.healthStatus. lastUpdateTimeSeconds | unsigned longآخرین باری که وضعیت سلامت جریان بهروزرسانی شد. این مقدار یک مهر زمانی یونیکس را در چند ثانیه منعکس می کند. |
status.healthStatus. configurationIssues[] | listاین شی حاوی لیستی از مشکلات پیکربندی است که بر جریان تأثیر می گذارد. |
status.healthStatus.configurationIssues[]. type | stringنوع خطای مؤثر بر جریان را شناسایی می کند. |
status.healthStatus.configurationIssues[]. severity | stringنشان می دهد که این مشکل چقدر برای جریان است. مقادیر معتبر برای این ویژگی عبارتند از:
|
status.healthStatus.configurationIssues[]. reason | stringشرح مختصری از موضوع. سند Configuration Issues for LiveStream Resources دلیل مرتبط با هر نوع مشکل پیکربندی را مشخص می کند. |
status.healthStatus.configurationIssues[]. description | stringشرح مفصلی از موضوع. در صورت امکان، توضیحات اطلاعاتی در مورد نحوه حل مشکل ارائه می دهد. سند Configuration Issues for LiveStream Resources همه انواع مشکلات پیکربندی و توضیحات مربوط به آنها را فهرست می کند. |
contentDetails | objectشیء content_details حاوی اطلاعاتی درباره جریان است، از جمله نشانی اینترنتی دریافت زیرنویسهای بسته. |
contentDetails. closedCaptionsIngestionUrl | stringنشانی اینترنتی انتقال که در آن شرحهای بسته این جریان ارسال میشود. |
contentDetails. isReusable | booleanنشان می دهد که آیا جریان قابل استفاده مجدد است یا خیر، به این معنی که می توان آن را به چندین پخش متصل کرد. اگر پخش در زمانهای مختلف اتفاق بیفتد، معمولاً پخشکنندهها از یک جریان برای بسیاری از پخشهای مختلف استفاده مجدد میکنند. اگر این مقدار را روی false تنظیم کنید، جریان قابل استفاده مجدد نخواهد بود، به این معنی که فقط میتوان آن را به یک پخش متصل کرد. جریانهای غیرقابل استفاده مجدد به روشهای زیر با جریانهای قابل استفاده مجدد متفاوت هستند:
|