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

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