Пиринговое (P2P) IPTV на Linux

Что больше всего нагружает канал интернета? Конечно, это видеопоток, особенно, высокого разрешения. Типичный пользователь сети «Интернет», обычно, сталкивается с этой проблемой при просмотре «IPTV». Происходит это, потому что не у всех вещателей видеопотоков есть необходимые мощности такие, как, например, у веб-сервиса «Youtube». Как быть в такой ситуации? Есть ли способы организовывать трансляции не имея таких мощностей? Способы существуют. Можно организовать трансляцию через «Youtube», но есть ли альтернативный способ? Да, и это «P2P» «IPTV».

Для начала необходимо разобраться как технология «P2P» позволяет добиться высокой скорости и отсутствия проблем присущих слабым системам транслирующим «IPTV»: зависание, сбои соединения, недоступность ресурса и т.п. Обеспечивается это при помощи ресурсов каждого пользователя, которые используют данный сервис. Происходит ретрансляция сигнала от каждого пользователя, который присоединился к просмотру «IPTV», аналогично, технологии «Торрент», «Tor», «Tox».

Это может приводит к различным проблемам, например, к быстрой разрядке аккумулятора на мобильных устройствах. Для ее решения необходимо ограничивать исходящую скорость приложения «P2P». Аналогично, методом конфигурирования параметров решаются и многие другие неисправности. Важно помнить, что для поддержания пиринговых сетей «P2P» нужно не только принимать, но и отдавать, где это возможно сделать без серьезных проблем, иначе это может приводить к вырождению «P2P» сетей.

К сожалению, сегодня не существует ни одной достойной открытой технологии «P2P» адаптированной под «IPTV». Но это важная тема, поэтому рассмотрим бесплатное решение «ACE Player HD». На «Windows» или «Android» установить подобное решение довольно просто, поэтому здесь будут рассмотрены варианты установки на ОС «Linux». Первый способ - это «PlayOnLinux» («Wine»). При помощи него удавалось настроить «Windows» версию «ACE Player HD» даже в «ROSA». Вторым способом будет решение по компиляции исходников или поиску готовых инструкций по компиляции для конкретной ОС в «Интернет».

Но самым простым способом и стабильным, не учитывая сложность установки виртуальной машины для тех, кто это не проделывал, является установка отдельной ОС «Linux», на которую существует официальная версия «ACE Player HD». На текущий момент - это старая версия «Ubuntu 14.04.5 LTS (Trusty Tahr)». После установки данной ОС (как установить ОС на виртуальную машину, можно посмотреть в статье «Настройка «OC Android» в виртуальной среде VMware») необходимо набрать следующие команды в «консоли» («терминале»):

echo 'deb http://repo.acestream.org/ubuntu/ trusty main' | sudo tee /etc/apt/sources.list.d/acestream.list
sudo wget -O - http://repo.acestream.org/keys/acestream.public.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install acestream-full

Теперь можно запустить «ACE Player HD», найти в «Интернет» «URL» ссылку на обновляемый «торренттв-плейлист» и запустить в «ACE Player HD». Открытие аналогично, как в программе «VLC», на которой основан «ACE Player HD». Также, можно установить плагины в браузеры, затем, зайти на сайты с «торренттв». В том числе, есть модуль для приложения «Linux» медиасервера «Kodi».

Для технологии пирингового «IPTV» существует множество каналов, среди которых есть «4k каналы» и «стерео-3D» с двумя изображениями. Обратите внимание, что плейлисты для «VLC» и для «ACE Player HD» отличаются. Для возможности просмотра канала через «торренттв» необходимы ссылки специального вида.

Далее, будут приведены скриншоты с параметрами, которые необходимо включить в «ACE Player HD» («VLC»). Для улучшения качества работы постоянно обновляемого потока видео, которые по умолчанию отключены. Логин и пароль для «ACE Player HD» не обязательны. В случае частой остановки на «пребуферизацию» необходимо увеличить «Буфер Live, c» в диапазоне от «10» до «60» в отдельных настройках «ACE Player HD». Если надпись «пребуферизацию» на экране с видео мешает ее можно убрать (она останется только внизу, на исчезаемой панели с инструментами). Для этого необходимо зайти в настройки «ACE Player HD» («VLC»), нажав «Ctrl+P», далее, выбрать «Субтитры/экранное меню» и убрать галку «Включить экранную индикацию». Для увеличения другого буфера кодеков, который тоже может улучшить непрерывность воспроизведения, необходимо выбрать «Ввод/кодеки» под «Субтитры/экранное меню» и в «Политика кэширования по умолчанию» поставить «наименьшая задержка».

В «Linux» есть проблема с выставлением некоторых стандартных разрешений по умолчанию. Для того, чтобы добавить такую возможность в параметрах системы необходимо выполнить ряд команд через «консоль» («терминал»). Эти команды можно поместить в файл «скрипта» и добавить в «автозапуск», тогда разрешение будет устанавливаться постоянно с запуском системы. В «ROSA» и «Linux Mint» «автозапуск» есть по умолчанию, а в «Ubuntu» его нет. Например, практически во всех «Linux» отсутствует разрешение «1920х1080 (FullHD)».

Рассмотрим именно это разрешение, но вместо данных параметров экрана всегда можно подставить любые другие. В первую очередь, необходимо набрать в «консоли» «cvt 1920 1080» и получить строку с характеристиками для этого разрешения. В полученной строке важно заменить «-hsync +vsync» на «-HSync +VSync», иначе «скрипт» для «xrandr» не заработает. Далее, можно создать исполняемый файл «скрипта» формата «.sh», который добавить в «автозапуск», со следующим содержимым (Название монитора может отличаться, смотрите его имя в настройках дисплея, параметров «Linux», для виртуальной машины, обычно, это «Virtual1»):

#!/bin/sh
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -HSync +VSync
xrandr --addmode Virtual1 "1920x1080_60.00"
xrandr --output Virtual1 --mode "1920x1080_60.00"

Все остальные настройки необходимо осуществить, также, через нажатие «Ctrl+P», но теперь, в первую очередь, нужно выбрать «Показать настройки» «Все». Самый обязательный параметр к включению находится в пункте «Ввод/кодеки» «Модули ввода» «HTTP(S)». Здесь необходимо включить галки «Автоматически восстанавливать соединение» и, обязательно, «Непрерывный поток». Если этого недостаточно, то можно поэкспериментировать с другими параметрами. Например, «Ввод/кодеки» «Демультиплексоры» «RTP» - «Макс. номер RTP-последовательности, приводящий к сбросу» (можно поставить максимально возможный). «Ввод/кодеки» «Демультиплексоры» «RTP/RTSP» - «Размер буфера кадров RTSP» (можно установить большее значение). «Дополнительно» «Сетевая синхронизация» - «Таймаут UDP (мс)» (можно установить большее значение).

Что еще можно сделать с «торренттв» в «ACE Player HD»? После установки данной программы на «Linux» вы можете начать ретранслировать эти каналы на все устройства внутри домашней сети. Будь-то «SmartTV», «телефон», другие «компьютеры без поддержки торренттв». На других компьютерах не нужно будет устанавливать «торренттв». Достаточно создать «обыкновенный плейлист» и открыть его в «VLC», либо в «Kodi». Как настроить «Kodi» для воспроизведения «IPTV» в «ROSA» показано ниже на скриншотах. Аналогично необходимо поступать на любом «Linux». В первую очередь, нужно установить два пакета «kodi» и «kodi-pvr-iptvsimple». После, запустить «Kodi» и настроить русский язык.

Теперь необходимо из «Главного меню» программы «Kodi» найти модуль «IPTV» настроить и включить его. Для этого, зайдите в «Дополнения», «Вход в браузер дополнений», «Мои дополнения», «Клиенты PVR» и выбрать «PVR IPTV Simple Client». Откроется меню модуля «IPTV», где необходимо нажать «Включить», затем «Настроить» и указать «Полную ссылку на обыкновенный плейлист M3U». Теперь необходимо перезапустить программу «Kodi». После перезапуска, выбрать «ТВ», «Каналы» и смотреть на любом устройстве. На этом функционал и модули «Kodi» не исчерпывается, поэтому можно изучать многие другие возможности данного медиасервера.


Печать