Просмотр Торрент-ТВ в интерфейсе LiveTV XBMC, под Linux

Видео результата:[embedded content]ПреамбулаВсё время хотелось удобно смотреть ТВ (да, я смотрю ТВ) сразу в xbmc, в красивом интерфейсе с расписанием и пр. плюшками. IPTV мой провайдер не предоставляет, «тарелку» ставить как-то стрёмно, только ремонт сделали, тут опять кабель непонятно как в квартиру заводить. Качество видеопотока с внешнего usb тв тюнера для старого нетбука, выступающего в роли медиацентра, оставляет желать лучшего, да и ловит полтора канала. В общем, со всех сторон облом, долго думал я, пока не узнал о торрент-тв.Собственно, в статье о том, как его смотреть в нативном интерфейсе xbmc для ТВ.

Коротко Ставим mono 3.4+, vlc, acestream-engine, xbmc 13+; Качаем P2pProxy (http://mytalks.ru/index.php? topic=5196); Запускаем acestream (acestream-engine --client-console); Запускаем P2pProxy (mono /path/P2pProxy_console.exe -u username@gmail.com -p password); Ставим плагин к XBMC (https://github.com/const586/xbmc-addon-p2pproxy); … Profit! Специально для тех, кому не хочется углубляться, я написал скрипт-установщик всего этого добра для 64-битной ubuntu.

Просто выполните в терминале:

cd /tmp && wget http://alexstep.com/XBMC/p2pproxy/i.sh && chmod +x i.sh && sh i.sh И следите за усановкой, периодически подтверждая действия. После успешного выполнения скрипта останется только настроить немного xbmc и добавить пару строк в автозагрузку.Посмотреть код скрипта.Теперь подробнее Нам потребуются: XBMC 13 Gotham — версия xbmc начиная с которой нормально работает PVR. Аккаунт на torrent-tv.ru AceStream (бывший Torrent Strem) — о нём уже упоминали на хабре, программкка для потокового просмотра торрентов, т.е. например фильм с рутрекера можно сразу (после небольшой буферизации) начинать смотреть не дожидаясь пока он полностью скачается. P2pProxy — сервер, преобразующий поток acestream в формат iptv. Mono — кроссплатформенный .NET framework, нужен для запуска P2pProxy. VLC — медиаплатформа с открытым исходным кодом, для декодирования полученного видео. В результате у нас получится следующая схема: XBMC с помощью PVR плагина обращается к серверу P2pProxy, который с помощью acestream берёт p2p видео-поток с torrent-tv и в сконвертированном виде (vlc) отдаёт нам на просмотр как IPTV.

Установку буду описывать на примере ubuntu 14.04, думаю пользователи других дистрибутивов прекрасно смогут скорректировать под себя, в arch’е всё ставится ещё проще, т.к. все необходимые пакеты есть в AUR.

Видео установки Кому интересно вот достаточно длинное видео процесса установки всего нижеперечисленного на виртуальной машине.Содержание видео: Подготовка Обновим для начала систему: sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade

#так же нам пригодятся sudo apt-get install wget unzip Установка xbmcНа момент написания статьи XBMC 13 Gotham недоступна в официальных репозиториях ubuntu 14.04, так что ставим из репозитория xbmc-team:

sudo add-apt-repository ppa: team-xbmc/ppa sudo apt-get update sudo apt-get install xbmc Установка аддона torrent tvСтавится из xbmc-репозитория seppius для проверки работоспособности связки acestream и xbmc.Скачиваем архив для установки репозитория xbmc.Регистриуемся на torrent-tv.ru.Переходим в xbmc Система→Настройки→Дополнения→Установить из ZIP, выбираем скачанный архив repository.seppius.zip.После успешной установки включаем Torrent-TV XBMC в разделе видеодополнения, указываем в настройках свой логин и пароль.

Установка acestream (пожалуй, самый сложный этап)Если в archlinux достаточно набрать yaourt acestream, то в последней ubuntu всё не так просто, многие пакеты не поддерживаются. Я ставил по этой инструкции, привожу её тут с небольшими изменениями.

echo 'deb http://repo.acestream.org/ubuntu/ raring 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 Скачиваем архив с acestream-engine и всеми зависимостями (Зеркала 1,2, 3). cd /tmp wget http://alexstep.com/XBMC/AceStreamUbuntu_14.04.zip unzip AceStreamUbuntu_14.04.zip cd AceStream Ubuntu 14.04 Для 64-х разрядных систем: cd 64b/ sudo dpkg -i acestream-engine-fix-Ubuntu_14.04.deb Для 32-х разрядных систем: cd 32b/ sudo dpkg -i acestream.deb Возможно в терминале появится извещение о невозможности установки acestream-engine ввиду неустановленных пакетов: python-apsw и python-m2crypto, ставим: sudo apt-get install python-apsw python-m2crypto Ставим сначала все зависимости:

sudo dpkg -i *.deb И acestream-engine:

sudo apt-get install acestream-engine Запускаем в другом терминале и оставляем работать: acestreamengine --client-console Идём в xbmc Видео→Дополнения→Torrent TV и включаем какой-нибудь канал, ждём. Ждём. Ждём «картинку» и очень надеемся что она появится.

Сейчас главное убедиться в том, что acestream корректно работает, если этого не происходит, думаем что не так сделали на предыдущем этапе.

Установка mono

sudo apt-get install software-properties-common sudo add-apt-repository ppa: inizan-yannick/mono sudo apt-get update sudo apt-get install mono-runtime mono-devel Установка vlcТут всё просто нужная нам версия есть в официальных репозиториях:

sudo apt-get install vlc Установка и запуск P2pProxyСкачать программу можно отсюда.Я положил её в /home/user/p2pproxy/.Запускаем сервер командой mono /каталог/P2pProxy_console.exe -u email_аккаунта_на_torrent-tv -p пароль:

mono /home/user/p2pproxy/P2pProxy_console.exe -u mel11@mail.ru -p t0rshm0rs1tb0r Логин и пароль достаточно указать единожды, они будут сохранены в ~/.config/P2pProxy/settings.xml и дальше можно поднимать сервер без параметров.Идём по адресу http://127.0.0.1/help и видим что сервер работает.Сейчас в бесплатной версии нужного нам функционала нет, пока активируем демо-режим http://127.0.0.1/demo.После этого в списке http://127.0.0.1/help должны появится ссылки на модуль xbmc.pvr.

Собираем плагин для xbmcCтавим git, необходимые для сборки пакеты и копируем репозиторий

sudo apt-get install git build-essential libtool autotools-dev autoconf automake git clone https://github.com/const586/xbmc-addon-p2pproxy # переходим в каталог с исходниками cd xbmc-addon-p2pproxy sh autoge, sh ./configure make dist-zip Если ошибок не было, готовый к установке плагин лежит в текущем каталоге в zip архиве.Переходим в xbmc Система→Настройки→Дополнения→Установить из ZIP.

Прописываем в автозагрузкуТут один момент, — p2pproxy нужно запусть от юзера, не от рута, ну и acestream на всякий случай.В /etc/rc.local добавляем следующие строки, перед «exit».

su -s /bin/sh — user -c «mono /home/user/p2pproxy/P2pProxy_console.exe -u mail@gmail.com -p my_password» sudo -u user --set-home acestreamengine --client-console F.A. Q. Ну грузится расписание, — в каталоге plugins программы p2pproxy удали файлы cache_36.xml, epg_36.xml, epg_36.zip — это кэш, скорее всего он «битый» и перезапустите p2pproxy.Мало каналов, — нужен статус vip на торрент-твКак изменить порт или имя dlna сервера, — в ~/.config/P2pProxy/settings.xmlБуду дополнять по мере появления новых.

© Habrahabr.ru