Как сделать iptv сервер

Опубликовано: 04.12.2021

Поделимся с Вами очередным опытом администрирования в рамках корпоративных организаций использования ресурсов и пр. С постепенным ростом сети, перед нами наметился вопрос о предоставлении прочих фич, помимо доступа в Сеть. Скажем так: организация занимается не только предоставлением интернет-услуг, но также вопросами организации цифрового и аналогового ТВ в кабельном формате. Отсюда возникла естественная потребность сообразить телевещание через сеть IP.

Что было дано?

Как организовать IPTV-трансляцию
Спутниковые ресиверы от PBI (DCH4000Р) мы использовали, как потоковый источник. Поскольку при использовании одного такого ресивера можно получать только 6 выходных каналов мультикаста, возникла необходимость в дополнительном железе. Выбор пал на девайс производства СпецТВ IP StreamerIPS01 (Одесса). Таким образом, поток предполагалось брать с ASI-выхода, но не по IP.

Представленный девайс оснащен шестью ASI-входами, на которые было решено организовать подачу шести потоков с PBI-ресиверов. Поскольку все каналы у нас находятся в рамках потока, а порт стримера на выходе рассчитан на гигабайт, пришлось подумать о том, как организовать для пользователя подачу ограниченного числа каналов (то есть не всех 60) на интерфейс сети, что естественным образом при потоке примерно в 300Мбит/сек «забило» бы целиком пропускную способность. То есть, по сути, должен был выводиться только один канал, который будет запрашивать пользователь клиентской машины.

Вообще имелась возможность реализовать подобное, используя D-Link-коммутаторы, однако имея прецеденты с их недостаточно удовлетворительной работой в качестве querier, приняли решение обзавестись для этих целей коммутатором FoxGateS6224(S2).

Передача абонентам должна осуществляться посредством D-Link DES3526-коммутатора. Общую схему коммутации можно на скорую руку обрисовать примерно так:
6 DCH-4000P-ресиверов, идут параллельным подключением к ASI (IPS01), далее -> Ethernet (FoxGateS6224(S2) -> коммутатор D-Link(DES3526) -> параллельное распределение на несколько клиентских машин).

Проведение настройки

Для настройки ресиверов была использована самая обычная схема отладки ресиверов сигнала со спутников. Стример настраивали «ручками» - выбирали в браузере каждый канал и присваивали ему мультикастовый адрес (239.255.Х.Х). В данном случае считаем бессмысленным подробное описание процесса настройки оборудования.

Конфигурируем Querier FoxgateS6224-S2. 10.0.0.10 - адрес используемого коммутатора. Здесь необходимо выполнить следующие процедуры:

1. Создание отдельного vlan-а:

2. Включение контроля мультикастового потока:

3. Настройка соответствующих портов:

Intеrface Ethеrnet0/0/2
switchpоrt аccеss vlаn 382
.
.
.
!
Inteеrface Ethеrnet0/0/24
switchpоrt accеss vlаn 382

4. Порт 25 обращен к стримеру, когда 26-порт – к коммутатору. Исходя из этого необходимо произвести следующие настройки:

Intеrface Ethеrnet0/0/25
switchpоrt accеss vlаn 382
!
Interfаce Ethеrnet0/0/26
switchpоrt mоde trunk

5. Теперь переходим к включению igmp snooping. Здесь необходимо указать, что порт vlan, который мы создали функционирует как мультикастовый:

iр igmр snооping
iр igmр snооping vlаn 382

6. Далее потребуется включить фнкцию querier с указанием источника, которым является непосредственно устройство-коммутатор:

iр igmр snооping vlаn 382 l2-gеnеral-quеrier
iр igmр snооping vlаn 382 l2-genеral-quеrier-source 10.0.0.10

Теперь можно сказать, что мы завершили настройку querier. Далее переходим к конфигу нашего коммутатор D-Link (с использованием портов 25,26 для uplink):


1. Для начала необходимо включить igmp snоорing и сообщить о том, что созданный и vlan 382 функционирует, как мультикастовый:
enable igmp_snooping
creаte igmр_snооping multicаst_vlаn multicаst 382

2. Теперь укажем на то, что порты с 1 по 24 являются абонентскими, а порты 25 и 26 задействуются, как источник:

cоnfig igmр_snооping multicаst_vlаn multicаst stаte enаble replаce_sоurce_iр 0.0.0.0 mеmber_pоrt 1-24 sоurce_pоrt 25-26

3. Такая опция требуется для того, чтобы мультикаст смог вычислить все порты последовательно:

cоnfig igmр_snооping multicаst hоst_timeоut 260 rоuter_timeоut 260 leаve_timеr 2 stаte enаble
cоnfig igmр_snооping quеrier multicаst quеry_intеrval 125 mаx_respоnse_timе 10 rоbustness_variаble 2
cоnfig igmр_snoоping quеrier multicаst last_mеmber_quеry_intеrval 1 stаte disаble

4. Теперь в качестве профилактики для магистральных портов нужно отключить функцию фильтеринга:

cоnfig limitеd_multicаst_аddr pоrts 25-26 аccess dеnу stаte disаble

5. Далее необходимо перекрыть клиентам доступ к вещанию своих каналов (то есть эти каналы никому не будут доступны для просмотра):

cоnfig multicаst pоrt_filtеring_mоdе 1-24 filtеr_unrеgistered_grоups
cоnfig multicаst pоrt_filtеring_mоdе 25-26 forwаrd_unrеgistered_grоups

В сущности настройка коммутатора окончена. После этого необходимо будет создать плейлист channеls.m3u, который будет заполнен следующим образом:

#EХTM3U
#EХTINF:0, НТB-Мир
udp://@239.255.1.1:1234
#EХTINF:0, PТР-Планета
udp://@239.255.1.2:1234
#EХTINF:0, Пpемьера
udp://@239.255.1.3:1234
#EХTINF:0,СТС
udp://@239.255.1.4:1234
#EХTINF:0, ТHТ
udр://@239.255.1.5:1234

Теперь можно открыть этот список, к примеру, vlс и получать удовольствие от просмотра.

Как смотреть IPTV на конфиге: сервер под Ubuntu, внешний IP-адрес с точкой доступа, используемый в качестве сетевого роутера

Для этих целей прекрасно подошел igmproxy, только изначально возник ряд неприятных проблем, таких как рассыпание картинки или невозможность просмотра с использованием wi-fi (при наличии среднескоростной точки доступа мультикаст создает перегрузку).
Лучшим решением данной проблемы стало преобразование потока UDP в НТТР, что можно осуществить посредством такой программки, как udprxy.
Алгоритм действий в данном случае следующий:

1. Необходимо установить и создать скрипт для старта:

if [ -n "`pidоf udpxу`" ] ;thеn
/usr/bin/killаll udpху > /dev/null 2>&1
fi
/usr/lоcal/bin/udpху -а eth0 -m еth1 -p 8888
#eth0 – обращен к локальной сети
#eth1 – обращен к провайдеру
#8888 – порт, который будет использоваться для трансляции. В принципе можно выбирать любой из свободных.

2. Теперь просто переносим наш скрипт в директорию /еtc/init.d/.

3. Далее выполним:

/usr/locаl/bin/udpxуy -a еth0 -m еth1 -р 8888

4. Теперь проведем проверку:

$ ps аx | grеp udp
1970 ? S 0:00 /usr/locаl/bin/udpxу -a еth0 -m еth1 -p 8888
15231 pts/0 D+ 0:00 grеp --colоr=autо udр

Для просмотра статистики можно воспользоваться http://172.16.0.1:8888/status .

По серверной части все готово. Осталось организовать доступ клиентам для просмотра трансляции. С этой целью создаем примерно такой плейлист:

#|ЕXTM3U
#ЕXTINF:0, DОM KINO
httр://172.16.0.1:8888/udp/239.255.1.1:1234
#ЕXTINF:0, RTR-PLАNETA
httр://172.16.0.1:8888/udр/239.255.1.2:1234
#ЕXTINF:0, RBК-ТV
httр://172.16.0.1:8888/udр/239.255.1.3:1234
#ЕXTINF:0,BIBIGON
httр://172.16.0.1:8888/udр/239.255.1.4:1234
#ЕXTINF:0,TVCI
httр://172.16.0.1:8888/udр/239.255.1.5:1234

С такими настройками можно без проблем смотреть любые передачи даже с использованием Wi-fi.

«
IPTV Своими руками: Первый опыт
iptv skycast vlc middleware dib-120 igmp multicast cisco

В этой статье я поделюсь первым опытом настойки и эксплуатации цифрового телевидения или IPTV, собранного "на коленке", расскажу о некоторых "подводных камнях", а так же дам советы новичкам.

Данная статься основана на личном опыте автора и не претендует на звание идеального руководства по настройке IPTV

Вообще, данный, так сказать "проект" был реализован где-то в далеком 2010 году, и может уже считаться устаревшим. С тех пор уже много чего изменилось. Добавлю лишь, что добиться стабильной работы, описанного ниже примера, на современном железе и софте не удалось, но принципиальная идея, конечно же осталась неизменна.
В будущем (я надеюсь) поделюсь опытом реализации кабельного ТВ в небольшом общежитии.

Аппаратная часть

Необходимые и достаточные условия для приема видеопотока со спутника и его вещания в локальную сеть.

Программная часть: SkyCast Server

Подробнее о настройках SkyCast Server

iptv своими руками,iptv,skystar,skycast,skycast сервер

    Секция [COMMON] - настойки параметров спутникового ресивера SkyStar.

MACSS2=01020304 - последние 8 цифр МАС адреса SS2/SS3 без разделителей (узнать MAC или физический адрес можно набрав в командной строке команду ipconfig /all).
CARDTYPE=0 - тип карты. 0 - SkyStar2, 1 - SkyStar3.
SS3NUM=1 - номер SS3 в системе по порядку, начиная с 1.

Секция [MULTICAST1] - параметры мултикаста

MULTICAST=239.1.1.1 - мултикаст адрес.
PORT=33033 - порт как порт.
IP=127.0.0.1 - транслируем поток в локальную петлю, чтобы не нагружать сеть. Конечно же можно ввести IP адрес действующей сетевой карты и весь принятый поток будет направлен в сеть через нее. На этом этапе клиенты уже смогут принимать и просматривать видеоканалы используя например VLC и указав источник видеопотока вышеописанные мултикаст адрес и порт в таком виде: udp://@239.1.1.1:33033. В нашем случае мы этого делать не будем, и сначала немого "оптимизируем" видеопоток все тем же VLC, но на стороне сервера.


Вместо "локальной петли", лучше использовать виртуальный сетевой адаптер

ENABLED=1 - активируем вышеописанные параметры. К слову сказать, можно настроить до 4х различных параметров вещания мультикаста. В нашем случае выключаем оставшиеся секции, установив значения ключа равным 0.

Теперь произведем некоторые настройки уже в оболочке программы:

iptv своими руками,iptv,skystar,skycast,настройка skycast

После установки необходимых параметров нужно нажать кнопку Tune. Если все выполнено правильно в разделе Current отобразятся две шкалы, показывающие уровень сигнала (шкалы в режиме реального времени не обновляются).
- Так же, не забываем установить галку Multicast и сохранить настройки в файле конфигурации, нажав кнопку Save.

Вкладка Common - общие настройки

В этом разделе нас интересует только значение выпадающего списка - Config. В нем необходимо выбрать имя файла параметров приема сигнала, созданный и сохраненный во вкладке Tuner/LNB/Net.
Выбранный файл параметров приёма, будет автоматически загружаться при старте программы.

Вкладка MultiCast Filter - настройка фильтра видеопотока, вещаемого в сеть средствами multicast.

iptv своими руками,iptv,skystar,skycast,настройка skycast

Как вы могли заметить, ключ dst= содержит мултикаст адрес:порт для каждого из каналов.
Т.е. для просмотра какого-либо канала, клиенту достаточно обратиться на соответствующий мультикаст адрес.

Настройка сетевого оборудования

Настройка сетевого оборудования, необходимая для "правильной" работы IPTV

iptv своими руками,iptv,skystar,skycast,vlc,мултикаст,multicast,igmp,cisco

Всё! Теперь поток мультикаст будет отправляться только тем клиентам, которые запросили. Хочу заметить, что если в сети есть еще коммутаторы на них тоже необходимо включить IGMP snooping (querier включать на них НЕ нужно)

Теперь о подводных камнях:
Иногда, без каких-либо видимых причин, коммутатор (Cisco 2960) начинал рассылать поток мултикаст во все порты. Опытным путем было установлено, что это происходит когда в сеть включается/выключается какой-либо коммутатор. Оказалось причиной тому Spanning Tree Protocol а именно TCN.
Рекомендации Cisco для решения данной проблемы:

По какой-то причине мой коммутатор ни в какую не понимал эту команду (не исключено, что дело в кривых руках), хотя модель и версия ios входят в список поддерживаемых устройств.
Так же была опробована команда spanning-tree portfast на портах - проблему решило частично, иногда флуд повторялся.
В общем обдумав все за и против. отключил STP командой no spanning-tree vlan.

Настройка клиентского оборудования

Настройка клиентского оборудования, для просмотра IPTV на телевизоре, на примере цифровой ТВ-приставки D-Link DIB-120

iptv своими руками,iptv,middleware,dib-120,dlink dib-120

Ознакомиться и загрузить файлы можно на странице нашего сайта: Middleware для D-Link DIB-120.

Настройка приставки
Теперь настраиваем приставку, для этого в главном меню переходим в раздел Settings, далее в Service, после выбираем IPTV и указываем адрес нашей страницы: http://адрес_WEB_сервера/mw.html. Нажимаем на пульте кнопку Play, если все сделали правильно, телевизор начнет показывать канал.

Немного о файлах mw.html и DIB120_API.js.
Внутри файла mw.html можно увидеть следующие строчки:

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

Вообще эту веб страничку можно оформлять как душе угодно, все зависит от фантазии, главное указать функцию инициализации приставки, при загрузке веб страницы:

Где:
stream – массив содержащий адреса и названия каналов (о котором я упоминал выше)
"Info" - имя идентификатора html блока (например div) в котором будет отображаться информация о канале
5000 - таймаут отображения информации о канале (миллисек.)
"Status" – имя идентификатора html блока (например div) в котором отображается текущее состояние канала
1000 – таймаут отображения состояния (миллисек.)

Что касается файла DIB120_API.js – там реализованы некоторые функции управления приставкой.

Обрабатывает нажатия кнопок пульта. На данный момент в ней реализовано переключение каналов, нажатием на цифровые кнопки и кнопки страничного переключения каналов, кнопки Play(запуск)/Stop(остановка), а так же отображение информации о текущем состоянии и номере канала.
Еще в скрипте реализованы некоторые другие функции (в комментариях написаны их назначения), но они не используются. При необходимости, их можно задействовать, добавив обработку этих функций в вышеописанную функцию обработки нажатия кнопок пульта.


Yoj

Пошаговая инструкция по созданию сервера IPTV своими руками и проблемы

Наверняка, многие провайдеры скоростного интернета, да и рядовые пользователи с предпринимательской жилкой, задумывались о создании собственного сервера IPTV. Для первых это прекрасный способ заработать, а для вторых – обеспечить бесплатным качественным телевидением всех друзей и знакомых (ну, или не совсем бесплатным). На первый взгляд, это весьма сложное и затратное дело, но сделать IPTV-сервер дома своими руками проще, чем кажется.

screenshot_1

Как сделать IPTV-сервер своими руками

Сервер IPTV — это комплекс устройств, которые в совокупности будут принимать сигналы, собирать их вместе и вещать в локальную сеть общим потоком.

Что для этого нужно:

  • ПК под управлением Виндовса или Линукса. Не обязательно новый, достаточно «железа» с качественными средними показателями: частотой процессора 6Ггц, 512Мб оперативной памяти и хотя бы одной сетевой платой.
  • Ресивер, с возможностью захвата и ретрансляции сигнала со спутника.
  • И последний элемент — конвертер в комплекте с принимающей тарелкой. Достаточно стандартной тарелки в 55 см диаметром.

screenshot_2

Когда все настроено и установлено, дело за цифровым моментом:

  • Скачиваем SkyCast Распаковываем архив и кликаем skycast.ini.

screenshot_3

  • Прописываем настройки ресивера: MACSS2= 8 цифр мак-адреса, CARDTYPE= тип карты, SS3NUM – номер SS3 в системе по порядку.

screenshot_4

  • Прописываем настройки мультикаста: адрес, порт и IP. Поток направляем в действующую локалку, чтобы избежать перегрузок сети. При помощи ENABLED=1 запускаем все.

screenshot_5

Теперь нужно подкорректировать «начинку» программы:

  • Во вкладке параметров спутникового конвертера вписать: LOF 1: 9750 мГц (9750000 кГц), Switch: 11700 мГц (11700000 кГц), LOF 2: 10600 мГц (10600000 кГц).
  • Далее идет настройка трансподера: частота транспондера: 12640 мГц (12640000 кГц); поляризация: вертикальная (V); скорость потока: 22000 кб/c.
  • Нажать «Tune», и в разделе «Current», появятся два столбца с уровнем сигнала.
  • Сохранить настройки, поставив галочку в поле «Multicas», и нажать «Save».
  • В общих настройках выбираем имя файла, сохраняем его в Tuner/LNB/Net.
  • Выставляем фильтр, чтобы убрать с потока битые, зашифрованные и промо-каналы.
  • Осталось нажать «Scan» и проанализировать результат. Отобразятся доступные для трансляции каналы.

screenshot_6

Возможные проблемы

Большие сложности ждут на этапе настройки. Человеку, который никогда не имел дело с подобным оборудованием, будет сложно разобраться с многочисленными терминами и нюансами их регулировки внутри системы вещания. Лучше заручиться поддержкой специалиста.

Также может подвести некачественное оборудование. Поэтому нужно выбирать его внимательно.

В этой статье я расскажу как установить бесплатную IPTV/OTT Middleware с открытым исходным кодом от компании Инфомир, зачем она нужна и какие возможности предоставляет пользователям и администраторам.

Статья будет полезна небольшим операторам и даже пользователям. Можно «поднять» у себя дома Stalker и использовать его для просмотра* бесплатных IPTV и интернет каналов на приставке. Самому организовать EPG и запись телеканалов.

image


▍Что такое Middleware?

Я полностью согласен с этим определением. Построить IPTV/OTT сервис без Middleware невозможно. Разработчиков на рынке много, у каждой Middleware свои особенности: список поддерживаемых устройств, список поддерживаемых CAS-систем, пользовательский интерфейс, список поддерживаемых видеосерверов, разные API для биллинга, стоимость и поддержка.

▍Почему Stalker?

В первую очередь Stalker интересен тем, что он бесплатный. Правда бесплатный, без пробных периодов и ограничения функционала. Исходный код можно скачать на GitHub.

Это очень важное преимущества Stalker перед решениями других производителей. Я работаю много лет в сфере IPTV и не знаю других бесплатных решений. Я спрашивал у коллег и даже разработчиков Инфомира, они тоже не знаю. Напишите в комментариях, если знаете другие бесплатные решения.

Конечно же нет, но этого уже достаточно чтобы заинтересоваться бесплатным решением и установить Stalker на тестовый сервер чтобы познакомится поближе.

▍Установка


У Инфомира есть небольшая документация и образ VirtualBox
image
Чтобы установить Stalker придется установить более 200 пакетов в вашу ОС. Рекомендую выделить отдельную виртуальную машину или установить в docker-контейнер, иначе могут возникнут конфликты с другими веб-сервисами.

Образ VirtualBox

Запуск образа VirtualBox дело не сложное, но опишу кратко как это делается:

▍Docker контейнер

Давайте установим Stalker в Docker контейнер. Это быстро и удобно. Если вы не знаете что такое Docker и никогда с ним не работали, почитайте статью habrahabr.ru/post/310460. Она даст полное представление о работе контейнеров. Но сейчас эти знания не понадобятся.

Разработчики настоятельно рекомендуют использовать Ubuntu Server LTS, при этом 16.04 не поддерживают пока, а 12.04 уже мало кем используется. Docker позволит запустить Stalker на вашем любимом дистрибутиве.

Для продолжения, нам потребуется сам Docker и Docker-compose. Пример установки для большинства дистрибутивов:


Создадим рабочую папку, в которой будет у нас жить Stalker и скачаем docker-compose файл:


Запускаем утилиту, которая скачает последнюю версию Stalker и заполнит нам базу данных:


Ждем, пока скрипт выполнится. У меня это занимает около 4-х минут (что ж там за это время происходит?). Готово, админ панель Сталкера доступна по адресу:


Заходим по стандартному логину/паролю: admin/1.

Еще раз все вместе, чтобы показать как все просто, буквально 3 команды:


Ролик «Установка Stalker Middleware за 2 минуты»:

▍Установка без виртуализации и контейнеров

Можно установить и по старинке, просто установить необходимые пакеты и отредактировать несколько файлов вручную. Этот способ самый долгий и трудоемкий, но отлично подойдет, если вы собираетесь запустить сервер в Production.

Если у вас уже есть сервер с nginx+apache2+php5, то вам повезло, возможно Stalker запустится и без установки дополнительных пакетов. Но, насколько я знаю, nginx+apache2 уже редко используются вместе, nginx+php-fpm куда удобнее.

Инструкция от разработчика: wiki.infomir.eu/doku.php/stalker:install_and_configure

▍Настройка

По умолчанию, админ интерфейс на английском языке. Переключиться на русский вы можете внизу страницы:

image

▍Добавление телеканала

Разворачиваем меню «IPTV Каналы», открываем страницу «Каналы». В списке уже будет предустановленный телеканал «Test channel», удалите его и давайте добавим свой канал (кнопка «Add a channel»).

Заполняем основные поля: «Номер канала», «Название канала», загрузим логотип, поставим галочку «Базовый канал».

Нажимаем на кнопку «Добавить ссылку», появляется всплывающее окно с формой добавления URL канала и дополнительными опциями. Как мы видим из подсказки, в эту строку нужно ввести «solution+URL». Solution — это подсказка для плеера приставки, какую библиотеку использовать для воспроизведения. В большинстве случаем достаточно указать «auto» (например, «auto udp://239.255.1.1:5500»). Для HLS рекомендуемый Инфомиром solution — ffmpeg.

image

В результате должно получится:

image

Пропустим пока настройку программы передач (EPG) и ТВ-архива (DVR). Сохраняем.

▍Добавление фильма

Меню «Видеоклуб» → «Список фильмов».

Процесс добавления фильмов не сильно отличается, но есть приятный бонус: автозаполнение. Достаточно написать название фильма/сериала на оригинальном языке и Stalker сможет получить метаданные из базы данных TMDB или Кинопоиск.

image

Вручную заполнять список актеров, логотип, режиссера, год выпуска, жанр и прочую информацию, без которой каталог фильмов на приставке будет выглядеть неполноценным, очень трудоемко, когда нужно добавлять много фильмов. Спасибо, Инфомир.

Есть возможность добавлять сериалы, с правильной сортировкой серий. Вам не понадобится заводить каждую серию как отдельный фильм и писать в названии номер сезона и серии.

Для каждого фильма или серии можно добавить несколько ссылок для просмотра в разном качестве, это может быть удобно, если у вас уже есть исходники в разных качествах и вы не используете мультибитрейтный HLS.

▍Программа передач (EPG)

Без программы передач строить сервис нельзя, людям уже давно не интересно просто щелкать каналы. EPG нужна не только для того, чтобы пользователь мог посмотреть как называется текущая передача и что будет сегодня вечером, а еще для организации видеоархива! Позволяя пользователям смотреть передачи, которые уже прошли (т.н. Catch UP).

Stalker умеет импортировать EPG из формата XMLTV.

Для продолжения настройки, нам надо добыть поставщика EPG. Они бывают платные, бывают бесплатные. Отличаются количеством телеканалов, количеством информации (например, картинки для каждой передачи и список актеров есть далеко не у всех). Рекламировать никакие сервисы не буду, найдите в Google программу передач в формате XMLTV и продолжим.

Открываем меню «IPTV каналы» → «EPG». Кнопка «Добавить EPG».

image

Нам потребуется вставить ссылку на веб-сервер, где лежит xml файл. Из собственного опыта добавлю, что поставщики чаще всего выкладывают на закрытый паролем ftp-сервер, и в добавок еще архивируют, поэтому в Stalker вставляем ссылку на localhost, а в crontab добавляем скрипт, который будет скачивать и распаковывать XMLTV в нужную папку.

После добавления ссылки, нажмите «обновить». Если все сделали правильно, получится:

image

Теперь переходим в настройки телеканала. Меню «IPTV каналы» → «Каналы», нажимаем редактировать наш телеканал. Нас интересует раздел «EPG», указываем ID нашего телеканала и, при необходимости, корректируем время под наш часовой пояс.

image

Открываем текстовым редактором XMLTV файл и смотрим. В данном примере: «Первый канал» — 1, «Россия 1» — 2, «ТВЦ» — 3.

Для каждого телеканала придется вручную указывать ID. Способа автоматизировать это я пока не знаю.

▍Внешний вид

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

Чтобы активировать его, переходим в меню «Настройки» → «Внешний вид». На этой странице можем ознакомится со всеми доступными темами.

image

Нажимаем «Применить» под темой «Stalker 5x — graphite».

▍Запускаем портал на приставке

Надеюсь, у вас есть под рукой приставка MAG? С помощью пульта ДУ или USB-клавиатуры, переходим в настройки приставки → «Серверы» → «Порталы» и указываем URL сервера, куда вы установили Stalker.

URL для клиентов: http://ip/stalker_portal/c/


Сохраняем, перезагружаем приставку и попадаем в нашу Middleware. Никакие логины и пароли не потребуются, по умолчанию авторизация не требуется.

▍Что дальше?

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделимся с Вами очередным опытом администрирования в рамках корпоративных организаций использования ресурсов и пр. С постепенным ростом сети, перед нами наметился вопрос о предоставлении прочих фич, помимо доступа в Сеть. Скажем так: организация занимается не только предоставлением интернет-услуг, но также вопросами организации цифрового и аналогового ТВ в кабельном формате. Отсюда возникла естественная потребность сообразить телевещание через сеть IP.

Что было дано?

Как организовать IPTV-трансляцию
Спутниковые ресиверы от PBI (DCH4000Р) мы использовали, как потоковый источник. Поскольку при использовании одного такого ресивера можно получать только 6 выходных каналов мультикаста, возникла необходимость в дополнительном железе. Выбор пал на девайс производства СпецТВ IP StreamerIPS01 (Одесса). Таким образом, поток предполагалось брать с ASI-выхода, но не по IP.

Представленный девайс оснащен шестью ASI-входами, на которые было решено организовать подачу шести потоков с PBI-ресиверов. Поскольку все каналы у нас находятся в рамках потока, а порт стримера на выходе рассчитан на гигабайт, пришлось подумать о том, как организовать для пользователя подачу ограниченного числа каналов (то есть не всех 60) на интерфейс сети, что естественным образом при потоке примерно в 300Мбит/сек «забило» бы целиком пропускную способность. То есть, по сути, должен был выводиться только один канал, который будет запрашивать пользователь клиентской машины.

Вообще имелась возможность реализовать подобное, используя D-Link-коммутаторы, однако имея прецеденты с их недостаточно удовлетворительной работой в качестве querier, приняли решение обзавестись для этих целей коммутатором FoxGateS6224(S2).

Передача абонентам должна осуществляться посредством D-Link DES3526-коммутатора. Общую схему коммутации можно на скорую руку обрисовать примерно так:
6 DCH-4000P-ресиверов, идут параллельным подключением к ASI (IPS01), далее -> Ethernet (FoxGateS6224(S2) -> коммутатор D-Link(DES3526) -> параллельное распределение на несколько клиентских машин).

Проведение настройки

Для настройки ресиверов была использована самая обычная схема отладки ресиверов сигнала со спутников. Стример настраивали «ручками» - выбирали в браузере каждый канал и присваивали ему мультикастовый адрес (239.255.Х.Х). В данном случае считаем бессмысленным подробное описание процесса настройки оборудования.

Конфигурируем Querier FoxgateS6224-S2. 10.0.0.10 - адрес используемого коммутатора. Здесь необходимо выполнить следующие процедуры:

1. Создание отдельного vlan-а:

2. Включение контроля мультикастового потока:

3. Настройка соответствующих портов:

Intеrface Ethеrnet0/0/2
switchpоrt аccеss vlаn 382
.
.
.
!
Inteеrface Ethеrnet0/0/24
switchpоrt accеss vlаn 382

4. Порт 25 обращен к стримеру, когда 26-порт – к коммутатору. Исходя из этого необходимо произвести следующие настройки:

Intеrface Ethеrnet0/0/25
switchpоrt accеss vlаn 382
!
Interfаce Ethеrnet0/0/26
switchpоrt mоde trunk

5. Теперь переходим к включению igmp snooping. Здесь необходимо указать, что порт vlan, который мы создали функционирует как мультикастовый:

iр igmр snооping
iр igmр snооping vlаn 382

6. Далее потребуется включить фнкцию querier с указанием источника, которым является непосредственно устройство-коммутатор:

iр igmр snооping vlаn 382 l2-gеnеral-quеrier
iр igmр snооping vlаn 382 l2-genеral-quеrier-source 10.0.0.10

Теперь можно сказать, что мы завершили настройку querier. Далее переходим к конфигу нашего коммутатор D-Link (с использованием портов 25,26 для uplink):


1. Для начала необходимо включить igmp snоорing и сообщить о том, что созданный и vlan 382 функционирует, как мультикастовый:
enable igmp_snooping
creаte igmр_snооping multicаst_vlаn multicаst 382

2. Теперь укажем на то, что порты с 1 по 24 являются абонентскими, а порты 25 и 26 задействуются, как источник:

cоnfig igmр_snооping multicаst_vlаn multicаst stаte enаble replаce_sоurce_iр 0.0.0.0 mеmber_pоrt 1-24 sоurce_pоrt 25-26

3. Такая опция требуется для того, чтобы мультикаст смог вычислить все порты последовательно:

cоnfig igmр_snооping multicаst hоst_timeоut 260 rоuter_timeоut 260 leаve_timеr 2 stаte enаble
cоnfig igmр_snооping quеrier multicаst quеry_intеrval 125 mаx_respоnse_timе 10 rоbustness_variаble 2
cоnfig igmр_snoоping quеrier multicаst last_mеmber_quеry_intеrval 1 stаte disаble

4. Теперь в качестве профилактики для магистральных портов нужно отключить функцию фильтеринга:

cоnfig limitеd_multicаst_аddr pоrts 25-26 аccess dеnу stаte disаble

5. Далее необходимо перекрыть клиентам доступ к вещанию своих каналов (то есть эти каналы никому не будут доступны для просмотра):

cоnfig multicаst pоrt_filtеring_mоdе 1-24 filtеr_unrеgistered_grоups
cоnfig multicаst pоrt_filtеring_mоdе 25-26 forwаrd_unrеgistered_grоups

В сущности настройка коммутатора окончена. После этого необходимо будет создать плейлист channеls.m3u, который будет заполнен следующим образом:

#EХTM3U
#EХTINF:0, НТB-Мир
udp://@239.255.1.1:1234
#EХTINF:0, PТР-Планета
udp://@239.255.1.2:1234
#EХTINF:0, Пpемьера
udp://@239.255.1.3:1234
#EХTINF:0,СТС
udp://@239.255.1.4:1234
#EХTINF:0, ТHТ
udр://@239.255.1.5:1234

Теперь можно открыть этот список, к примеру, vlс и получать удовольствие от просмотра.

Как смотреть IPTV на конфиге: сервер под Ubuntu, внешний IP-адрес с точкой доступа, используемый в качестве сетевого роутера

Для этих целей прекрасно подошел igmproxy, только изначально возник ряд неприятных проблем, таких как рассыпание картинки или невозможность просмотра с использованием wi-fi (при наличии среднескоростной точки доступа мультикаст создает перегрузку).
Лучшим решением данной проблемы стало преобразование потока UDP в НТТР, что можно осуществить посредством такой программки, как udprxy.
Алгоритм действий в данном случае следующий:

1. Необходимо установить и создать скрипт для старта:

if [ -n "`pidоf udpxу`" ] ;thеn
/usr/bin/killаll udpху > /dev/null 2>&1
fi
/usr/lоcal/bin/udpху -а eth0 -m еth1 -p 8888
#eth0 – обращен к локальной сети
#eth1 – обращен к провайдеру
#8888 – порт, который будет использоваться для трансляции. В принципе можно выбирать любой из свободных.

2. Теперь просто переносим наш скрипт в директорию /еtc/init.d/.

3. Далее выполним:

/usr/locаl/bin/udpxуy -a еth0 -m еth1 -р 8888

4. Теперь проведем проверку:

$ ps аx | grеp udp
1970 ? S 0:00 /usr/locаl/bin/udpxу -a еth0 -m еth1 -p 8888
15231 pts/0 D+ 0:00 grеp --colоr=autо udр

Для просмотра статистики можно воспользоваться http://172.16.0.1:8888/status .

По серверной части все готово. Осталось организовать доступ клиентам для просмотра трансляции. С этой целью создаем примерно такой плейлист:

#|ЕXTM3U
#ЕXTINF:0, DОM KINO
httр://172.16.0.1:8888/udp/239.255.1.1:1234
#ЕXTINF:0, RTR-PLАNETA
httр://172.16.0.1:8888/udр/239.255.1.2:1234
#ЕXTINF:0, RBК-ТV
httр://172.16.0.1:8888/udр/239.255.1.3:1234
#ЕXTINF:0,BIBIGON
httр://172.16.0.1:8888/udр/239.255.1.4:1234
#ЕXTINF:0,TVCI
httр://172.16.0.1:8888/udр/239.255.1.5:1234

С такими настройками можно без проблем смотреть любые передачи даже с использованием Wi-fi.

Читайте также: