Просмотр Торрент-ТВ в интерфейсе LiveTV XBMC, под Linux
Видео результата:
Преамбула
Всё время хотелось удобно смотреть ТВ (да, я смотрю ТВ) сразу в 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 kel14@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.
Собираем плагин для xbmc
Cтавим 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 alex.step.kellas@gmail.com -p mytortv"
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
Буду дополнять по мере появления новых.
http://habrahabr.ru/post/235523/
|