- PVSM.RU - https://www.pvsm.ru -

Телевидение через Acestream на Raspberry PI. Теперь в docker контейнерах

На хабре уже неоднократно упоминался AceStream: технология, предоставляющая пользователю доступ к видеопотокам по закрытому P2P протоколу AceStream, т.н. torrent телевидение. AceStream предоставляет доступ к распределенной сети доставки контента, т.е. просматривая телеканал пользователь передает данные другим пользователям, что позволяет кардинально снизить стоимость услуг.

А теперь хорошая новость для обладателей медиаплеера на основе raspberry (OSMC, LibreELEC): нашлась сборка acestream под arm [1], что позволило установить его прямо на raspberry pi. В этой статье предлагается инструкция по установке acestream, и всего необходимого для просмотра ТВ в докер-контейнерах под raspberry. На момент написания статьи, предлагаемое решение позволяет смотреть бесплатно большое количество телеканалов, впрочем без гарантий: acestream в любой момент может перестать быть бесплатным.

kodi live tv channels list screenshot

1. Установка docker на raspbian/osmc

Для docker существует родной инсталляционный скрипт: https://get.docker.com/ [2]. Он конечно создан для хипстерского метода curl-pipe-bash и я вам его советовать не буду :) К тому же на момент написания он был немного сломан и на RPi не работал. Поэтому надо выполнить несколько команд из-под root:

apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
apt-key adv -k 58118E89F3A912897C070ADBF76221572C52609D 
mkdir -p /etc/apt/sources.list.d
echo deb [arch=armhf] http://apt.dockerproject.org/repo raspbian-jessie main > /etc/apt/sources.list.d/docker.list
sleep 3; apt-get update; apt-get install -y -q docker-engine

Таким образом мы добавили в систему новый репозитарий, ключи для него, и установили пакет docker-engine. Теперь, для запуска докер демона можно воспользоваться командой systemctl start docker

2. Установка acestream

Для установки acestream достаточно положить service file [3] в директорию /etc/systemd/system и запустить средствами systemd, например так:

curl -sSL https://raw.githubusercontent.com/aaaler/acestreamproxyvlc-pi/master/acestream.service > /etc/systemd/system/acestream.service
systemctl daemon-reload
systemctl enable acestream
systemctl start acestream

Если при запуске нужный докер-образ не будет найден — докер его скачает сам. поэтому первый запуск сервиса потребует значительного времени. Если хочется видеть прогресс загрузки — можно заранее скачать образ командой docker pull aaaler/acestream-pi.

Теперь AceStream запущен и отвечает на порту 62062. Этого достаточно, например, для работы дополнений к Kodi типа torrent-tv, lostfilm и других приложений, использующих acestream напрямую. Однако можно пойти дальше, и настроить в Live TV в Kodi. Для этого потребуется поднять еще пару контейнеров.

3. Установка aceproxy [4]

Для работы Live TV необходимо передать Kodi список каналов в виде плейлиста, и для этого ValdikSS [5] написал специальный прокси. Он слушает запросы по HTTP и передает их в AceStream, а приходящий из AceStream видеопоток — раздает средствами VLC. Т.к. авторcкий репозиторий давно не обновлялся, для построения образа был выбран этот форк [6].

Сначала нужно разложить конфиги:

mkdir 
curl -sSl https://raw.githubusercontent.com/aaaler/acestreamproxyvlc-pi/master/etc/torrenttv.py > /etc/aceproxy/torrenttv.py 
curl -sSl https://raw.githubusercontent.com/aaaler/acestreamproxyvlc-pi/master/etc/p2pproxy.py > /etc/aceproxy/p2pproxy.py

Если у вас есть vip аккаунт на torrent-tv — пропишите ссылку на плейлист AceStream (из личного кабинета) в файле /etc/aceproxy/torrenttv.py. Использовать torrent-tv необязательно, есть и другие источники не требующие регистрации.

Кроме того, есть возможность сконфигурировать плагин p2pproxy [7] для просмотра каналов через DNLA.
Теперь скачаем service файл и запустим контейнеры средствами systemd:

curl -sSL https://raw.githubusercontent.com/aaaler/acestreamproxyvlc-pi/master/aceproxy.service > /etc/systemd/system/aceproxy.service
curl -sSL https://raw.githubusercontent.com/aaaler/acestreamproxyvlc-pi/master/vlc-nox.service > /etc/systemd/system/vlc-nox.service
systemctl daemon-reload
systemctl enable aceproxy
systemctl start aceproxy

При запуске aceproxy все необходимые компоненты будут запущены автоматически. Теперь нам доступны для скачивания обычные m3u плейлисты соответствующих плагинов:

playlist url service
http://127.0.0.1:8000/torrenttv/playlist.m3u torrent-tv.ru [8]
http://127.0.0.1:8000/torrent-telik torrent-telik.ru [9]
http://127.0.0.1:8000/allfon allfon.org [10]

Более подробно про использование aceproxy можно почитать у ValdikSS в Wiki [11]

4. Настройка плеера KODI

Все вышеописанное используется мной для просмотра TV в плеере KODI. В нем есть функция показа Live TV, она включается в SYSTEMSettingsTVGeneral.

kodi settings enable live tv screenshot

После этого Kodi сообщит, что требуется включить PVR addon, и покажет их список. (Если этого не произошло, список PVR аddons можно найти в SYSTEMAdd-onsMy add-ons). Выберите PVR IPTV Simple Client, включите его (enable), и укажите в настройках playlist url выбраного плагина.

kodi settings live tv playlist screenshot

В разделе EPG Settings можно указать ссылку на программу передач — epg. Я использовал http://api.torrent-tv.ru/ttv.xmltv.xml.gz

Кроме того, переключение каналов в acestream может занимать значительное время, так что рекомендую увеличить таймаут на переключение каналов в экспетном режиме настроек SYSTEMSettingsTV

kodi settings timeout channel switch screenshot

После подтверждения опций, рекомендуется перезапустить kodi. При следующем запуске, должны подгрузиться каналы и появится раздел TV в главном меню.

kodi settings live tv playlist screenshot

Автор: aaaler

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/raspberry-pi/214215

Ссылки в тексте:

[1] сборка acestream под arm: https://dl.bintray.com/pipplware/dists/unstable/armv7/misc/acestream_rpi_3.1.5.tar.gz

[2] https://get.docker.com/: https://get.docker.com/

[3] service file: https://github.com/aaaler/acestreamproxyvlc-pi/blob/master/acestream.service

[4] aceproxy: https://github.com/ValdikSS/aceproxy

[5] ValdikSS: https://habrahabr.ru/users/valdikss/

[6] форк: https://github.com/AndreyPavlenko/aceproxy

[7] p2pproxy: https://github.com/ValdikSS/aceproxy/wiki/P2PProxy-%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD

[8] torrent-tv.ru: http://torrent-tv.ru

[9] torrent-telik.ru: http://torrent-telik.com

[10] allfon.org: http://allfon.org

[11] у ValdikSS в Wiki: https://github.com/ValdikSS/aceproxy/wiki

[12] Источник: https://habrahabr.ru/post/316208/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best