Убираем лаги при просмотре стримов с TwitchGoodgame и разгружаем CPU

Убираем лаги при просмотре стримов с TwitchGoodgame и разгружаем CPU

При просмотре через браузер данные с сервера передаются к клиенту и сразу же транслируются на экране. И иногда данные на секунду или больше перестают передаваться (загруженность сети у вашего провайдера, не справляется сервер Twitch и т. д.), трансляция зависает. Прерывание передачи данных даже на несколько секунд негативно сказываются на стабильность.

Кроме того, данный способ позволяет смотреть трансляции без flash-плеера и вообще без браузера. Ещё загруженность ЦП станет меньше (особенно актуально для Linux, поскольку flash-плеер этой ОС не поддерживает аппаратное ускорение). Например, при просмотре через браузер на Linux мой ЦП (Core 2 Duo [email protected]) загружен на 80-90%, а при просмотре через альтернативный способ всего на 8-20%. Ещё экономится ОЗУ. Так что можно смотреть комфортно трансляции в FullHD с 60 fps на старых системах (при условии, что ваша видеокарта поддерживает аппаратное декодирование видео. Даже старые GF 8600gt поддерживают эту технологию).

Сейчас Twitch переходит на html5. HTML5 – это, конечно, хорошо, но новая технология крайне активно потребляет ресурсы ЦП. Например, у меня тормозят видеотрансляции даже в качестве «medium».

Итак, идея такова: сначала скачиваем кусочек стрима на на наш компьютер, в буфер. Размер буфера задаём сами, я рекомендую 32 мегабайта. Далее показываем не прямой эфир, а считываем данные из кеша (буфера). 32 мегабайта – это примерно 10 секунд стрима. Если даже передача видео со стрима остановится на некоторое время из-за нестабильного интернета или недостатки пиковой скорости, лагов не будет, данные берутся из заранее подготовленного кеша. 32 мегабайта в идеальных условиях обеспечат непрерывную трансляцию видео при потере интернет-соединия до 10-ти секунд. Далее буфер заполнится снова.

Приступим к делу. Linux

1) Установить livestreamer. Для семейства Debian (Ubuntu, Mint и т.д.): sudo apt-get install livestreamerДля Fedora:yum install livestreamerArch:pacman -S livestreamerGentoo:emerge net-misc/livestreamerЕсли вашего дистрибутива нет в списке или программа не содержится в стандартных репозитоиях, то скачайте программу вручную:https://github.com/chrippa/livestreamer

2) Установить любой поддерживаемый плеер. Я рекомендую воспользоваться VLC, либо mplayer. К сожалению, mplayer для дистрибутива Ubuntu 15.10 скомпилирован с неправильными ключами, поэтому вы не сможете воспользоваться версией из репозитория в последней версии Ubuntu.Например, для дистрибутивов с поддержкой apt:sudo apt-get install vlcДля других дистрибутивов аналогично предыдущему пункту.

3) Сконфигурировать livestreamer.Для этого открываем файл /home/$USER/.config/livestreamer/config. Для тех, кто не боится консоли:nano /home/$USER/.config/livestreamer/config

Либо откройте в вашем любимом текстовом редакторе. Для Ubuntu:gedit /home/$USER/.config/livestreamer/config

player – опция, отвечающая за выбор плеера. В данном случае используется vlc с внутренним кешем в 10 секунд. Для mplayer необходимо написать player=mpv --cache 8192.hls-segment-threads=3 – скачивание трансляции будет идти в 3 потока. Можно увеличить до 10-ти, минимальное значение же 1. Я не уверен, стоит ли менять это значение, но в теории, нужна создать многопоточность. Если у вас возникнут проблемы, поставьте «1».ringbuffer-size=32M – собственно, наш буфер, 32 мегабайта. Если у вас всё равно будут лаги, то попробуйте увеличить до 64-х МБ.

Всё, готово. Для просмотра стрима необходимо просто набрать в терминале livestreamer [ссылка на стрим] [качество]Напрммер,livestreamer http://www.twitch.tv/welovegames sourceДоступные качества (от лучшего к худшего): source, high, medium, low, mobile.

Для просмотра goodgame:livestreamer http://goodgame.ru/channel/ilyamaddyson/ 720pДоступные качества: 720p, 480p, 240p

Но это ещё не всё! Программа поддерживает несколько десятков сервисов онлайн-стримминга и не только. Список всех сервисов доступен на сайте:http://livestreamer.tanuki.se/plugin_matrix.html

Как можем убедиться, при просмотре стримов ЦП загружен всего лишь на 10-20%. Без этого способа загрузка CPU была бы 80-100%.

Windows

Поскольку программа консольная, а командная строка в системах Windows, на мой взгляд, отвратительная, да и система организации каталогов весьма странная, пользоваться программой на Windows не так удобно. Кроме того, пользователи Windows, как правило, боятся консоли. Но без паники! У вас всё получится.

1) Устанавливаем саму программуСкачайте инсталятор:http://livestreamer.tanuki.se/install.html#windows-binaries (нажмите на большую надпись installer)Запустите и установите. Ничего сложного, всё время жмите «далее» и примите условия лицензионного соглашения в случае необходимости.

2) Скачайте и установите плеер VLC, если он не установлен:http://www.videolan.org/vlc/download-windows.html

3) Включите показ скрытых файлов при необходимости. Откройте блокнотом или другим текстовым редактором файл livestreamerrc, находящийся в каталоге C:/Пользователи(Users))/[ИМЯ УЧЁТНОЙ ЗАПИСИ]/AppData/Roaming/livestreamer/(Например, у меня это C:/Пользователи/vodka2/AppData/Roaming/livestreamer/)

и добавьте в конец файла:player="C:Program Files (x86)VideoLANVLCvlc.exe" --file-caching=10000hls-segment-threads=10ringbuffer-size=32M

player="C:Program Files (x86)VideoLANVLCvlc.exe" --file-caching=10000 – путь к VLC плееру. Если у вас 32-х разрядная ОС, то это player="C:Program FilesVideoLANVLCvlc.exe"

Остальные опции описаны в предыдущей главе.

4) Готово. Программу необходимо открыть через командную строку (не бойтесь, далее мы автоматизируем процесс). Для этого открываем консоль (Пуск – выполнить – вписываем cmd и жмём enter. Либо находим командную строку в пуске в разделе стандартные).Вписываем cd «C:Program Files (x86)Livestreamer» либо «C:Program FilesLivestreamer» для 32-х разрядной ОС.

Запускаем саму программу командой livestreamer.exe [ссылка] [качество]Например: livestreamer.exe http://www.twitch.tv/welovegames sourceДоступные качества (от лучшего к худшего): source, high, medium, low, mobile.

Для просмотра goodgame:livestreamer http://goodgame.ru/channel/ilyamaddyson/ 720pДоступные качества: 720p, 480p, 240p

Но это ещё не всё! Программа поддерживает несколько десятков сервисов онлайн-стримминга и не только. Список всех сервисов доступен на сайте:http://livestreamer.tanuki.se/plugin_matrix.html

5) Создание bat-скриптаСоздайте текстовый файл и откройте его для редактирования. Впишите строку"C:Program Files (x86)Livestreamerlivestreamer.exe" http://www.twitch.tv/princesschu source(смените ссылку на нужного стримера и укажите верный путь до livestreamer)и сохраните. Смените расширение с txt на bat. Готово. Как только ваш любимый стример начнёт трансляцию. Вам лишь останется сделать двойной клик по этому файлу и наслаждаться потоковым видео.

Эпилог

Если вы обнаружите грамматические, стилистические, смысловые ошибки, просьба написать в комментариях. Также если у вас есть другие советы и рекомендации, например. По настройке программы, не стесняйтесь. Поделитесь с другими.

📎📎📎📎📎📎📎📎📎📎