Ретрансляция live потока YouTube в локальной сети.

2020-10-29 13:52:00

Достаточно часто у администраторов локальной сети возникает вопрос: каким способом организовать просмотр live-трансляции YouTube на персональных компьютерах сотрудников организации таким образом, чтобы не открывать доступ к просмотру всего YouTube-контента и не перегрузить сетевое соединение с Интернетом запросами на просмотр потока от сотен или даже тысяч пользователей сети. Решить данную задачу можно специальными настройками HTTP прокси-сервера, но намного проще организовать ретрансляцию live-потока YouTube в корпоративную сеть c помощью Wowza Streaming Engine и open source утилиты Streamlink.

Streamlink можно использовать как в среде Linux, так и в Windows. Для дистрибутивов Linux поддерживаются готовые пакет установки и/или инсталляция средствами Python PIP (в случае CentOS, например). Для Windows имеется portable-версия, не требующая установки совсем.

Для начала приема потока необходимо запустить утилиту со следующими параметрами:

streamlink https://www.youtube.com/watch?v=XXXXXXX

Получить список имеющихся потоков :

Available streams: 144p (worst), 240p, 360p, 480p, 720p (best)

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

streamlink --player-external-http https://www.youtube.com/watch?v=XXXXXXX 720p Получить ссылку на поток ретрансляции, например: http://127.0.0.1:39611/

Войти в интерфейс Wowza Streaming Engine Manager и создать Stream файл

Запустить этот поток

После этого поток можно проигрывать с Wowza-сервера на странице корпоративного портала в любом HTML5 плеере с поддержкой протокола HLS. Ссылка на поток для плеера в нашем примере будет такая:

http://:1935/live/youtube.stream/playlist.m3u8

Конечно, использование Streamlink не одобряется Google, но, тем не менее, проект существует уже несколько лет и адаптируется под все изменения API YouTube, как и многих других видеоплатформ и сервисов, которые утилита поддерживает.