Демультиплексирование транспортных потоков DVB-ASI/IP

Комплект программного обеспечения платформы SkyLark SL NEO содержит инструмент Easy Muxer, позволяющий осуществить мультиплексирование и демультиплексирование транспортных потоков DVB-ASI/IP. ПО Easy Muxer функционирует автономно и независимо от серверного ПО SL NEO.

Для врезки рекламы, программ местного вещания в DVB-мультиплекс, принимаемый через IP/ASI-интерфейсы, входной MPTS-поток необходимо демультиплексировать (разделить на отдельные программы). После обработки ПО Easy Muxer, отдельные программы - транспортные потоки SPTS, имеющие протоколы UDP Multicast/Unicast, через IP-интерфейсы могут быть перенаправлены серверному ПО SL NEO для для дальнейшей обработки (например - врезки рекламы). По окончании процесса врезки, с помощью ПО Easy Muxer можно выполнить обратную процедуру мультиплексирования потоков SPTS в MPTS, используя транспорт ASI или IP.

Поддержка ре-мультиплексирования транспортных потоков не входит в состав продуктов линейки SL NEO в качестве базовой функции, для работы Easy Muxer требуется активация. Без лицензионного ключа Easy Muxer работает 72 часа. 

В качестве примера, рассмотрим алгоритм настройки ПО Easy Muxer для демультиплексирования входного потока DVB-ASI MPTS в одно-программные транспортные потоки UDP IP SPTS.

Интерфейс DVB-ASI (Asinchronous Serial Interface) имеет максимальную пропускную способность 270 Mbps, что позволяет передавать в одном мультиплексе несколько программ MPEG-2/H.264 с разными скоростями. Суммарный битрейт всех программ не может превышать 200 Mbps, скорость передачи одной программы составляет как правило, от 3 (SD) до 15 (HD) Mbps. 

mux1.jpg
Easy Muxer устанавливается в комплекте с серверным и клиентским ПО SL NEO, иконка запуска Easy Muxer располагается на рабочем столе Windows. После запуска, в трее Windows появляется значок, показывающий активность приложения. По правой кнопке мыши на значке запускается Administrator Control Panel - web-консоль, предназначенная для настройки Easy Muxer.

Для удаленной работы с консолью следует использовать web-браузер, желательно Google Chrome. Вызов консоли с любой машины в сети осуществляется с использованием адреса: http://IP сервера:7801. Значение Password по умолчанию - пустое поле.

Окна интерфейса и разделы Top-menu консоли управления Easy Muxer

mux.jpg
Интерфейс содержит Top-menu и два основных окна: Sources, в котором отображаются параметры принимаемого потока и базовые параметры программ, содержащихся в нем, и Sinks - окно, расположенное в правой части интерфейса, отображающее текущий статус и параметры всех выходных программ и потоков.

Раздел Top-menu Easy Muxer - отображает номер текущей версии ПО SL NEO и текущий статус лицензии для Easy Muxer. Здесь отображается исходная информация, которую может запросить производитель - компания SkyLark Technology для генерации лицензионного ключа: Machine Code, общее количество входных-выходных потоков. В данном разделе можно установить пароль для входа в  web-консоль управления Easy Muxer.

Source - раздел Top-menu для настроек входных интерфейсов и транспортных потоков, Sink - раздел, позволяющий настроить выходные параметры.

Настройка захвата входного потока

mux2.jpgВыбираем раздел Top-menu Source и пункт New Source. В открывшемся окне в поле Source Name в произвольном порядке вводим наименование источника.

Для захвата потоков, передаваемых через ASI-интерфейсы, платформой SL NEO поддерживаются платы производства DekTec - в поле Port Type выбираем из списка Dektec DTA...ASI - плату серии Dektec DTA (поддерживаются модели плат DTA-105, 124, 145, 160, 2144, 2145, соответствующая плата должна присутствовать в системе).

В поле Port Number указываем номер физического порта платы, на который поступает поток.

Пункт Enable Time Delay позволяет записать входной поток на диск "как есть" и таким образом, осуществить временную задержку на определенное время. Максимальное время, на которое требуется задержать входной поток, указывается в поле Delay, в поле Buffer Path указывается путь к диску для записи потока.

По окончании настройки, в окне Sources будет отображаться текущая информация о принимаемом потоке и программах, входящих в его состав, включая соответствующие идентификаторы SID и PID.

Настройка выходных параметров

Настройка выходного интерфейса

mux3.jpg
Выбираем раздел Top-menu Sink и пункт New Sink. В открывшемся окне в поле Sink Name в произвольном порядке вводим наименование выходного интерфейса.

В поле Port Type выбираем из списка Ethernet Adaptpor. Для генерации multicast IP-трафика в поле Multicast Interface указывается физический IP адрес сетевого адаптера сервера, который будет формировать multicast-поток.

В поле Protocol выбираем UDP - базовый протокол для передачи потокового видео и аудио.

Для генерации unicast IP-трафика в поле Address указывается IP адрес и порт машины, на которую будет направлен поток. Для генерации multicast IP-трафика, в поле Address указывается IP адрес из диапазона 224.0.0.0 - 239.255.255.255 и порт. 

Параметр IP TTL - Time To Live (время жизни пакета) - количество роутеров, через которые может пройти пакет (пакеты с TTL=1 распространяются только в рамках одной подсети).

Для формирования нескольких SPTS - потоков, необходимо настроить соответствующее количество выходных интерфейсов (Sink) - по одному на каждый поток, номера портов в поле Address должны различаться при одинаковых значениях IP.

Настройка формирования выходных программ

mux4.jpg
Выбираем раздел Top-menu Sink и пункт New Service. В открывшемся окне Add Service, выбираем из списка один из настроенных ранее выходных интерфейсов (Sinc), который будет закреплен за данным сервисом и будет отвечать за формирование SPTS-потока.

В окне Source Service, в поле Source TS выбираем источник потока - ASI IN в нашем примере. В окне Sink Service Parameters указываем основные параметры формируемого потока: наименование провайдера, наименование программы, базовые идентификаторы программы - SID и PMT PID.

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

В окне Streams необходимо произвести подключение ко входному потоку в части видео- и аудиоданных: по кнопке Add в открывшемся окне указать идентификатор (PID) источника видеоданных, в окне Stream Parameters в поле PID - указать идентификатор источника видеоданных для выходной программы.

В поле Stream Type следует выбрать из списка алгоритм компрессии - такой же, как у источника. Вся необходимая информация для ввода значений отображается в окне Sources в основной части интерфейса Easy Muxer.

После настройки параметров видео, аналогичные настройки необходимо произвести и для аудио-данных.

mux5.jpg

Окно Time delay позволяет установить значение для временной задержки при формировании потока (соответствующая опция должна быть активирована в настройках входного потока).

mux6.jpg
Для сохранения настроек и запуска сервиса, следует выбрать команду Start Sink в разделе Sink Top-menu приложения.

Самый простой способ конфигурирования большого количества сервисов - копирование настроек, включая все дескрипторы, с исходного сервиса.  Для этого следует воспользоваться пунктами меню Copy Sink и Copy Service.

Cохранение и восстановление настроек Easy Muxer

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

завершить работу Easy Muxer, зайти в папку C:\Program Files (x86)\SL NEO Media Platform\run (для 64-битной ОС Windows) или C:\Program Files\SL NEO Media Platform\run (для 32-х битной ОС  Windows) и скопировать файл tsremux_config.xml - он содержит информацию о текущей конфигурации Easy Muxer. Также необходимо скопировать файл с расширением lic - это файл с лицензионным ключом.

Восстановление настроек производится при остановленном ПО Easy Muxer, путем замены файла tsremux_config.xml в папке C:\Program Files (x86)\SL NEO Media Platform\run  предварительно сохраненной копией.