IPTV-main
IPTV, или телевидение по протоколу интернета (англ. Internet Protocol Television) (IP-TV, IP-телевидение) — технология цифрового телевидения в сетях передачи данных по протоколу IP. Многие провайдеры Интернет, в том числе Гомельский «Гарант», предоставляют услугу IPTV («Сетевое ТВ») для своих клиентов, на бесплатной основе или за символическую плату. «Гарант» для этого использует свою транспортную сеть, что не влечет за собой расход интернет-траффика для абонентов с лимитными тарифными планами. В качестве протокола для вещания IPTV «Гарант» использует UDPмультикаст. Проблема в том, что далеко не все абонентские оконечные устройства этот протокол поддерживают. К примеру, большинство современных SMART-телевизоров IPTV в UDP-потоке отобразить не смогут. Для решения этой проблемы были разработаны специальные приложения под разные операционные системы, позволяющие передать данные из сетевого потока мультикаст канала (вещаемого по UDP) в HTTP соединение запрашивающего клиента. В OpenWRT для этого предназначен пакет под названием udpxy, об установке и настройке которого пойдет речь в этой статье.

  1. Итак, предположим, что у вас есть роутер с установленной на него системой OpenWRT и настроенным интернет-соединением. Откройте веб-интерфейс роутера и перейдите на вкладку System — Software. Нажмите кнопку Update lists для обновления списка доступных пакетов.
  2. openwrt_luci_system_software

  3. Перейдите на вкладку Available packages ниже, перейдите на вкладку с буквой «U», найдите в списке пакет udpxy и нажмите «Install» слева. После этого произойдет установка приложения udpxy, и оно должно появиться в списке установленных пакетов на вкладке Installed packages.
  4. openwrt_luci_system_software_udpxy

  5. Теперь поместим вновь установленный демон udpxy в автозагрузку. Для этого переходим на вкладку System — Startup, находим в списке udpxy и нажимаем кнопку Disabled справа. После этого значение Disabled должно измениться на Enabled, и udpxy будет добавлен в автозагрузку.
  6. openwrt_luci_system_software_udpxy_autorun

  7. Перезагрузите роутер. Для проверки работы udpxy наберите в адресной строке браузера: http://ip_адрес_вашего_роутера:4022/status. Должна появиться табличка со сведениями о работе сервиса, как на скриншоте ниже. Если сервис удачно запустился, можно переходить к редактированию плейлиста для IPTV и загрузке его в приложение для просмотра.
  8. web_udpxy_status

  9. Редактирование плейлиста заключается в следующем: нужно скачать плейлист с сайта провайдера (у «Гаранта» плейлисты находятся здесь) и открыть его на компьютере с помощью любого текстового редактора (к примеру, AkelPad или обычный Блокнот). Перед нами список каналов с UDP-адресами и портами. На каждый канал в файле формата *.m3u выделено две строки следующего вида:
    #EXTINF:2,ОНТ
    udp://@224.200.100.210:1234

    Нашей задачей является внесение правок в каждую ссылку следующим образом:
    udp://@224.200.100.210:1234 нужно заменить на http://192.168.0.1:4022/udp/224.200.100.210:1234
    Удобнее всего в AkelPad это сделать так: нажать Ctrl+R, ввести в поле «Что:» — udp://@, а в поле «Чем:» — http://192.168.0.1:4022/udp/, а потом нажать кнопку Заменить всё. После этого все ссылки в плейлисте приобретут нужный вид.
  10. akelpad_replace_playlist

    Если что-то пошло не так, и статус udpxy в браузере по адресу http://ip_адрес_вашего_роутера:4022/status не отображается:

  11. Вновь откройте веб-интерфейс роутера и перейдите на вкладку System — Software — Installed packages. Найдите в списке установленных пакетов udpxy и удалите его, нажав Remove слева.
  12. Запустите SSH-клиент Putty для доступа к CLI роутера. Введите IP-адрес роутера, выберите протокол — SSH, порт 22 и нажмите «Соединиться». После появления приглашения введите имя пользователя — root и ваш пароль от роутера. Далее в командной строке введите:
    opkg update
    opkg install udpxy

    Если установка прошла успешно, проверим, запустится ли udpxy, введя:
    /usr/bin/udpxy
    Должно появиться много текста с версией udpxy и описанием опций:
  13. openwrt_putty_udpxy

  14. Далее просмотрим конфигурационный файл udpxy, введя в консоли:
    cd /etc/init.d
    vi udpxy

    Должен открыться стартовый файл с настройками. Изначально менять ничего не рекомендуется, поэтому закройте редактор (:q — Enter).
  15. Теперь произведем пробный запуск сервиса командой:
    /etc/init.d/udpxy start
    Проверим, произошел ли запуск:
    ps |grep udpxy
    Вывод последней команды должен содержать более одной строки! Если вы видите только одну строку — сервис не запустился, и надо подробнее разбираться с файлом конфигурации /etc/init.d/udpxy. Если вы видите что-то вроде:
    openwrt_putty_udpxy_grep
    то всё хорошо, сервис работает. Проверьте, перейдя по ссылке http://ip_адрес_вашего_роутера:4022/status.
  16. Добавим наш демон в автозагрузку:
    /etc/init.d/udpxy enable
  17. Осталось только разрешить прохождение UDP-траффика через фаерволл, для чего откроем конфиг межсетевого экрана:
    vi /etc/config/firewall
    и добавим следующие правила:
    config rule
    option src wan
    option proto igmp
    option target ACCEPT
    config rule
    option src wan
    option proto udp
    option dest_ip 224.0.0.0/4
    option target ACCEPT

    Напомню, что для редактирования нужно нажать «i» на клавиатуре, после окончания редактирования «Esc», набрать в строке «:wq» (без кавычек) и нажать «Enter».
  18. Перезагружаем роутер, редактируем и загружаем в приложение плейлист и наслаждаемся просмотром!

Подобным образом мне удалось заставить работать IPTV от «Гарант» на новеньком SMART-телевизоре Samsung UE48J6500AU, который не поддерживает UDP-мультикаст, и, к тому же, не позволяет устанавливать сторонние виджеты и откатывать прошивку, но это уже совсем другая история 😉

На этом всё. В следующей статье я подробно остановлюсь на настройке и использовании виджетов для просмотра IPTV, доступных для установки в официальном магазине приложений Samsung Apps. Задавайте вопросы в комментариях, постараюсь на все ответить.


Источники:

  1. UDPXY — официальный сайт
  2. OpenWrt Wiki на русском языке — IPTV / UDP multicast
  3. ХабраХабр — Настройка IPTV в OpenWRT


About the Author

Continue Reading...

openwrt_luci_startscreen

IPTV, или телевидение по протоколу интернета (англ. Internet Protocol Television) (IP-TV, IP-телевидение) — технология цифрового телевидения в сетях передачи данных по протоколу IP. Многие...

Read Post
openwrt_luci_rusification_main

IPTV, или телевидение по протоколу интернета (англ. Internet Protocol Television) (IP-TV, IP-телевидение) — технология цифрового телевидения в сетях передачи данных по протоколу IP. Многие...

Read Post

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *