Ретрансляция 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, как и многих других видеоплатформ и сервисов, которые утилита поддерживает.