LiveStreams

Ресурс 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
Метод или протокол, используемый для передачи видеопотока.

Допустимые значения для этого свойства:
  • dash
  • hls
  • rtmp (включая RTMPS)
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
Разрешение входящих видеоданных.

Допустимые значения этого свойства:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable. Выберите этот вариант, чтобы YouTube автоматически определял разрешение транслируемого видео. Также необходимо задать для параметра cdn.frameRate значение variable.
    Рекомендуемые настройки кодировщика можно найти в Справочном центре YouTube.
cdn.frameRate string
Частота кадров входящего видеопотока.

Допустимые значения:
  • 30fps
  • 60fps
  • variable – YouTube будет автоматически определять частоту кадров в вашем видео. Также необходимо задать для параметра cdn.resolution значение variable.
    Рекомендуемые настройки кодировщика можно найти в Справочном центре YouTube.
status object
Объект status содержит информацию о статусе трансляции.
status.streamStatus string
Статус потока.

Допустимые значения этого свойства:
  • active – поток активен, то есть пользователь получает данные через него.
  • created – трансляция создана, но не имеет действительных настроек CDN.
  • error – в трансляции произошла ошибка.
  • inactive – поток неактивен, то есть пользователь не получает данные через него.
  • ready – у трансляции есть действительные настройки CDN.
status.healthStatus object
Этот объект содержит информацию о состоянии трансляции, которую можно использовать для выявления, диагностики и устранения проблем с трансляцией.
status.healthStatus.status string
Код статуса трансляции.

Допустимые значения:
  • good – нет проблем с конфигурацией, для которых severity имеет значение warning или выше.
  • ok – нет проблем с конфигурацией, для которых уровень серьезности равен error.
  • bad – в трансляции есть проблемы, степень серьезности которых – error.
  • noData – у бэкенд-серверов YouTube нет информации о качестве трансляции.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Время последнего обновления статуса трансляции. Значение представляет собой временную метку UNIX в секундах.
status.healthStatus.configurationIssues[] list
Этот объект содержит список проблем с конфигурацией, влияющих на трансляцию.
status.healthStatus.configurationIssues[].type string
Определяет тип ошибки, влияющей на поток.
status.healthStatus.configurationIssues[].severity string
Показывает, насколько серьезной является проблема для трансляции.

Допустимые значения этого свойства:
  • info – видео транслируется зрителям без ухудшения качества.
  • warning – видео транслируется зрителям, но его эффективность не оптимальна.
  • error – видео нельзя транслировать зрителям.
status.healthStatus.configurationIssues[].reason string
Краткое описание проблемы. В документе Проблемы с конфигурацией ресурсов LiveStream указаны причины для каждого типа проблем с конфигурацией.
status.healthStatus.configurationIssues[].description string
Подробное описание проблемы. По возможности в описании также указывается, как устранить проблему. В документе Проблемы с конфигурацией ресурсов трансляций перечислены все типы проблем с конфигурацией и их описания.
contentDetails object
Объект content_details содержит информацию о трансляции, в том числе URL для загрузки субтитров.
contentDetails.closedCaptionsIngestionUrl string
URL, на который отправляются субтитры для этой трансляции.
contentDetails.isReusable boolean
Указывает, можно ли использовать поток повторно, то есть связать его с несколькими трансляциями. Вещатели часто используют один и тот же стрим для разных трансляций, если они проходят в разное время.

Если вы зададите значение false, то поток нельзя будет использовать повторно, то есть он будет связан только с одной трансляцией. Вот чем они отличаются от трансляций, которые можно использовать повторно:
  • Одноразовую трансляцию можно связать только с одной трансляцией.
  • Трансляции, которые нельзя использовать повторно, могут быть удалены автоматически после завершения.
  • Метод liveStreams.list не возвращает трансляции, которые нельзя использовать повторно, если при вызове метода параметру mine присвоено значение true. Чтобы получить ресурс для одноразовой трансляции, необходимо указать ее идентификатор в параметре id.