Транскодирование¶
Транскодер Sapsan (на базе FFmpeg) перекодирует входной поток: меняет кодеки, битрейт, разрешение и готовит мультибитрейтную лесенку (MBR) из одного источника.
Настройка¶
Секция transcoder.output описывает выходные дорожки. Каждая дорожка берет источник (!content video или !content audio) и задает кодек:
streams:
tv1:
inputs:
- udp: {host: 239.0.0.1, port: 5000}
transcoder:
output:
- source: !content video # 1080p — верх лесенки
codec: !set h264
bitrate: 2800000
params: !video
gop_size: 28
gop_structure: ipppb
- source: !content video # 720p
codec: !set h264
bitrate: 1200000
params: !video
gop_size: 28
gop_structure: ipppb
resize: !fit
height: 720
- source: !content audio
codec: !set aac
Выбор исходной дорожки¶
source |
Что берет |
|---|---|
!content video / !content audio |
дорожку по типу контента |
!exact v1 |
конкретную дорожку по идентификатору |
!best_quality video |
лучшее качество из имеющихся |
!language_codec [eng, aac] |
дорожку по языку и кодеку |
Параметр if_missing задает поведение, когда дорожки нет: drop (по умолчанию — выход не создается), blank (пустой сигнал) или substitute (подстановка).
Кодеки и параметры¶
codec: !set <name>— перекодировать (h264, hevc, av1, aac, opus);codec: same— пропустить без перекодирования (например, только перепаковать аудио).- Выходы разных кодеков из одного источника держат выровненные таймстемпы и ключевые кадры — лесенка h264/hevc/av1 остается согласованной.
gop_size,gop_structure(например,ipppb) — управление структурой GOP, важно для согласованных сегментов MBR.- Аудио: перекодирование G.711 → AAC/Opus 48 кГц с сохранением таймлайна — типовой случай для IP-камер.
- JPEG-дорожки скриншотов проходят сквозь транскодер нетронутыми.
Изменение размера¶
resize |
Что делает |
|---|---|
!scale |
точное масштабирование в заданные размеры |
!fit |
вписать с сохранением пропорций (с полями, цвет фона настраивается) |
!crop |
обрезать до заданных размеров |
Note
TODO: аппаратное ускорение (Nvenc/Vulkan), деинтерлейс, оверлеи/логотипы, справочник аудио-параметров.
Проверка¶
Откройте мастер-плейлист http://server/streaming/v/tv1/index.m3u8 — в нем должны появиться все выходные качества.