Настройка IPTV в Tvheadend (HTTP/UDP)

Начиная с версии «AlexELECv5-20150303-r0021» добавлена возможность смотреть IPTV-потоки по протоколу «http» (unicast) в «Tvheadend». С «udp» (multicast) – не было проблем и раньше. В этом обзоре будут рассмотрены оба протокола (http/udp).

Начнем.

Включаем «Tvheadend» и перезагружаем систему.

Заходим в веб-интерфейс «Tvheadend» (http://ip-address:9981) и переходим на вкладку «Networks».

 

Добавляем «Сеть» — тип «IPTV». И заполняем параметры.

  • Из обязательных параметров здесь только «Network Name» (Имя Сети). Оно может быть любое.
  • Параметр «Network Discovery» (обнаружение сетевых ресурсов) полезен для спутникового ТВ (автоматический поиск транспондеров). Для IPTV-потоков не имеет смысла.
  • «Character Set» (Выбор кодировки) – я установил «UTF-8» для нормального отображения названий каналов в кириллице.

​Нажимаем «Create» (Создать) и переходим на вкладку «Muxes» (Мультиплексоры).

Здесь нажимаем «Add» (Добавить), выбираем созданную нами сеть и заполняем параметры.

Чтобы было понятнее, я привожу пример плейлиста (файл *.m3u) с которого добавляются каналы.

#EXTM3U

#EXTINF:0 tvg-name="2×2",2×2

udp://@238.1.18.2:1234

Обязательные параметры:

  • «URL» — собственно адрес потока. Тот же что и в файле, но без символа «@» (udp://238.1.18.2:1234).
  • «Interface» — имя сетевого интерфейса. Обычно «eth0» если у Вас проводное подключение или «wlan0» если беспроводное. Посмотреть можно на вкладке «Настройки ОС -> Сеть».

Второстепенные параметры (я не указывал):

  • «Mux Name» — имя транспондера
  • «Service Name» — имя канала

Мой провайдер вещает IPTV напрямую, не перекодируя сигнал, с сохранением всех параметров потока (так, как поток/канал идет со спутника). Поэтому мне не нужно вбивать названия каналов.

Как видите «Tvheadend» обнаружил еще 17-ть каналов, но работать они не будут. Программа обрабатывает «Mux» (транспондер) как спутниковый, но при этом правильные URL сама конечно не пропишет. Поэтому, просто удаляем их.

Осталось только «промапить» каналы и можно смотреть ТВ.

Теперь займемся HTTP-потоками (unicast).

Если Ваше интернет подключение не так называемая «Домашняя сеть», UDP-потоки Вам не доступны. Разве, что Вы сами организуете вещание в своей квартире. Поэтому – http.

Я создал еще одну сеть – «IPTV-HTTP», для наглядности. Хотя можно было обойтись и первой.

Переходим на вкладку «Muxes» и добавляем потоки. Здесь придется каждый канал добавлять отдельно. Сколько каналов – столько транспондеров.

Пример плейлиста:

#EXTM3U

#EXTINF:-1,Кинорейс 1

#EXTGRP:кино

http://iptv5.zargacum.net/iptv/key/101/index.m3u8

Единственный нужный здесь параметр – это «URL». Разберем эту строку подробнее.

pipe://ffmpeg -loglevel fatal -re -i http://iptv5.zargacum.net/iptv/key/101/index.m3u8 -vcodec copy -acodec copy -metadata service_provider=IPTV -metadata service_name=Кинорейс1 -tune zerolatency -f mpegts pipe:1

В общем, кроме того, что выделено жирным – Вы можете просто скопировать.

«pipe://» — указывает Tvheaden какой протокол будет использоваться. Все, что дальше — это запуск утилиты «ffmpeg» (/usr/bin/ffmpeg) с параметрами.

Выделенные части строки (параметрами ffmpeg):

  • Адрес потока IPTV (URL) — http://iptv5.zargacum.net/iptv/key/101/index.m3u8
  • «service_provider» — поставщик услуг, любое значение.
  • «service_name» — имя канала, любое значение.

Все остальные аргументы Вы можете узнать из справки по «FFmpeg». Некоторые замечания по опциям есть в вики Tvheadend.

Если коротко, о том, что означает эта строка: мы с помощью FFmpeg приводим поток в формат «mpegts» и засовываем его (поток) в трубу (pipe) откуда Tvheadend благополучно его берет.

К моему великому удивлению 🙂 – работает это очень хорошо.

Запускаем «Map Selected», так как добавился новый канал и проверяем, что получилось.

 

 

Партнеры

Декабрь 2016
Пн Вт Ср Чт Пт Сб Вс
« Ноя    
 1234
567891011
12131415161718
19202122232425
262728293031