29.10.2020
Достаточно часто у администраторов локальной сети возникает вопрос: каким способом организовать просмотр 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
Войти в интерфейс Wowza Streaming Engine Manager и создать Stream файл
Запустить этот поток
После этого поток можно проигрывать с Wowza-сервера на странице корпоративного портала в любом HTML5 плеере с поддержкой протокола HLS. Ссылка на поток для плеера в нашем примере будет такая:
http://Конечно, использование Streamlink не одобряется Google, но, тем не менее, проект существует уже несколько лет и адаптируется под все изменения API YouTube, как и многих других видеоплатформ и сервисов, которые утилита поддерживает.