Назначение

Perfect Streamer

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 / RTP+FEC (Pro-MPEG COP3, он же SMPTE 2022-1/2) — RTP с упреждающей коррекцией ошибок (FEC) без обратного канала. Достоинства — низкая задержка и совместимость с профессиональным вещательным оборудованием; недостатки — постоянный дополнительный трафик и слабое восстановление при больших потерях пакетов.

Все Peer-протоколы поддерживают шифрование AES. Подробное описание протоколов и планирование каналов передачи — в разделе Планирование и протоколы передачи данных.

Помимо 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.