Программная медиаплатформа SkyLark SL NEO: Конструктор для профессионалов

Известно, что двух одинаковых телекомпаний не бывает. Каждый инженерный коллектив подбирает и эксплуатирует оборудование, учитывая жанр и тематику канала. Тематика и характер вещания вносят коррективы в функциональные и технические характеристики вещательных систем.

Вариантов построения интегрированных playout-систем несколько: от стандартных каналов File+Live+Graphics в одном системном блоке CIAB до федеральных каналов поясного вещания с машинным залом и двумя-тремя десятками рабочих мест только в эфирной зоне.

В 2009 году, когда создавалась компания SkyLark Technology, была разработана концепция нового программного продукта, как универсального инструмента для вещания и производства. Сегодня ПО SL NEO успешно эксплуатируют спортивные, музыкальные каналы, телемагазины, playout-центры, центральные, региональные станции, телеканалы на VM в территориально удалённых дата-центрах. Это стало возможным благодаря модульному принципу, реализованному в ПО SkyLark SL NEO и сетевому обмену данными между модулями.

Базовый элемент медиаплатформы – программный модуль. Концепция SL NEO предусматривает совместную работу модулей на одной или нескольких вычислительных платформах.

Элементарные операции (декодирование, запись, воспроизведение) остаются неизменными в любой вещательной среде. Модули платформы SL NEO реализованы и сгруппированы по типам таких операций: декодеры потоков, файловые рекордеры, плееры, кодеры и многие другие.

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

Настройки каждого модуля определяют форматы, типы, протоколы I/O-сигналов, потоков, ANC-данных, а также выходных файлов, формируя тем самым технические характеристики системы.

Роли и характеристики основных элементов платформы
Базовый модуль платформы SL NEO

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

– Внутренние обменные потоки между модулями – некомпрессированные данные аудио- видео и ANC-data (дополнительные данные, передаваемые вместе с аудио- видео: метки, телетекст, скрытые субтитры, таймкод и т. д.)

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

Модуль захвата (декодер потока, либо интерфейс к плате ввода)

– Работает с SDI/HDMI/ASI сигналами, либо с IP-потоками, поступающими на вход системы с интерфейсов и плат ввода (Matrox, DekTec, BMD). Поддерживает IP-протоколы: SMPTE ST2110, HLS (HTTP Live Streaming), NDI (NewTek Network Device Interface), SRT (Secure Reliable Transport, UDP-based), RTMP (Real Time Messaging Protocol), UDP/RTP SPTS

– Декодирует один входной стрим до уровня Uncompress Audio/Video, принятого для обмена между модулями платформы, а также извлекает из входного сигнала дополнительные данные (ANC Data): метки SCTE и DTMF, пакеты телетекста, скрытые субтитры, EPG, VITC

– До 24-х модулей Stream Capture HD в одном сервере

– Лицензия на модуль захвата предусматривает выбор любого интерфейса/протокола из перечисленных.

Файловый рекордер

– Модуль записи принимает потоки Uncompress Audio/Video/ANC Data от  любых модулей в  системе, выполняет кодирование в  соответствии с  выбранным профилем и  запись в  файлы по расписаниям – record-листам

– При совместной работе с модулем Media Database, материал регистрируется в БД, начальные метаданные переносятся из строки record-листа

– Профиль записи – набор параметров: разрешение, значение fps и кодек для видео, набор параметров для аудио и файловый контейнер. Возможна параллельная запись входного сигнала в 2 профиля: full res и proxy

– Рекордер имеет режим записи дополнительных данных (ANC Data), может принимать LTC/VITC, при исполнении заданий записи через модуль Device Server управлять магнитофоном и отправлять команды коммутатору SDI на переключение источника сигнала

– До 12 файловых рекордеров HD в одном сервере.

Модуль автоматического файлового трансфера

– File Transfer изначально был реализован, как автономный модуль  (Standalone), но в процессе разработки решения для «облачного» вещания, получил серверную и  клиентскую компоненты

– Задачи модуля остались прежними: выполнение операций по автоматическому копированию, перемещению медиафайлов между узлами производственных комплексов  – серверами и рабочими станциями. Операции с файлами могут сопровождаться транскодированием, нормализацией уровня громкости и генерацией proxy

– Одна из функций модуля – синхронизация контента и  БД эфирных серверов SL NEO, основного и  резервного

– File Transfer осуществляет приоритетное копирование файлов из  сетевых ресурсов на  массивы серверов эфирного воспроизведения, анализируя исполняемые play-листы

– До 8 потоков одновременного копирования файлов, с регулируемой скоростью.

Пример реализации двухканальной записи
Пример реализации двухканальной записи
Модуль управления базой данных для контента

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

– Функциональность модуля зависит от настроек и типа лицензии. Расширенный функционал предназначен для медиаархивов различных уровней: производственный архив службы новостей, архив телекомпании

– Стандартный набор функций (до 10 полей метаданных и до 10 сетевых подключений) является базовым для всех серверов записи-воспроизведения SL NEO.

Программный коммутатор, плеер файлов, генератор титров

– Каждый модуль исполняет play-лист своего канала вещания и формирует финальную «картинку» канала с многослойной графикой и звуковым сопровождением. Для выполнения своих задач программный плеер способен воспроизводить до 10 файлов видео и графики одновременно и принимать на вход сигналы «прямых» трансляций.

– Модуль суммирует все слои видео, графики, титров, аудио в один выходной программный полноэкранный сигнал. Сигнал программы представляет собой композицию, содержащую несколько слоев (снизу вверх):

– cлой BG (например, внешний Live-сигнал)

– слой полноэкранного файлового воспроизведения, перекрывающий BG

– слои оформления, за  которые отвечают 8 независимых плееров титров и графики

– слой лого.

Рендеринг всей многослойной программной композиции производится без просчетов, непосредственно в процессе воспроизведения.

– Плееры графики могут работать автономно и управляться вручную (например, в АСБ при оформлении программ). При эфирном воспроизведении плееры управляются из основного play-листа по технологии «вторичных» событий.

– Program Player может управлять внешними устройствами (через Device Server)  – программными коммутаторами SDI, внешними станциями графики.

Функциональность Program Player при работе с ANC-данными

Кроме операций с видео, Program Player работает с дополнительными (ANC) данными метками SCTE-104/35, скрытыми субтитрами и сигналами телетекста:

– Прием команд, содержащихся в DTMF/SCTE метках, старт/стоп событий по меткам, запуск события, ID  которого указан в метаданных метки SCTE

– Формирование DTMF/SCTE меток для команд региональным станциям. Позиции меток и метаданные формируются в  соответствии с информацией, указанной в полях play-листа

– Открытое субтитрирование: генерация и наложение видимого текста (по аналогии с титрами)

– Ретрансляция телетекста

– Скрытые субтитры формируются, передаются в виде данных в сигнале программы согласно протоколам CEA-608/708, OP-42/47 (WST телетекст) и накладываются на изображение абонентским устройством. Источниками текста для субтитров всех типов служат текстовые файлы с разметкой

– В DVB-потоке поддерживается до 4-х потоков субтитров на каждый сервис. Генерация субтитров осуществляется в соответствии с нормативным документом ETSI EN 300 743 (Digital Video Broadcasting (DVB) Subtitling)

– Выходной сигнал Program Player – Uncompress Audio/Video, принятый для обмена между модулями платформы SL NEO

– Опция Program Player Sync позволяет синхронизировать play-листы пары модулей – основного и  резервного, включая графику

– До 8 модулей Program Player HD в одном сервере.

Пример использования модулей program player в playout – системе (2 программы)
Пример использования модулей program player в playout – системе (2 программы)
Модуль формирования выходного сигнала/потока (кодер, либо интерфейс к плате вывода)

– Для распространения программ в  разных средах может потребоваться формирование нескольких потоков (стримов) с различными скоростями, параметрами разрешения, с различными кодеками и  протоколами

– Stream Player предоставляет интерфейс к плате вывода (Matrox, DekTec, BMD), либо кодирует  и  формирует один поток MPEG2/H.264/H.265 через интерфейс ASI или IP. В режимах SDI/NDI генерирует FILL и KEY

– Поддерживает IP-протоколы: SMPTE ST2110, HLS (HTTP Live Streaming), NDI (NewTek Network Device Interface), SRT (Secure Reliable Transport, UDP-based), RTMP (Real Time Messaging Protocol), UDP/RTP SPTS

– Входной сигнал – Uncompress Audio/Video, принятый для обмена между модулями платформы SL NEO

– Stream Player принимает и мультиплексирует потоки данных в стрим: субтитров, меток SCTE

– Для потокового кодирования может быть использован ресурс GPU-сервера

– До 16 модулей Stream Player HD в одном сервере

– Лицензия на модуль Stream Player предусматривает выбор любого интерфейса/протокола из перечисленных

– Программное обеспечение SL NEO поддерживает большинство распространенных в отрасли файловых контейнеров и кодеков

– Модули платформы осуществляют буферизацию и кадровую синхронизацию совместно с up/down/cross преобразованиями, что обеспечивает параллельную обработку сигналов и файлов любых телевизионных стандартов и значений частот смены кадров

– Благодаря этому, платформа SL NEO позволяет осуществлять одновременные многоканальные операции записи, коммутации в эфир live-источников и файлов с различающимися параметрами разрешения и FPS

– Это же относится и к возможностям мультиэкранного отображения на одном мониторе сигналов самых разных форматов: NTSC/PAL/720p/1080i/1080p/2160p со значениями FPS от 25 до 60 кадров в секунду

– Файловые материалы могут быть преобразованы к единому формату на этапе импорта, могут быть скопированы в хранилище сервера «как есть», без конвертации: все необходимые up/down преобразования и преобразования частот смены кадров выполняются непосредственно в процессе воспроизведения, в соответствии с текущими настройками программного канала

– Для приема/передачи потоков IP/SMPTE ST 2110−20/30/40 10/25G выбраны сетевые адаптеры NVIDIA Rivermax. Поддерживается стандарт резервирования и «бесшовной» коммутации ST2022−7, обнаружение и подключение устройств реализовано в браузере NMOS (IS-04, IS-05).

Пример формирования выходных сигналов/потоков. в случае подачи на вход Stream Player сигнала с модуля Stream Capture, реализуется функционал кодирования: Sdi-Ip/Asi, Smpte st2110-IP/ASI, либо функционал транскодирования: IP/ASI-IP/ASI.
Пример формирования выходных сигналов/потоков. в случае подачи на вход Stream Player сигнала с модуля Stream Capture, реализуется функционал кодирования: Sdi-Ip/Asi, Smpte st2110-IP/ASI, либо функционал транскодирования: IP/ASI-IP/ASI.

Подробная информация о продуктах, решениях и проектах SkyLark Technology – на сайте skylark.ru. Смотрите интервью с техническими руководителями телекомпаний, которые эксплуатируют продукцию SkyLark.