Если вы создаете приложение и хотите разрешить пользователям транслировать видео прямо на YouTube, вам потребуется работать с Youtube Live Streaming API. Использование этого API может быть очень сложным из-за необходимости выполнения нескольких шагов и отсутствия в Интернете фрагментов, которые вы могли бы использовать. У меня возникли проблемы с работой с этим API, поэтому я задал вопрос о переполнении стека. После некоторых проб и ошибок и того, что меня проигнорировали, я решил свою проблему и опубликовал ответ на свой вопрос.

Я пишу это, потому что не нашел никого, кто делал бы это с Javascript на клиенте, и поэтому надеюсь, что это поможет другим.

Давайте начнем. Чтобы сначала создать прямую трансляцию, вам следует просмотреть документацию API, чтобы познакомиться с некоторой терминологией. Чтобы выйти в эфир, необходимо выполнить несколько шагов: 1) аутентифицировать пользователя 2) создать трансляцию 3) создать поток 4) привязать поток к трансляции 5) отправить ваше видео на сервер, который кодирует видео и отправляет его на YouTube 6) перевести статус трансляции в прямой эфир.

Чтобы упростить визуализацию, ниже приведены шаги с соответствующими кнопками, которые необходимо нажимать по порядку. Все функции, которые выполняются при нажатии кнопок, можно увидеть ниже в коде.

Обратите внимание, что в производственной среде необходимо принять во внимание больше шагов, чтобы сделать это приложение более удобным для пользователя. Например, вам нужно также создать шаг для завершения трансляции на Youtube. Для этого следуйте документации и перейдите в broadcastStatus для завершения.

Вам может быть интересно узнать о шаге 5. Что ж, это довольно сложно. Вероятно, есть несколько способов сделать это, но я сделал это с помощью установки js-сервера node с FFmpeg для кодирования видео, а затем ретрансляции закодированного видео на Youtube. Код для этого можно найти ЗДЕСЬ.

Если вам интересно, вы можете ознакомиться с моим проектом с открытым исходным кодом, который позволяет пользователям одновременно транслировать на такие платформы, как Youtube и Twitch. Вот код, а вот ссылка, по которой можно попробовать продукт. Наслаждайтесь и не стесняйтесь обращаться ко мне, если у вас есть какие-либо вопросы о работе с API потоковой передачи в реальном времени.