Ресурс 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 |
etagТег Etag этого ресурса. |
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Описание стрима. Значение не может содержать более 10 000 символов. |
snippet.isDefaultStream |
boolean
Поддержка этого свойства будет прекращена 1 сентября 2020 г. или позже. После этого YouTube перестанет создавать трансляции и эфиры по умолчанию, когда на канале включаются стримы. Подробную информацию вы найдете в сообщении о прекращении поддержки.
Это свойство указывает, является ли трансляция трансляцией по умолчанию для канала.Как работают трансляции по умолчанию Когда на канале 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Основной URL, который нужно использовать для передачи видео на YouTube по протоколу RTMP, DASH или HLS. На этот URL нужно передавать видеопоток. В зависимости от того, какое приложение или инструмент вы используете для кодирования видеопотока, вам может понадобиться ввести URL потока и название потока отдельно или объединить их в следующем формате: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo.backupIngestionAddress |
stringРезервный URL для трансляции видео на YouTube, если вы используете RTMP, DASH или HLS. Вы можете одновременно транслировать контент, который отправляете на ingestionAddress, по этому URL. |
cdn.ingestionInfo.rtmpsIngestionAddress |
stringОсновной URL, который нужно использовать для трансляции видео на YouTube по протоколу RTMPS. Вам нужно будет передать видеопоток на этот URL. В зависимости от того, какое приложение или инструмент вы используете для кодирования видеопотока, вам может понадобиться ввести URL потока и название потока отдельно или объединить их в следующем формате: STREAM_URL/STREAM_NAME |
cdn.ingestionInfo.rtmpsBackupIngestionAddress |
stringРезервный URL, который нужно использовать для трансляции видео на YouTube по протоколу RTMPS. |
cdn.resolution |
stringРазрешение входящих видеоданных. Допустимые значения этого свойства:
|
cdn.frameRate |
stringЧастота кадров входящего видеопотока. Допустимые значения:
|
status |
objectОбъект status содержит информацию о статусе трансляции. |
status.streamStatus |
stringСтатус потока. Допустимые значения этого свойства:
|
status.healthStatus |
objectЭтот объект содержит информацию о состоянии трансляции, которую можно использовать для выявления, диагностики и устранения проблем с трансляцией. |
status.healthStatus.status |
stringКод статуса трансляции. Допустимые значения:
|
status.healthStatus.lastUpdateTimeSeconds |
unsigned longВремя последнего обновления статуса трансляции. Значение представляет собой временную метку UNIX в секундах. |
status.healthStatus.configurationIssues[] |
listЭтот объект содержит список проблем с конфигурацией, влияющих на трансляцию. |
status.healthStatus.configurationIssues[].type |
stringОпределяет тип ошибки, влияющей на поток. |
status.healthStatus.configurationIssues[].severity |
stringПоказывает, насколько серьезной является проблема для трансляции. Допустимые значения этого свойства:
|
status.healthStatus.configurationIssues[].reason |
stringКраткое описание проблемы. В документе Проблемы с конфигурацией ресурсов LiveStream указаны причины для каждого типа проблем с конфигурацией. |
status.healthStatus.configurationIssues[].description |
stringПодробное описание проблемы. По возможности в описании также указывается, как устранить проблему. В документе Проблемы с конфигурацией ресурсов трансляций перечислены все типы проблем с конфигурацией и их описания. |
contentDetails |
objectОбъект content_details содержит информацию о трансляции, в том числе URL для загрузки субтитров. |
contentDetails.closedCaptionsIngestionUrl |
stringURL, на который отправляются субтитры для этой трансляции. |
contentDetails.isReusable |
booleanУказывает, можно ли использовать поток повторно, то есть связать его с несколькими трансляциями. Вещатели часто используют один и тот же стрим для разных трансляций, если они проходят в разное время. Если вы зададите значение false, то поток нельзя будет использовать повторно, то есть он будет связан только с одной трансляцией. Вот чем они отличаются от трансляций, которые можно использовать повторно:
|