Хочу вам рассказать о устройстве головной станции IPTV на примере нашего провайдера. Надеюсь, что после прочтения статьи у вас появится хорошее представление о работе головной станции IPTV.
Итак, что мы имеем:
7 спутниковых антенн
5 мультисвитчей
~80 спутниковых приемников
3 видеошлюза (стриммера)
Сервера Middleware
Видео сервера (VOD, NPVR)
Сервера потокового шифрования
Системы мониторинга
Крыша
Ну все достаточно просто. На крыше установлены антенны, настроенные на основные спутники (Yamal, ABS, HotBird, Astra, W4 и другие). По всем правилам система заземлена, надежно прикручена. С крыши идут RF-кабели в серверную.
Серверная
Мультисвитчи
Провода с крыши подключены в мультисвитчи, задачей которых является усиление сигнала. Приемники уже подключаются непосредственно к мультисвитчам.
Приемники
У нас используются профессиональные приемники компании Harmonic
Приемники настраиваются на необходимые транспондеры, декодируют сигнал, если он зашифрован.
Большинство профессиональных приемников работают с фронт-эндом DVB-S и могут декодировать лишь 2 телеканала одновременно.
Если с одного транспондера берем более двух зашифрованных телеканалов, то подключаем цепочке с помощью ASI выходов/входов. Обычно, по цепочке подключаются не более 1-2 приемников. Так же приемники отфильтровывают ненужные телеканалы, чтобы снизить нагрузку на видеошлюз.
Видеошлюз
Далее, с помощью ASI или IP(unicast) посылаем отфильтрованный и расшифрованный поток на видеошлюз.
Видеошлюз принимает потоки от приемников по ASI или IP (всего у него 16 ASI портов). Он преобразовывает полученные потоки в мультикаст и вещает его в сеть.
Как работает видеошлюз
У шлюза есть:
физические ASI порты, с них он берет потоки.
физические Ethernet порты (для управления, входных потоков, выходных потоков).
виртуальные IP-порты (для приема потоков, для отдачи потоков)
Чтобы пустить на выход поток, необходимо «скроссировать» сервис с входного порта с виртуальным IP-портом.
Вот такие потоки видит шлюз на первом ASI-входе:
Например, чтобы пустить канал Kinopokaz HD в сеть, необходимо создать виртуальный порт с заданным IP-адресом и портом, а затем «скроссировать» канал на созданный виртуальный порт.
В итоге, мы увидим, что на виртуальном IP-выходе появился канал:
Ну и абонентам доставляется уже поток с помощью IGMP-маршрутизатора. Но не все-так просто ведь каналы шифруются.
Сервера шифрования
Да, Verimatrix. Как и подавляющее количество IPTV-провайдеров, мы используем эту систему. Платную, закрытую. С помощью заказанных серверов мы шифруем поток, указывая в веб-админке IP-адрес входного потока и IP-адрес выходного потока. Сервера шифруют телеканалы в realtime.
В итоге мы имеем по два IP-адреса для каждого канала: зашифрованный поток, который идет абонентам и не зашифрованный, который мы можем смотреть только в офисном VLAN’e (и у меня дома:))
Видео сервера
Всего, у нас стоит 2 сервера, один занимается nPVR, другой — VOD. Они имеют производительные сетевые хранилища, позволяющие отдавать контент сотням пользователей одновременно. Используем платформу — Kasenna MediaBase.
Первый сервер постоянно ведет запись телепрограмм на выбранных телеканалах, чтобы абонент мог в любое время нажать на своем пульте кнопку паузы, отойти на кухню и сделать попкорн, вернуться к ТВ и продолжить просмотр с того же места.
Второй сервер отдает абонентам фильмы, которые они заказывают. К сожалению, не любой фильм можно добавить на видеосервер. Пользовательские STB отображают изображение с частотой 25Hz, так что фильмы должны иметь постоянный FPS. Большинство контента приходится обрабатывать, перед отправкой абонентам.
Middleware
Это самые нагруженные сервера у нас, работают два мощных сервера, настроена балансировка нагрузки. Под базу данных используем отдельный сервер MSSQL, работающий в кластере.
Middleware — это интерфейс абонентских STB.
В базе Middleware формируются тарифные планы.
Все приставки проходят активацию через Middleware-сервер, чтобы получить доступ к зашифрованному контенту.
Middleware контролирует покупку фильмов.
Телепрограмму отдает абонентам так же Middleware.
Читать твитты с телевизора так же позволяет Middleware!
Новостные ленты, Яндекс.Пробки, состояние заявок на сайте Госуслуги — тоже Middleware обрабатывает.
Мониторинг
Мониторингом потоков занимается VB220 от BridgeTech.
Мониторим уровни сигналов со спутника с помощью Zabbix’a, который берет данные по SNMP с приемников.
Если канал перестает декодироваться, то приемник по SNMP сообщает об этом службе NOC, которая в свою очередь информирует дежурного администратора.
А еще есть пара
Итог
Выстроим все в логическую цепочку:
Спутниковая антенна -> приемник -> видеошлюз -> сервер шифрования -> IP-сеть провайдера -> Set-Top-Box абонента -> Телевизор.
И наоборот:
Абонент -> Set-Top-Box -> Middleware + IGMP Query.
На этом закончу краткое описание основных составляющих головной станции.
habrahabr.ru