Варианты подключения IPTV приставки

IPTV (Internet Protocol Television) — технология цифрового телевидения в сетях передачи данных по протоколу IP. При этом обычно используются протоколы UDP и IGMP. Не следует путать IPTV с технологией OTT, когда видеопоток доставляется по протоколу HTTP от сервера в Интернете. В случае IPTV предоставлением видеопотока занимается именно Интернет-провайдер.

Существует несколько вариантов подключения IPTV приставок к Интернету. Ранее на сайте я уже частично описывал некоторые из них. Здесь я всё сведу в один итог.

Немного о технологиях:

UDP (User Datagram Protocol) позволяет быстро передавать видеопоток без необходимости обмена дополнительной информацией для установки соединения. При этом не гарантируется их доставка, что приводит (в случае потери пакетов) к пикселизации кадров, либо выпадению одного или нескольких кадров из потока. Однако обычно это не является критичным для телевидения (конечно если это не происходит постоянно). Потоковые медиа, многопользовательские игры в реальном времени и VoIP — примеры приложений, часто использующих протокол UDP. В этих конкретных приложениях потеря пакетов обычно не является большой проблемой.

IGMP (Internet Group Management Protocol) — протокол управления групповой (multicast) передачей данных в сетях, основанных на протоколе IP. Данный протокол служит для организации сетевых устройств в группы. Что это означает?

Представим себе, что в доме несколько человек на разных устройствах одновременно смотрят телеканал с одного сервера в Интернете по протоколу HTTP/HTTPS. В данном случае, несмотря на то, что каждому из клиентов доставляются одинаковые пакеты данных, по магистральному каналу по сути идёт множество копий одного и того же трафика (unicast маршрутизация). И если канал с битрейтом 5 Мбит/с смотрит 10 человек, то итоговая загрузка магистрального канала этим трафиком составит 50 Мбит/с. А если это будет многоэтажный дом на 700 квартир и каждый захочет посмотреть ТВ? А целый район или город… В этом случае пропускная способность сетей расходуется нерационально.

Иначе обстоит дело с IPTV. В этом случае клиент с помощью протокола IGMP подписывается у маршрутизатора на включение в группу. Клиенты просматривающие один и тот же канал попадут в одну группу трафика. Далее маршрутизатор начинает рассылку UDP трафика по клиентам группы, но уже используя multicast маршрутизацию. Клиенты, которые не подписаны на группу — IPTV трафик получать не будут. Таким образом, даже если к маршрутизатору будут подключены 100 клиентов, просматривающие один и тот же канал с битрейтом 5 Мбит/с, трафик от провайдера к маршрутизатору будет составлять всё те же 5 Мбит/с (а не 500 Мбит/с).

Вариант 1. Свитч до роутера

Это самый простой вариант, который не потребует никаких настроек на роутере. Берётся любой самый дешёвый неуправляемый свитч и включается в разрыв между вашим провайдером и вашим роутером. В этот же свитч включается IPTV приставка. Если приставка автоматически не получает IP-адрес от провайдера и при этом телевидение не работает, то попробуйте выставить следующие параметры:

  • IP: 10.0.0.1
  • маска: 255.255.255.252 (либо 30 бит)
  • шлюз: 10.0.0.1 (он для IPTV и не нужен, но некоторые приставки не дают оставить это поле пустым)
  • DNS: 8.8.8.8 и/или 8.8.4.4

При таком способе подключения убедитесь, что все необходимые программы уже установлены, так как на приставке не будет Интернета (если это не предусмотрено провайдером).

Вариант 2. Bridge на роутере

Это самый распространённый вариант подключения у провайдеров. В этом случае приставка подключается к одному из портов роутера, а в настройках роутера создаётся мост (bridge) между этим портом и WAN-портом (куда подключен кабель провайдера). У разных производителей такие настройки делаются по-разному.

Аналогично, если приставка не получила IP от провайдера, то пробуем настройки из предыдущего варианта. Ну и наличие Интернета опять же зависит от провайдера.

В случае с Микротиком настройка выполняется следующим образом:

Создаётся новый мост (пункт меню Bridge). Вводим название (например, «WAN-bridge»), включаем IGMP Snooping. На вкладке STP на всякий случай выключаем — none.

На вкладке Ports раздела Bridge порт который подключен к приставке, и порт который идёт к провайдеру (в моём случае это ether4 и WAN), помещаем в мост WAN-bridge:

Осталось только сообщить роутеру, что Интернет соединение ему нужно теперь производить через наш мост (раздел PPP):

Вариант 3. IGMP Proxy

Этот вариант хорош тем, что в любом случае на вашу приставку будет приходить как IPTV трафик, так и Интернет. Более того, IPTV можно будет смотреть на любом устройстве в локальной сети.

Для этого нужен роутер с поддержкой IGMP Proxy. Соответственно ищем такой пункт в настройках своего роутера (на Keenetic вроде есть). Ну а тем, у кого микротик, вот статья: Проброс IPTV через Mikrotik

Вариант 4. UDP Proxy (udpxy)

Наиболее сложный в реализации способ, но и, вроде как, самый надёжный. Огромное его преимущество в том, что IPTV можно будет смотреть в локальной сети даже на тех устройствах, которые его в принципе и не поддерживают: смартфоны, планшеты и т.д. Даже приставку в этом случае можно подключать уже не по кабелю, а по WiFi.

Суть этого способа заключается в том, что мы преобразуем multicast UDP трафик в unicast HTTP с помощью специальной программы udpxy. Из этого вытекает один минус: для запуска программы нужно какое-нибудь отдельное устройство с Linux на борту: домашний сервер, любой слабенький комп, Raspberry Pi, сам роутер. Иногда udpxy можно найти уже в штатной прошивке роутера, поэтому если вы его нашли в настройках — вам повезло.

Ну а как установить и запустить udpxy на своём железе можно почитать здесь: Установка udpxy в контейнере LXC для просмотра IPTV (всё аналогично делается в любой виртуальной машине или даже без неё). А установить на Mikrotik (с большими костылями) можно так: Mikrotik + IPTV через Udpxy