- PVSM.RU - https://www.pvsm.ru -
Всё началось с того, что любимая супруга попросила полноценное ТВ (дело в том, что мы не живем в России). Понятно, что IPTV в наше время не является проблемой, но подключать спутник ради пары каналов никакого желания не было, а смотреть ТВ на ПК супруга сразу отказалась. Как нельзя кстати, под рукой оказалась Raspberry Pi B+. О ней и пойдёт речь далее.
В качестве основного дистрибутива для «малинки» был выбран Raspbmc (теперь называется OSMC [1]). Не буду детально описывать процесс установки, поскольку он банально прост и заключается в разворачивании архива на Micro SD карточку. А с настройкой самой «малинки» для выхода в сеть справится любой айтишник.
Забегая вперёд не могу не упомянуть, что на Хабре уже была статья про Torrent-TV на базе XBMC [2], но там совсем иная реализация и, как мне показалось, она менее удобна:
Что ж, переходим к более интересной части.
Казалось бы, всё проще некуда — берем инструкцию [3] и радуемся, но не тут то было! Именно здесь и начинаются подводные камни. Теперь по порядку:
С ними и будем разбираться.
Камень №1 принимаем «as is» и двигаемся к камню №2.
Если кратко, Ace Engine работает на двух портах — 6878 для управления потоком и произвольный порт, для непосредственно стриминга видео. Первый формально слушает все интерфейсы, но команды принимает только с localhost, второй изначально слушает только 127.0.0.1. А для подключения с «малинки» нам нужен доступ на оба порта.
Поэтому, другого выхода кроме как использовать клиент-сервер («малинка» — ПК) вариантов нет. С моделью определились, идём дальше.
Конечно, в первую очередь ставим сам AceStream [4]. Можно поставить всё (движок+плеер+плагин для браузера), я же поставил только сам движок. Смотреть ТВ на ПК я не собираюсь.
Теперь нам нужно сделать port forwarding. Самый очевидный вариант netsh [5], к сожалению, не умеет делать portproxy на 127.0.0.1. А городить на Windows 7 полноценный NAT с forward никакого желания не было. Спасение нашлось на просторах интернета в виде порта [6] unix утилиты rinetd под ОС Windows.
Итак, нам нужно перенаправить два порта, один мы знаем, второй обновляется при каждом запуске Ace Engine и прописывается в файле acestream.port (в папке, где установлен AceStream). В моем случае, Ace будет работать постоянно, так что вполне устроит вариант с автозапуском вместе с ПК.
В этом месте каждый может сделать так, как ему будет удобно, я же поставил в автозагрузку batch файл следующего содержания:
start /d "c:UsersLexsAppDataRoamingACEStreamengine" ace_engine.exe
ping 127.0.0.1 -n 10 > nul
cd "c:UsersLexsAppDataRoamingACEStreamengine"
set /p port=<acestream.port
@echo 10.100.0.50 36001 127.0.0.1 6878 > rinetd.conf
@echo 10.100.0.50 36002 127.0.0.1 %port% >> rinetd.conf
start /d "c:UsersLexsAppDataRoamingACEStreamengine" rinetd.exe
10.100.0.50 — адрес ПК в домашней сети. С настройкой ПК закончили, идём дальше.
IP адрес для подключения к AceStream можно задать через GUI настройку плагина, а с портами придется сделать «грязный хак». Берём в руки напильник SSH и подключаемся к «малинке». Далее нам нужно отредактировать Python'овский скрипт, расположенный по адресу:
/home/pi/.kodi/addons/script.torrent-tv.ru/ts.py
В нём нужно указать порты, которые мы выбрали для перенаправления, в моём случае вот так:
239 if defines.ADDON.getSetting('web_port'):
240 self.webport = defines.ADDON.getSetting('webport')
241 else:
242 self.webport = '36001'
243 if defines.ADDON.getSetting('port'):
244 self.aceport = int(defines.ADDON.getSetting('port'))
245 else:
246 self.aceport = 36002
Сохраняем, перезапускаем плагин Torrent-TV и наслаждаемся полноценной работой плагина на «малинке»!
Автор: lexs
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/raspberry-pi/104639
Ссылки в тексте:
[1] OSMC: https://osmc.tv/
[2] Torrent-TV на базе XBMC: http://habrahabr.ru/post/235523/
[3] инструкцию: http://torrent-tv.ru/viewing_on_xbmc.php
[4] AceStream: http://wiki.acestream.org/wiki/index.php/AceStream_3.0
[5] netsh: https://ru.wikipedia.org/wiki/Netsh.exe
[6] порта: http://codewut.de/Port-Redirection-with-Windows
[7] Источник: http://geektimes.ru/post/266462/
Нажмите здесь для печати.