В данной статье мы рассмотрим настройку вещания медиаконтента, в частности IPTV, в домашних и офисных сетях с использованием встроенного DLNA-сервера xUPNPd .
Для чего это нужно: для просмотра контента IPTV на устройствах пользователя, не поддерживающих Multicast и плейлисты, без использования TV-приставки (STB). Всё , что необходимо — это устройство , на котором Вы собираетесь просматривать IPTV (телевизор, смартфон) с поддержкой dlna.
Для начала, рекомендации и ограничения:
1. Если Ваш телевизор поддерживает не только dlna, но и установку приложений, умеющих работать напрямую с мультикаст, плейлистами и тд, лучше использовать эти приложения. Вариант, рассмотренный в статье, рекомендован для оконечных устройств , поддерживающих dlna, но не позволяющих устанавливать приложения для работы с iptv.
2. Методом, рассмотренным в статье, можно воспроизводить только открытые каналы. То есть, если провайдер шифрует потоки, то ничего не выйдет и метод не применим.
3. Максимально эффективно будет использовать xupnpd в связке с udpxy для использования последнего в качестве конвертера multicast udp в http, понятный для телевизоров. Встроенный в xupnpd вариант крайне урезан и может доставлять проблемы, особенно при попытке смотреть iptv на нескольких устройствах одновременно. Особенно это важно в сетях, для доставки iptv в которых используется Multicast. Для сетей, отдающих поток открытых каналов по http в HLS, это не так критично. Порядок действий таков: сначала включаем udpxy (Services → Miscellaneous → Services IPTV →Multicast to http proxy→LAN либо в русском варианте Сервисы →Разное → Сервисы IPTV→ Преобразование мультикаста в http→LAN), затем включаем xupnpd и производим его настройку.
И так, приступаем к настройке.
В настройки xupnpd в web интерфейсе можно попасть следующем путём: Services → Miscellaneous → Services IPTV → DLNA media server (в русскоязычном варианте: Сервисы →Разное → Сервисы IPTV→DLNA медиа сервер) . По умолчанию он отключен (находится в статусе Disable / Отключить). После выбора Enable и применения настроек, статус сервиса изменится на «work» / «работает». После этого можно приступать к настройке (переходим в «Configure» / «Настройка»)
Web — интерфейс настройки xUPNPd выглядит следующим образом:
Способ №1 — загрузка плейлиста.
Самый простой и быстрый способ начать смотреть iptv — это загрузить плейлист , предоставляемый Вашим провайдером для онлайн-тв. Всё, что Вам необходимо сделать — это зайти в Playlists , выбрать плейлист в формате m3u , ранее скаченный на Ваш ПК , и загрузить его нажатием кнопки Send.
Результатом данной манипуляции будет появление плейлиста в списке на странице Playlists
Нажатием Back возвращаемся в главное меню. Теперь мы можем увидеть каналы, доступные для данного плейлиста, на своем телевизоре. Для примера, покажу как это выглядит на Smart TV от Samsung.
1. Заходим в список Источников (Source). Выбираем наш роутер в качестве сетевого устройства (его имя будет совпадать с тем, что отображается в качестве заголовка на стартовой странице настроек xupnpd)
2. Выбираем интересующий нас плейлист в случае, если их несколько (либо «кликаем» в единственный). Имя плейлиста будет, разумеется, то же самое, что и при загрузке его с локального хранилища.
3. В плейлисте в качестве медиафайлов будут представлены все доступные каналы. Просто выбрав интересующий, Вы можете начать просмотр.
Процесс простой настройки IPTV без использования STB можно считать законченным.
Способ №2 — настройка фида для автоматического получения плейлиста.
Как известно, оператор может менять состав плейлиста. Способ, описанный выше, потребует от пользователя контроля этого факта с последующей загрузкой обновленного плейлиста. То же касается централизованного вещания медиаконтента на предприятии. Чтобы избавить себя от указанных телодвижений , достаточно настроить фид. В этом случае, плейлист будет автоматически по таймауту либо по Вашей команде загружаться с указанного URL . Все фиды, настроенные в текущий момент, перечислены в разделе Feeds.
По умолчанию в Wive-ng добавлено несколько фидов операторов связи (это такие операторы Екатеринбурга как Конвекс, Планета и Инсис, омский ТТК), рекомендуется удалить все не нужные и оставить только те,которые будут использоваться.
Если Вы ранее создавали фид, но забыли его содержание, «зайти» в него через web gui xupnpd, к сожалению, невозможно. Но можно воспользоваться следующей командой:
[Wive-NG-MT@/]# cd etc/xupnpd/config && cat feeds.lua
результат будет выглядеть следующим образом:
feeds= { { "generic", "http://iptv.pantyushin.ru/oms.m3u", "TV-TTK-OMSK" }, { "generic", "http://www.adslclub.ru/tv/ws-omsk.m3u", "TV-RTK-OMSK" }, { "generic", "http://www.profintel.ru/files/tv/channels.m3u", "TV-INSIS-EKB" }, { "generic", "http://tv.convex.ru/tv_all.m3u", "TV-CONVEX-EKB" }, { "generic", "http://weburg.tv/playlist.m3u", "TV-PLANETA-EKB" }, }
т.е , имя фида, и соответствующие ему плагин и URL плейлиста.
Чтобы добавить собственный фид, соответствующий плейлисту оператора, необходимо в разделе Add feed заполнить три значения следующим образом:
Plugin = Generic
Feed data = m3u_url (т.е ссылка на плейлист в формате m3u)
Name = Любое наименование, под которым Вы хотите видеть Ваш плейлист в списке.
В моем случае настройка выглядит так:
После завершения настройки , жмём Add, для того, чтобы наши данные сохранились после покидания раздела Feeds — используем, как обычно, Save.
Важно: Поле Feed data чувствительно к регистру. Будьте внимательны при указании URL (лично я потратила кучу времени , чтобы понять,чяднт).
Если всё прошло успешно, то в списке фидов появится только что созданный фид с указанным Вами именем. Перейдя обратно в Playlists , Вы увидите, что ничего не изменилось — список по прежнему пуст. Не стоит пугаться. Если у Вас настроено ручное обновление фидов, то необходимо нажать Reload Feeds. После этого в списке плейлистов появится плейлист, соответствующий только что настроенному фиду. Плейлист появится на Вашем телевизоре по аналогии с разобранным выше Способом №1.
Важно: по умолчанию Feeds reload interval = Playlists reload interval = 0 , это означает, что обновление фидов и плейлистов производится по команде пользователя. Для автоматизации этого процесса необходимо задать таймаут в секундах: например, 86 400 для обновления раз в сутки. Также, необходимо задать ненулевое значение, если необходимо сохранять настроенные фиды даже после обновления ПО на более поздние версии.
Чтоб попасть в раздел настроек xupnpd , необходимо перейти в раздел Config
и найти блок «Common (restart needed)»
Здесь же можно изменить отображаемое имя Вашего устройства. Остальные настройки, без понимания зачем это делается, менять не стоит.
Не забываем сказать save в xupnpd, а также save & reboot самому роутеру , для сохранения rwfs.