Транскодеры¶
Транскодеры перекодируют видео и звук потока: снижают битрейт для OTT или мультиплекса, меняют кодек и разрешение, готовят варианты для адаптивных наборов. Каждый транскодер работает как отдельный процесс узла; поддерживается схема «один ко многим» — с одного декодера можно получить несколько выходных потоков с разными настройками кодирования. Транскодирование доступно только SPTS-потокам; в исходном потоке должны быть и видео, и звук.
Архитектура транскодера: один декодер (общий) и N независимых ветвей «обработка + кодер»; звуковые дорожки обрабатываются отдельно от видео, субтитры и телетекст проходят насквозь.¶
Подключение¶
Транскодер соединяет два и более потока:
На потоке-источнике добавляется выход типа transcoder — это декодер. В его настройках выбирается бэкенд транскодирования (см. ниже).
На потоке-результате добавляется вход типа transcoder — это кодер. В его настройках выбирается работающий декодер-источник (поле Decoder).
Шаг 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, а также недоступность настроенного бэкенда вызывают оповещения (Каталог кодов алертов).