XBMC IPTV with SVP

From SmoothVideo Project
Jump to navigation Jump to search

См. также: Настройка ffdshow: XBMC (часть 1. Задвинутая)

Огромное человеческое спасибо Roman V.M. за предоставленный плагин IPTV PVR Simple 1.6.1 от автора anightik, за русификацию AeonNox, за терпение при ответах.
Так же благодарен за помощь участникам конференции iXBT

Возникающие вопросы по XBMC лучше задавать здесь, как показала практика тут не отвечают.

Disclaimer: автор всего лишь пользователь XBMC со всеми вытекающими.

В силу особенностей провайдеров часть мурзилки про настройку IPTV не может быть универсальной для всех.
Т.к. XBMC Direct Show не поддерживает UDP-пакеты (по крайне мере в версии 12.2) нужно предоставить XBMC незашифрованный http-поток для воспроизведения, что даже с таким простым провайдером как NetByNet требует отдельного шага в сторону в виде UDP2http proxy.
Уточнять особенности конкретного IPTV нужно на форуме провайдера, про состыковку XBMC с IPTV уже на тематическом форуме, например iXBT.
Как мне подсказывают из зала, Beeline и NetByNet раздают открытые IPTV-каналы незашифрованным мультикастом, так что настройка для Beeline совпадает с NetByNet во всей части инструкции кроме адресов каналов, что логично.
Дальнейшая настройка в части IPTV-потока показана на примере NetByNet.

Предварительно проверить IPTV от провайдера можно с помощью плера VLC.
Если VLC открывает IPTV, значит и XBMC c высокой степенью вероятности подхватит IPTV поток.

Настройки производились на XBMC DSPlayer 12.2 “Frodo” (Russian custom build).

Понадобятся:

  • незашифрованный IPTV-поток от провайдера
  • UDP2http proxy* в случае провайдеров передающих IPTV через UDP-мультикаст;
  • PVR IPTV Simple 1.6.1*. Для версии XBMC 12.2 (Frodo) требуется IPTV PVR Simple v.1.6.x, для XBMC 13 (Gotham) - 1.9.x;
  • AkelPad или любой другой текстовый редактор с поддержкой UTF8 для редактирования m3u-плейлиста;
  • плейлист со списком каналов провайдера*;
  • русификация* к красивой обложке AeonNox v.4
  • файлы с логотипами каналов*;
  • EPG-телепрограмма в формате xmltv.xml с сайта teleguide.info. Источником EPG может быть не только teleguide.info но и самостоятельно созданные файлы в формате xmltv.

Для файлов плейлистов, иконок программ и тп лучше держать отдельную папку, например в папке установки XBMC создать подпапку PVRSimple и в нее скопировать заранее подготовленный m3u-плейлист со списком теле- и радиоканалов, папку с логотипами телеканалов.

______________
Компоненты, отмеченные звездочкой *, можно скачать на нашем форуме


Красивое и необязательное: установка оболочки AeonNox

1. Обязательно перед установкой AeonNox переключаемся на англоязычный интерфейс: Система - Внешний вид - Языковые настройки - Язык - English

XBMC IPTV SVP 01.jpg

2. Устанавливаем AeonNox: в меню Система - Внешний вид - Обложка - Обложка выбрать подпункт Еще, в нем поставить AeonNox. AeonNox устанавливается только с репозитория.

3. Закрыть XBMC

4. Запустить Aeon-Nox-4.0-RU.exe - это самораспаковывающийся архив, который скопирует два файлика русификации в папку %AppData%\XBMC\addons\skin.aeon.nox\1080i с заменой.

5. Запустить XBMC и переключиться сначала на шрифт ubuntu: Система - Внешний вид - Обложка - Шрифты - Ubuntu, и только затем на русский интерфейс.

Xbmc-font.jpg

Настройка сетевого транспорта

UDP2HTTP proxy

NetByNet траслирует телевидение и радио через UDP мультикаст, но XBMC DirectShow не поддерживает UDP пакеты, поэтому потребуется UDP2HTTP proxy

Копируем его в отдельную папку и настраиваем:

XBMC IPTV SVP 06.jpg

  • Интерфейс UDP-мультикаст указывает на вход, сюда приходит IPTV, интерфейс http-сервера указывает на выход для конечных получателей IPTV.
  • В случае одного компьютера с внешним динамическим IP-адресом интерфейс UDP-мультикаст указываем 0.0.0.0, интерфейс http-сервера = 127.0.0.1.
  • По стандартам IANA не все порты можно использовать, лично я для персональных нужд использую порты от 50000 и выше, чего и вам советую. Для UDP2HTTP порт выбирается произвольно из незанятых, к примеру 55555.
  • После настройки адресов и портов наживаем Сохранить, устанавливаем UDP2HTTP как сервис соответсвующей кнопкой и все, с ним закончено.
  • В итоге адрес UDP2HTTP proxy примет вид http://127.0.0.1:55555/

Метрика сетевого интерфейса

В случае нескольких сетевых карт, установленных в компьютере, маршрут по-умолчанию для мультикаста может назначаться на интерфейс с меньшей метрикой, которая часто не совпадает с маршрутом по-умолчанию для остального адресного пространства. Такую ошибку сразу видно в таблице маршрутизации.
Исправить можно одним из двух способов:

  • прописать вручную дополнительный маршрут для 224.0.0.0/4 на шлюз провайдера, но в случае динамического адреса шлюз по-умолчанию может меняться, и ручной маршрут при смене подсети перестанет работать
  • изменить метрику сетевых интерфейсов: для подключения к интернету метрику поменьше, для остальных сетевых карт - побольше

XBMC IPTV SVP 13.jpg

Подготовка m3u-плейлиста для PVR IPTV Simple

Формат плейлиста UTF8, стандартный Блокнот его не понимает. Нужно использовать сторонний редактор, например AkelPad или NotePad++.

Понадобятся:

  • актуальный список каналов ТВ и радио. Спрашивайте у Вашего провайдера. Транслируемые каналы для NetByNet-регионы можно найти здесь
  • папка с логотипами телеканалов
  • распакованная ТВ-программа EPG XMLTV.XML отсюда

Образец записи одного канала m3u-плейлиста для PVR IPTV Simple

   #EXTINF:1 tvg-id="1" tvg-name="Первый_канал" tvg-logo="Первый" group-title="Федеральные каналы",Первый канал
   udp://@233.49.170.10:5000

Флаги плейлиста

  • tvg-id - channel id из файла XMLTV.XML для связки с EPG
  • tvg-name - имя канала в XMLTV.XML, по правилам пробелы заменяются на "_" (без кавычек), но это не важно
  • tvg-logo - имя файла логотипа канала без расширения
  • group-title - имя группы каналов
  • radio="true" - флаг для радиоканала, можно использовать с group-title для формирования групп
  • В конце запятой отделяется имя канала как оно будет показано в XBMC

В частном случае NBN адрес вещания канала дополняется адресом UDP2HTTP.
К примеру провайдер вещает Первый канал по адресу

   udp://@233.49.170.10:5000

в плейлист заносится адрес через прокси http://127.0.0.1:55555/

   http://127.0.0.1:55555/udp://@233.49.170.10:5000

В итоге файл плейлиста для PVR IPTV Simple примет следующий вид

   #EXTM3U
   #EXTINF:1 tvg-id="1" tvg-name="Первый_канал" tvg-logo="Первый" group-title="Федеральные каналы",Первый канал
   http://127.0.0.1:55555/udp://@233.49.170.10:5000
   #EXTINF:2 tvg-id="255" tvg-name="Пятый Канал" tvg-logo="Петербург 5 канал" group-title="Федеральные каналы",5 канал Петербург
   http://127.0.0.1:55555/udp://@233.49.170.51:5000
   #EXTINF:0 group-title="Радио" radio="true",Love Radio
   http://127.0.0.1:55555/udp://@233.49.170.224:1234
   #EXTINF:0 group-title="Радио" radio="true",Авторадио
   http://127.0.0.1:55555/udp://@233.49.170.227:1234

Редактировать плейлист провайдера для IPTV PVR Simple можно с помощью маленькой утилитки от Roman.V.M.. В ней только один маленький недостаток - она не понимает флаг radio="true"

Установка PVR IPTV Simple 1.6.1

PVR расшифровывается как Personal video recorder. Плагин PVR IPTV Simple позволяет просматривать LiveTV, слушать радио, подгружать программы телеканалов EPG в XMLTV формате и многое другое.

1. Если установлены другие PVR плагины - отключите их в меню Система - Дополнения - Включенные дополнения - Клиенты PVR после чего перезапустите XBMC.

2. В меню Система - дополнения выбрать пункт Установить из файла zip, в открывшемся окне выбрать файл pvr.iptvsimple.1.6.1.zip

3. После установки плагина необходимо перезапустить XBMC и настроить PVR IPTV Simple, для чего в меню Система - Дополнения - Включенные дополнения - Клиенты PVR выбрать PVR IPTV Simple Client

XBMC IPTV SVP 02.jpg

В подменю Основные необходимо выбрать подготовленный m3u-плейлист

XBMC IPTV SVP 03.jpg

В подменю Установки EPG нужно настроить ссылку для EPG программы и сдвиг по времени относительно нее. EPG программа располагается по адресу

   http://www.teleguide.info/download/new3/xmltv.xml.gz

время московское. Соответсвенно сдвиг EPG = часовому поясу относительно Москвы

XBMC IPTV SVP 04.jpg

В подменю Логотипы каналов нужно указать папку с файлами логотипов

XBMC IPTV SVP 05.jpg

Настройки плагина IPTV PVR Simple рсположены в файле %AppData%\XBMC\userdata\addon_data\pvr.iptvsimple\settings.xml

4. Для обновления телепрограммы лучше задать интервал не менее 12 часов = 720 мин: меню Система - ТВ - EPG

XBMC IPTV SVP 07.jpg

Настройка конфигурационных файлов

Файл, расположенный в папка установки XBMC\system\players\dsplayer\mediasconfig.xml* нужно дополнить правилом FFDShow Video Decoder для http-протокола примерно так

   <rule protocols="http">
     <source filter="lavfsplitter" />
     <splitter filter="lavf_splitter" />
     <video filter="ffdvideodec" />
     <audio filter="ffdaudiodec" />
     <shaders>
       <shader id="18" />
     </shaders>
   </rule>

Борьба с interlace'ом

Большинство каналов идет с интерлейсом.
Поэтому нужно включить деинтерлейсинг для IPTV
Простой способ: использовать комбинацию CTRL+SHIFT+D в SVP-менеджере
Атоматический способ: настроить FFDShow Video Decoder*
- узнать формат вещания. NetByNet транслирует обычные каналы в MPG2 формате, HD каналы - AVC1. Узнать можно через сам FFDShow Video Decoder, во время воспроизведения IPTV щелкнув по иконке в трее.
- создать допонительный профиль как копию профиля по-умолчанию
- включить в нем deinterlace в точности как показано на рисунке

XBMC IPTV SVP 12.jpg

LAV Video Decoder лучше не использовать, его деинтерлейсинг почему-то не убирает чересстрочку MPEG2 и поэтому в предыдущем пункте в качестве декодера задействован FFDShow Video Decoder

Заключение

В итоге после всего должно получиться примерно так:

Интернет-радио

XBMC IPTV SVP 09.jpg

Список каналов и программ

XBMC IPTV SVP 08.jpg

ТВ с интерполяцией кадров

XBMC IPTV SVP 10.jpg
Гуттиэре грустит что в XXI веке мы все еще смотрим 24к/с

Автор: Rimsky

Копировать без указания автора и первоисточника разрешается только представителям сексуальных меньшинств