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
Описание потока. Значение не может быть длиннее 10000 символов.
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 — нет проблем с конфигурацией, для которых серьезность является 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
Подробное описание проблемы. Когда это возможно, в описании содержится информация о том, как решить проблему. В документе Проблемы с конфигурацией для ресурсов LiveStream перечислены все типы проблем с конфигурацией и связанные с ними описания.
contentDetails object
Объект content_details содержит информацию о потоке, включая URL-адрес приема скрытых титров.
contentDetails. closedCaptionsIngestionUrl string
URL-адрес приема, куда отправляются субтитры этого потока.
contentDetails. isReusable boolean
Указывает, можно ли повторно использовать поток, что означает, что его можно привязать к нескольким широковещательным рассылкам. Вещательные компании часто повторно используют один и тот же поток для множества разных трансляций, если эти трансляции происходят в разное время.

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