---
title: Транскодеры
url: https://doc2.pstreamer.tv/ru/manual/streamer/transcoder.html
lang: ru
product: Perfect Streamer
version: 2.0.2.362
---

# Транскодеры

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

![Архитектура транскодера: один общий декодер и несколько независимых ветвей обработки и кодирования; звук — мультитрек, субтитры и телетекст проходят насквозь.](../../_images/pipeline_transcoder.svg)

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

## Подключение

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

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

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

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

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

**Video pass-through**
  Видео проходит без перекодирования, транскодируется только звук. Режим выполняется программным транскодером — пакет программного транскодирования должен быть установлен ([Транскодеры](../install/transcoder.md#install-transcoder)).
**Software (CPU)**
  Программное транскодирование на процессоре.
**NVidia (GPU)**
  Аппаратное транскодирование на графических процессорах NVIDIA.
**Intel VPL (GPU)**
  Аппаратное транскодирование на графических процессорах Intel.

Для GPU-бэкендов устройство выбирается полем GPU device selector (дополнительная настройка) — актуально на серверах с несколькими картами. Пакеты транскодеров устанавливаются отдельно ([Транскодеры](../install/transcoder.md#install-transcoder)); установленные бэкенды, их версии и найденные устройства показаны на экране «О системе» ([О системе](../webui/administration.md#webui-about)).

Кодеки декодера — 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 rate control**
  Режим управления битрейтом видео: постоянная скорость — CBR (constant); переменная со средним битрейтом — VBR (average bitrate); переменная с потолком — VBR (maximum bitrate). По умолчанию постоянная скорость.

  В обоих переменных режимах кодер перестаёт добивать собственный элементарный поток, поэтому экономия полосы получается только там, где поток-приёмник не выравнивает битрейт обратно: заполнение задаётся полем «Режим битрейта» на вкладке «MPEG-TS» этого потока ([Управление битрейтом](spts.md#streamer-spts-bitrate)). Не путать эти два поля: «Режим битрейта» относится к транспортному потоку целиком, Video rate control — только к видеокодеру.

  Режим появился в 2.0.2.334. На узле прежней сборки поля нет, а транскодер прежней сборки его не читает и всегда кодирует с постоянной скоростью.
**Video bitrate (kbps)**
  Битрейт видео — одно число на все три режима; что оно означает, задаёт Video rate control, и подпись поля меняется вместе с режимом. При постоянной скорости число — и цель, и потолок буфера. При среднем битрейте число — средняя скорость, а пики доходят до полутора её величин. При потолке число — верхняя граница, которую видео не переходит, а средняя скорость составляет две трети от неё. Второй предел кодер во всех случаях выводит сам из фиксированного отношения пика к среднему 1,5, поэтому максимум отдельным полем не задаётся. Суммарный битрейт потока будет больше за счёт звуковых дорожек.
**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 в выходном потоке — при необходимости вписать поток в план сети.

Сохранение любой настройки кодера перезапускает процесс транскодера — об этом предупреждает надпись над списком полей. Перезапуск переоткрывает каждый вход, который этот экземпляр транскодера кормит, в том числе входы других потоков: в каждом транскодированном выходе будет короткий разрыв, а поток с резервными входами может на это время уйти на резерв ([Резервирование источников и раздача](../planning/index.md#planning-reservation)).

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

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

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

Перекодирование звука настраивается правилами отдельно для каждого исходного кодека (дополнительные настройки): дорожку можно пропустить без изменений, перекодировать (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 ([Управление битрейтом](spts.md#streamer-spts-bitrate)). Переменный режим кодирования усиливает неравномерность: битрейт видео следует содержанию, и без заполнения на приёмнике транспортный поток тем более неровен.

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

Экран «Транскодеры» ([Транскодеры](../webui/monitor.md#webui-transcoders)) показывает все экземпляры: каждая строка — отдельный экземпляр (декодер и подключённые к нему кодеры) с состоянием, типом бэкенда, временем работы, загрузкой CPU и памятью. Окно «Экземпляр транскодера» ([Экземпляр транскодера](../webui/monitor.md#webui-transcoder-detail)) раскрывает источник, список кодеров с параметрами выходного видео, ресурсы процесса и журналы текущего и предыдущего запусков — первый адрес при диагностике проблем.

Загрузка GPU-устройств отображается на экране «Системный монитор» ([Системный монитор](../webui/monitor.md#webui-system)). Превышение порогов CPU, памяти и загрузки GPU, а также недоступность настроенного бэкенда вызывают оповещения ([Каталог кодов алертов](../meshwork/alerts.md#meshwork-alert-codes)).
