Доброго времени суток!
Хочу вам рассказать о устройстве головной станции 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.
На этом закончу краткое описание основных составляющих головной станции. О чем подробно рассказать?
Автор: klu4ik