Причиной написания статьи (может мануала?) стало желание облегчить жизнь будущим «первопроходцам» в этом вопросе, путем уменьшения количества шишек, грабель и велосипедов.
Не так давно появилась необходимость организовать просмотр IPTV для родителей. Ситуация осложнялось тем, что они проживают в другом городе, плюс их Интернет-провайдер не предоставлял такого рода услугу, да и от внутрисетевых энтузиастов ничего не было слышно.
Что же я имел на руках. NAS Synology DS413j, m3u-плейлист для IPTV от моего Интернет-провайдера, XBMC на медиасервере родителей.
Скармливать плейлист XBMC понятное дело не имело бы смысла, т.к. роуминг не позволял, а городить огород с объединением сетей через VPN не хотелось. Решил посмотреть, а есть ли что-либо готовое в DSM. В списке репозитария от SynoCommunity (http://packages.synocommunity.com) нашлось интересное приложение – TVHeadEnd.
Что же из себя представляет TVHeadEnd и почему окончательный выбор пал на него?
TVHeadEnd - это ТВ-потоковый сервер для Linux поддерживающий DVB-S , DVB-S2 , DVB-C , DVB-T , ATSC , IPTV и аналоговые видео (V4L) в качестве входных источников. Он содержит мощный и простой в использовании веб-интерфейс и позволяет упростить рутинный процессы связанные с поиском EPG (электронный телегид) и планированием записей.
А что самое главное у XBMC есть возможность подключить его в качестве источника ТВ со всеми вытекающими из это прелестями.
Прелести, надо сказать, весьма приятные:
• полноценный список ТВ-каналов;
• актуальная программа телепередач;
• возможность планировки просмотра передачи или её записи.
http://i60.fastpic.ru/big/2013/0909/80/3693a6cfe0a2078528b70bbdf6c23580.png
http://i60.fastpic.ru/big/2013/0909/05/b035ef117c215d225277a3edabd32005.png
Помимо всего прочего, приложение "висит" на двух портах (9981 и 9982), что позволяет сделать переадресацию портов на роутере и осуществлять подключение к TVHeadEnd из любой сети.
Ну что ж, это то что мне нужно. Можно приступать к настройке.
1. Установка TVHeadEnd
Как я уже говорил, установить приложение можно из репозитария SynoCommunity путем добавления в настройки «Центра пакетов» соответствующего адреса http://packages.synocommunity.com или порыться в теме http://www.synology.forum/index.php?showtopic=4894
После установки и предварительной настройки переходим в приложение http://nas-adress:9981/
2. Настройки TVHeadEnd
Надо настроить EPG Grabber который будет собирать информацию о ТВ-программах
Заходим в Configuration>>Channel/EPG>>EPG Grabber и видим что в пункте Module нет ничего кроме пункта Disable. А нам требуется, что бы здесь появился Граббер способный собирать информацию о российских тв.
http://i60.fastpic.ru/big/2013/0909/22/8efc829f9a920c90ea7f292fcf9ebc22.png
Такой Граббер существует и называется он TV_Grab_Ru. По сути это скрипт заберающий файл http://www.teleguide.info/download/new3/xmltv.xml.gz который и содержит расписание и описание телепрограмм. Файл можно скачать всё тут же http://www.synology.forum/index.php?showtopic=4894
Теперь нужно поместить TV_Grab_Ru-файл в каталог /usr/bin/ (я копировал через SSH с помощью Midnight Commander). После копирования остаётся выполнить в консоли две команды:
сделайте tv_grab_ru исполняемым
chmod a+x /usr/bin/tv_grab_ru
запустить скрипт
/usr/bin/tv_grab_ru
После запуска скрипта увидите «простыню» загруженных и распакованных данных.
Перезапускаем через Центра пакетов приложение TVHeadEnd и видим в в списке то что надо.
http://i60.fastpic.ru/big/2013/0909/ad/670e652f3d36576821e3e56dce27a6ad.png
3. Настройка списка каналов
В моём случаи в качестве источника данных (сигнала) я использую m3u-список IPTV от провайдера который содержит записи следующего вида
#EXTINF:-1,Наименование канала udp://@IP-адрес:порт
Дабы упростить себе жизнь, сначала добавим список ТВ-каналов, а потом добавим источник для этих каналов, но к сожалению, всё это надо проделать в ручную.
Заходим в Configuration>>Channel/EPG>> Channel. Нажимаем на «Add channel». Теперь самое нудно, нужно в выпадающем списке столбца «EPG Grabb source» найти канал который вы собираетесь добавить. Каналы в списке отсортированы по порядковому номеру, что указан в скобках в конце строки. Как можно быстро найте необходимый канал? Зайдите на страничку сайта http://www.teleguide.info/kanals.html, найдите нужный вам канал и наведите курсор на его название, в ссылке названия канала есть номер соответствующий номеру в списке столбца «EPG Grabb source» (к примеру Канал Discovery имеет ссылку http://www.teleguide.info/kanal226.html, это значит кто в списке Граббера он будет под номером 226-й).
После выбора в списке необходимого канала поля с именем и иконкой канала автоматически заполнятся.
Заполнив необходимые количество каналов в разделе «Channel» ножно переходить к добавлению источников этих самых каналов.
Что бы добавить канал в TVHeadEnd переходим в меню Configuration>>DVB Inputs>>IPTV
Нажимаем «Add service» и заполняем поля:
«Channel name» - Выбираем названиеканала из списка сформированного в разделе Configuration>>Channel/EPG>> Channel«Interface» - Вводим название сетевого интерфейса через который поступают данные (Ethernet), у меня eth0
«Group» - IP-адрес канала указанный в m3u-листе вашего провайдера или другой действующий IP с которого можно получать картинку этого канала
«UDP Port» - Порт указанный в m3u-листе следующий за IP-адресом
В итоге должно получиться такая картинка
http://i60.fastpic.ru/big/2013/0909/c6/ff49aa83bb18f6f6af912689824d13c6.png
На этом настройку TVHeadEnd можно считать законченной, пора переходить к настройке XBMC.
4. Настройка XBMC
В настройка XBMC (у меня использовалась 12я версия) находим пункт ТВ, по умолчанию он отключен, поэтому включаем его. XBMC предложит нам выбрать PVR-клиента, выберите TVHeadEnd HTSP Client и после его установки остается настроить адрес сервера с TVHeadEnd, порт и аунтификационные данные.
http://i60.fastpic.ru/big/2013/0909/07/a83dd9205a065e095e9387fe13d05a07.png
Перезапускаем XBMC и в основном меню выбрав пункт ТВ можем наблюдать список доступных нам каналов с тв-программой.
Что бы родители смогли на своём XBMC использовать мой список каналов TVHeadEnd, т.е. смотреть каналы моего провайдера, я включил переадресацию портов на роутере и настроил в их XBMC на мой IP-адрес.
Заключение
Теперь, после установки и настройки всех необходимых параметров, можно насладится просмотром своего любимого шоу или передачи из любого места. Так же есть возможность записывать по расписанию каналы или настроить Умный-фильтр который позволит, к примеру, записать все передачи в которых присутствует слово «КВН». Помимо всего прочего, имеются клиенты под мобильные платформы умеющие общаться с TVHeadEnd и через которые можно просматривать ТВ-программу, планировать запись или просто смотреть ТВ.