Транскодеры

Транскодеры перекодируют видео и звук потока: снижают битрейт для OTT или мультиплекса, меняют кодек и разрешение, готовят варианты для адаптивных наборов. Каждый транскодер работает как отдельный процесс узла; поддерживается схема «один ко многим» — с одного декодера можно получить несколько выходных потоков с разными настройками кодирования. Транскодирование доступно только SPTS-потокам; в исходном потоке должны быть и видео, и звук.

Архитектура транскодера: один общий декодер и несколько независимых ветвей обработки и кодирования; звук — мультитрек, субтитры и телетекст проходят насквозь.

Архитектура транскодера: один декодер (общий) и N независимых ветвей «обработка + кодер»; звуковые дорожки обрабатываются отдельно от видео, субтитры и телетекст проходят насквозь.

Подключение

Транскодер соединяет два и более потока:

  1. На потоке-источнике добавляется выход типа transcoder — это декодер. В его настройках выбирается бэкенд транскодирования (см. ниже).

  2. На потоке-результате добавляется вход типа transcoder — это кодер. В его настройках выбирается работающий декодер-источник (поле Decoder).

  3. Шаг 2 повторяется для каждого дополнительного варианта — все они используют общий декодер.

Дальше поток-результат — обычный SPTS-поток: его можно раздавать в OTT, записывать в DVR, подавать в мультиплексор.

Бэкенды и кодеки

Бэкенд выбирается на декодере (поле Transcoder backend, значения — как в интерфейсе):

Video pass-through

Видео проходит без перекодирования, транскодируется только звук. Режим выполняется программным транскодером — пакет программного транскодирования должен быть установлен (Транскодеры).

Software (CPU)

Программное транскодирование на процессоре.

NVidia (GPU)

Аппаратное транскодирование на графических процессорах NVIDIA.

Intel VPL (GPU)

Аппаратное транскодирование на графических процессорах Intel.

Для GPU-бэкендов устройство выбирается полем GPU device selector (дополнительная настройка) — актуально на серверах с несколькими картами. Пакеты транскодеров устанавливаются отдельно (Транскодеры); установленные бэкенды, их версии и найденные устройства показаны на экране «О программе» (О системе).

Кодеки декодера — MPEG-2, H.264, HEVC; звук — MPEG (Layer 1–3), AAC, AC-3. Кодеки кодера — H.264 и HEVC (кодер NVIDIA не поддерживает MPEG-2; MPEG-2 кодируют бэкенды Software и Intel VPL); звук — MPEG Layer II и AAC.

Особенности декодера:

  • чересстрочные (interlace) потоки поддерживаются на входе и выходе; для H.264 и HEVC формат interlace alternate (отдельные поля) преобразуется в interleaved;

  • для HEVC поддерживается профиль Main10 с BT.709 (SDR) и BT.2020 (HDR); кодер HEVC всегда использует профиль Main с BT.709;

  • переменная частота кадров (VFR) преобразуется в постоянную;

  • поддерживаются потоки без IDR-кадров.

Настройки декодера

Задаются на выходе типа transcoder потока-источника (названия — как в интерфейсе; все перечисленные ниже — дополнительные настройки):

Fix PAR (N/D), Fix framerate (N/D)

Подсказки для исправления данных входного потока — они не преобразуют поток, а корректируют параметры, когда источник их не сообщает или сообщает неверно. Fix PAR — соотношение сторон пикселя дробью (например, 16/9 для Wide SD); Fix framerate — частота кадров дробью, если она отсутствует в потоке (PAL — 25/1, NTSC — 30000/1001, кино — 24/1).

Convert to BT.709

Конвертация цветовых форматов SD (BT.470-2 PAL, SMPTE 170M NTSC) в BT.709.

Watchdog timeout

Таймаут сторожевого перезапуска процесса транскодера.

Процесс транскодера всегда ведёт подробный журнал — отдельная настройка трассировки не требуется (Контроль работы).

Настройки кодера

Задаются на входе типа transcoder потока-результата:

Encoder

Видеокодек: MPEG-2, H.264 (по умолчанию) или HEVC.

Video profile (H.264)

Профиль кодирования H.264: Main или High.

Video bitrate (kbps)

Битрейт видео. Кодирование всегда выполняется в режиме CBR; суммарный битрейт потока будет больше за счёт звуковых дорожек.

Resize

Изменение размера картинки: пропорциональное уменьшение в 2 или 4 раза; приведение к SD — варианты SD, SD PAL и SD NTSC, все с широкоэкранным соотношением 16:9; масштабирование SD в HD; задание ширины или высоты (вторая сторона пересчитывается пропорционально). Произвольный размер не поддерживается — это исказило бы пропорции.

Deinterlace

Преобразование чересстрочного видео в прогрессивное (включено по умолчанию; при масштабировании SD в HD применяется автоматически).

Настройки качества и структуры потока (дополнительные настройки):

GOP interval

Интервал ключевых кадров в кадрах. По умолчанию 25 — секунда для 25p; рекомендуется, если проигрыватели подключаются к потоку в произвольный момент.

B-frames, Lookahead

Повышают качество кодирования; рекомендуемые значения — 3 и 20–50 кадров соответственно.

Speed preset

Предустановка скорости кодирования от 1 до 7: меньше — выше качество и больше нагрузка. По умолчанию 4.

Framerate resample

Прореживание частоты кадров в 2 или 4 раза.

Encoder PMT PID, PAT/PMT interval (90kHz)

PID таблицы PMT и интервал повторения таблиц PAT/PMT в выходном потоке — при необходимости вписать поток в план сети.

Несовместимые сочетания параметров возможны — ошибки видны в журнале транскодера (Контроль работы).

Обработка звука

По умолчанию все звуковые дорожки проходят со входа на выход без перекодирования. Лишние дорожки убираются PID-фильтрами на входе потока (Фильтрация MPEG-TS).

Перекодирование звука настраивается правилами отдельно для каждого исходного кодека (дополнительные настройки): дорожку можно пропустить без изменений, перекодировать (MPEG — в AAC; AAC — в MPEG Layer II; AC-3 — в MPEG Layer II или AAC) либо убрать (значение Skip). Дополнительно задаются битрейт звука (Audio bitrate, по умолчанию 128 кбит/с) и громкость понижающего микширования 5.1 (5.1 downmix volume). Если после применения правил в выходном потоке не останется ни одной звуковой дорожки, кодер сообщит об ошибке в журнале.

PCR и битрейт выходного потока

Мультиплексор транскодера формирует новые, согласованные метки PCR. По умолчанию выходной поток — VBR: суммарный битрейт следует фактическому битрейту видео и звука, и точность PCR по TR 101 290 на приёмной стороне не гарантируется. Если транскодированный поток предназначен для DVB-вещания, включите режим CBR на потоке-приёмнике — заполнение выровняет битрейт и пересчитает PCR (Управление битрейтом).

Контроль работы

Экран «Транскодеры» (Транскодеры) показывает все экземпляры: каждая строка — отдельный экземпляр (декодер и подключённые к нему кодеры) с состоянием, типом бэкенда, временем работы, загрузкой CPU и памятью. Окно «Экземпляр транскодера» (Экземпляр транскодера) раскрывает источник, список кодеров с параметрами выходного видео, ресурсы процесса и журналы текущего и предыдущего запусков — первый адрес при диагностике проблем.

Загрузка GPU-устройств отображается на экране «Системный монитор» (Системный монитор). Превышение порогов CPU, памяти и загрузки GPU, а также недоступность настроенного бэкенда вызывают оповещения (Каталог кодов алертов).