YouTube Live Streaming API: понимание трансляций и потоков

В этом руководстве представлен краткий обзор трансляций и потоков . В нем также обсуждаются примеры использования, показывающие, как вещатели используют API YouTube Live Streaming для создания этих ресурсов и управления ими.

  • Трансляция представляет собой событие, которое можно посмотреть на YouTube по мере его возникновения. Каждая трансляция представляет собой отдельное видео на YouTube. Трансляция может и должна быть привязана ровно к одному потоку.

  • Поток позволяет передавать аудио-видео контент на YouTube и определяет настройки потоковой передачи контента на YouTube. К одному и тому же потоку можно привязать до трех прямых трансляций. Вещательные компании также часто повторно используют один и тот же поток для множества разных трансляций, если эти трансляции происходят в разное время.

В остальных разделах представлены три варианта использования, которые объясняют, как пользователи API обычно используют широковещательные трансляции и потоки.

Настройка одного кодировщика

В наиболее распространенном случае использования API на вашем канале YouTube есть серия запланированных или повторяющихся прямых трансляций. Как владелец канала, у вас есть один кодер, и вы хотите настроить его только один раз. Итак, вы выполняете следующие действия:

  1. Создайте один ресурс liveStream в API.
  2. Используйте настройки доставки контента из этого ресурса, чтобы настроить кодировщик для канала.
  3. Обратите внимание: если у вас несколько каналов, вам необходимо создать отдельный поток для каждого канала.

  4. Создайте ресурсы liveBroadcast в API и привяжите все эти ресурсы к ресурсу liveStream . В этом сценарии все прямые трансляции, которые вы планируете для своего канала, используют одни и те же настройки потоковой передачи. Однако в любой момент времени в прямом эфире транслируется только одно событие, а видеоконтент каждой трансляции уникален.
  5. Каждый раз, когда происходит событие, обновите статус трансляции на testing или live и приступайте к трансляции этого события на YouTube.

Создайте один поток для каждой трансляции

Другой распространенный подход — создание отдельного потока для каждой трансляции. В этом сценарии вы создадите отдельный ресурс liveStream для каждого ресурса liveBroadcast , а затем настроите свой потоковый кодер на использование соответствующих параметров для каждой трансляции.

Этот подход может иметь смысл, если на вашем канале есть несколько повторяющихся трансляций, так что две трансляции могут происходить одновременно, что делает невозможным использование одинаковых настроек потоковой передачи для обеих трансляций. Фактически, ваш канал может рассматривать каждую повторяющуюся трансляцию как шоу и просто создавать один ресурс liveStream для каждого шоу. Тогда каждый эпизод одного и того же шоу будет представлять собой трансляцию, и все трансляции одного и того же шоу можно будет привязать к одному и тому же потоку.

Используйте один поток для создания одновременных трансляций

В этом сценарии вы хотите разделить прямую трансляцию на несколько одновременных трансляций. Таким образом, у вас есть один ресурс liveStream , привязанный к двум (или более) ресурсам liveBroadcast , которые одновременно имеют статус live .

Например, предположим, что ваш канал транслирует прямую трансляцию круглосуточно, 7 дней в неделю, но вы также хотите создать отдельное видео для интервью, которое происходит во время этой трансляции. В этом случае контент интервью является частью контента круглосуточной трансляции.

Чтобы справиться с этим случаем, вы создаете два ресурса liveBroadcast и привязываете обе трансляции к одному и тому же потоку. Трансляция ведется круглосуточно и ее ресурс имеет статус live задолго до начала интервью. Когда интервью начинается, вы обновляете статус ресурса, связанного с интервью, для live не меняя ресурс круглосуточной трансляции. Таким образом, вы одновременно транслируете один и тот же контент в два отдельных видео.

Когда интервью закончится, вы снова обновите ресурс трансляции интервью, на этот раз установив для него статус « complete . Однако вы не прекращаете потоковое видео, поскольку трансляция ведется круглосуточно и без выходных.