Назначение¶
Perfect Streamer — серверное программное обеспечение для надёжной доставки потоков MPEG-TS через публичную сеть Интернет с потерями пакетов и задержками. Оно также принимает, обрабатывает, мультиплексирует и транскодирует телевизионные каналы и раздаёт их по OTT. Продукт рассчитан на вещателей и операторов связи: магистральная передача каналов между операторами, головные станции DVB-to-IP, IPTV/OTT-платформы и сети распространения.
Perfect Streamer поставляется как единое приложение для Linux x86-64 со встроенным веб-интерфейсом и HTTP API. Одна установка выполняет все этапы тракта: приём, обработку и ремультиплексирование, транскодирование, передачу между узлами, OTT-раздачу и архив (DVR), мониторинг.
Передача потоков между узлами¶
Для каждого потока настраивается сервер-передатчик (Sender) и один или несколько приёмников (Receiver). Для передачи потоков между передатчиком и приёмником, а также для связи со сторонним оборудованием доступны четыре Peer-протокола:
PS1 (Perfect Stream) — протокол собственной разработки на базе UDP, работает по принципу Automatic Repeat reQuest (ARQ) с выборочной ретрансмиссией. Требует мало ресурсов и передаёт потоки высокого битрейта, включая полноразмерный MPTS. Лучше всего подходит для конфигураций точка-многоточка: один отправитель и много получателей.
SRT — открытый протокол, широко распространён и хорошо компенсирует потери пакетов; режимы listener/caller; совместим со сторонним оборудованием и облачными сервисами.
RIST — открытый протокол на базе RTP/RTCP. Работает по принципу ARQ без ACK, только по NACK; профили Simple и Main.
Pro-MPEG COP3/RTP+FEC (SMPTE 2022-1/2) — RTP с упреждающей коррекцией ошибок (FEC) без обратного канала. Достоинства: низкая задержка и совместимость с профессиональным вещательным оборудованием. Недостатки: постоянный дополнительный трафик и слабое восстановление при больших потерях пакетов.
Шифрование AES поддерживают PS1, SRT и RIST в профиле Main; в Pro-MPEG оно реализовано как нестандартное расширение (Шифрование потоков). Подробное описание протоколов и планирование каналов передачи — в разделе Планирование и протоколы передачи данных.
Помимо Peer-протоколов поддерживаются стандартные входы и выходы: UDP (unicast/multicast), RTP, HLS/HTTP, RTMP/RTMPS, файл/устройство, именованный канал (pipe) и внешнее приложение (std). TCP и RTSP поддерживаются только как входы.
Основные функции¶
Обработка без перекодирования — списки разрешённых и запрещённых PID, переназначение PID и автоматическая раскладка PID программы, правка SDT и языков аудио, смена PNR, удаление ненужных таблиц (SDT/CAT/NIT/TDT, телетекст, субтитры), приведение интервалов PAT/PMT к TR 101 290; режимы битрейта, включая CBR со стаффингом до DVB-совместимого постоянного битрейта.
Мультиплексор MPTS — сборка мультиплекса из отдельных программ с генерацией PSI/SI и выходом, соответствующим TR 101 290.
Демультиплексор — извлечение отдельных программ из MPTS в самостоятельные SPTS.
Транскодер — аппаратное транскодирование на GPU NVIDIA и Intel VPL, программное на CPU; несколько энкодеров с одного декодера (например, для адаптивного битрейта).
Анализатор — контроль соответствия TR 101 290 (DVB) для SPTS и MPTS, детектор дрейфа PCR, модель буфера T-STD, глубокий анализ потока, анализатор SCTE-35, детектор CBR/VBR.
EPG/EIT — захват EIT с эфира в базу EPG, импорт XMLTV, генерация корректного EIT (present/following и schedule) в исходящий поток, форс-генерация SDT.
EPG-сервер — отдача полного XMLTV на
/xmltvс ограничением набора каналов по логину, для OTT middleware.Тестовые потоки — встроенный генератор тестового сигнала.
Meshwork — объединение серверов в домены на основе gossip-протокола децентрализованных сетей. В домене есть живой статус узлов, общий каталог используемых адресов и портов (библиотека ресурсов) и репликация алертов.
Учёт сессий и контроль доступа — лимиты соединений на пользователя, ACL по каналам, prefix/suffix-логин для интеграции с middleware. Авторизация сессий клиентов во внешнем биллинге — проверка каждой сессии при подключении и периодическая реавторизация с отзывом доступа посреди сессии (жизненный цикл в стиле RADIUS: Start / Interim / Stop); универсальный HTTP-коннектор для подключения биллинга оператора. Учёт сделан отдельно по каждому протоколу — HLS/DASH для OTT и PS1/SRT для пиринга потоков.
Веб-интерфейс — управление всеми функциями, роли администраторов, адаптивные профили для рабочей станции, планшета и телефона.
Автоматические TLS-сертификаты (ACME) — автовыпуск и обновление сертификатов, горячая перезагрузка TLS; HTTPS и HTTP/3 «из коробки».
Анализатор и мониторинг — контроль TR 101 290 (DVB) на входе, единый алертинг с доставкой по Email, Telegram или во внешний скрипт, мозаика каналов.
Также доступны: резервирование источников с автопереключением; интеграция с системами мониторинга (Zabbix, Grafana, Prometheus, InfluxDB, Nagios); интеграция с внешним биллингом для авторизации сессий клиентов; резервное копирование и экспорт/импорт настроек.
Для DVB-вещателей¶
Головным станциям спутникового, кабельного и эфирного вещания (DVB-to-IP, ремультиплекс, контрибуция между площадками) доступны:
Приём с DVB-карт — DVB-S, DVB-S2, DVB-T, DVB-T2 и DVB-C с полным набором параметров настройки; управление LNB и DiSEqC 1.0, разделение LNB между тюнерами.
Сканер транспондеров и «слепое» сканирование — обход reference-списков (satellites.xml, cables.xml, terrestrial.xml) со сбором PSI/SI, построением структуры мультиплекс → программа и измерением SNR, уровня и BER; поиск нестандартных транспондеров без reference-файла.
Дескремблинг — аппаратный CI/CAM (EN 50221) с CAM, совмещённым с DVB-приёмником, и программный BISS-1 / BISS-E (ключи по PNR или PLP, горячее обновление). Очистка условного доступа на выходе — удаление ECM/EMM, CAT и CA-дескрипторов из PMT для получения чистого FTA-потока.
Декапсуляция T2-MI (ETSI TS 102 773) — одновременная отдача внешнего DVB-S/S2-мультиплекса и всех вложенных T2-MI-несущих. Так региональный DVB-T2 принимается по спутнику без отдельного шлюза.
Монитор сигнала (femon) — непрерывное измерение lock, уровня, SNR, BER и UCB с построением графиков во времени.
Демультиплексор — извлечение отдельной программы (по PNR) из принятого транспондера в самостоятельный SPTS.
Для OTT-вещателей¶
IPTV/OTT-операторам и платформам распространения доступны:
OTT-доставка — HLS, Low-Latency HLS и MPEG-DASH на CMAF; доставка по HTTPS и HTTP/3 (QUIC); адаптивный мультибитрейт (ABR) в едином master-плейлисте; GOP/IDR-выровненная сегментация; сырой MPEG-TS over HTTP для TS-клиентов.
Субтитры WebVTT — декодирование DVB-телетекста и DVB-субтитров в WebVTT для OTT-плееров, в том числе в архиве.
Сетевой DVR — запись каждого OTT-канала в дисковый архив параллельно с раздачей; воспроизведение архива по тем же HLS/DASH-URL (таймшифт и VOD), переход архив → live без переадресаций и повторной авторизации, catch-up по EPG, адаптивный VOD и CMAF-архив, многодисковые хранилища с ретеншеном и автоматической очисткой.
Транскодер и ABR-лесенка — несколько энкодеров с собственными разрешением, битрейтом и кодеком работают от одного декодера (1toN); аппаратно на GPU (NVIDIA, Intel VPL) или программно на CPU.
Готовность к CDN — контент-адресуемые сегменты с immutable-заголовками, нормализованный cache-key и CORS для масштабирования за обратным прокси или CDN.