Медиа.маги Документация

Last updated

af/aformat

af/aformat между map/audio и aac на холсте.

1. Сводка

Приводит аудиопоток к заданному формату сэмплов до того, как он дойдёт до кодера ниже по потоку. Фильтр нормализует разрядность, знаковость сэмплов и планарную/чередующуюся раскладку, чтобы следующая стадия получила аудио ровно в той форме, какую она ожидает.

2. Когда использовать

  • Состыковываете источник, чей формат сэмплов не совпадает с тем, что принимает кодер ниже по потоку, — например подаёте 32-битный float-мастер в кодер AC-3 или AAC, которому нужны знаковые целочисленные сэмплы.
  • Нормализуете разрядность в архивном конвейере, где каждое кодирование должно потреблять один и тот же мастер s24 независимо от вариаций входа.
  • Фиксируете формат аудио внутри вещательной контрибуционной цепочки, где PCM с фиксированной разрядностью входит в требования поставки.
  • Ставите перед стадией aresample / join / stereo, чтобы гарантировать формат, с которого начинает следующий фильтр.

3. Входы

  • Audio[]filtergraph.AudioTransform. Один аудиопоток или цепочка фильтров.

    Совместимые узлы выше по потоку:

    • af/aresample — пересэмплирует аудио к целевой частоте дискретизации.
    • af/join — объединяет несколько аудиопотоков в один.
    • af/stereo — приводит аудио к стерео или фиксирует стереораскладку.
    • map/audio — выбирает, какие аудиопотоки источника идут на кодер.

4. Выходы

  • Audio[]filtergraph.AudioTransform. Переформатированный аудиопоток, готовый питать следующий фильтр или кодер.

    Совместимые узлы ниже по потоку:

    • aac — кодирует аудиодорожки кодеком AAC.
    • ac3 — кодирует аудиодорожки как Dolby Digital (AC-3).
    • af/aresample — пересэмплирует аудио к целевой частоте дискретизации.
    • af/stereo — приводит аудио к стерео или фиксирует стереораскладку.
    • eac3 — кодирует аудио через Dolby Digital Plus (E-AC-3).
    • pcm — записывает несжатое аудио PCM.

5. Параметры

Форма «Настройки» узла af/aformat.

Форма «Настройки» — один столбец с одним полем. Описано в порядке следования в форме.

  • Format (enum, по умолчанию s16)

    Целевой формат сэмплов выходного потока.

    • Что задаёт. Числовое представление каждого аудиосэмпла в потоке, покидающем этот узел. s16 записывает 16-битные знаковые целочисленные сэмплы, s24 — 24-битные знаковые, s32 — 32-битные знаковые, а fltp — 32-битные сэмплы с плавающей точкой в планарной раскладке.
    • Когда менять. Выбирайте s16 для обычного аудио в вебе и HLS, где 16-битного мастера достаточно, а кодеры ниже по потоку ожидают знаковые целые. Переходите на s24 для интермедиатов высокого разрешения и мезонинов PCM, сохраняющих более широкий динамический диапазон. Выбирайте s32 только когда требования поставки предписывают 32-битные целочисленные сэмплы. Переключайтесь на fltp, когда следующий фильтр включает стадию, предпочитающую планарный float-вход — обычно многоступенчатый процессор громкости или DRC.
    • Допустимые значения. s16, s24, s32, fltp.
    • Обязательно. да.

6. Пример

Процесс архива HEVC на холсте

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в HEVC.

7. Где используется

  • HEVC — фиксирует аудиотракт на заданном формате сэмплов перед кодированием AAC, идущим в пару к видео HEVC.
  • AVC-Intra MXF broadcast mezzanine — фиксирует объединённые сэмплы PCM на одном формате перед мультиплексом вещательного MXF.
  • MPEG-TS broadcast pre-encode — нормализует формат сэмплов аудио перед кодированием AAC в режиме CBR, делящим муксрейт 10000 кбит/с.
  • Cropped H.264 MP4 from interlaced source — приводит к единому формату перед стереокодированием AAC в пару к обрезанному, деинтерлейснутому видео H.264.
  • Three-tier MP4 ladder (LQ / MQ / HQ) — фиксирует общую аудиоцепочку на одном формате сэмплов перед единственным кодированием AAC, питающим все три уровня MP4.

8. Антипаттерны

  • Принуждение к формату, который источник не обеспечивает. Выбор s24, когда граф выше по потоку несёт только 16-битный материал, даёт сэмплы, дополненные нулями — лишние биты без сигнала. Либо держите s16 сквозным, либо исправляйте формат источника выше по потоку.
  • Перепутанный порядок aformat и aresample. Пересэмплирование до смены формата нормально; обратный порядок платит за конверсию дважды, когда ресэмплер внутренне переходит обратно к своему рабочему формату. Ставьте af/aresample выше по потоку, а aformat — ниже, когда нужны оба.
  • Использование aformat для скрытой смены раскладки каналов. Этот узел управляет только форматом сэмплов. Смены раскладки каналов — моно ↔ стерео, сборка микса 5.1 — относятся к af/stereo и af/join. Подключение aformat как преобразователя раскладки не даст ожидаемой раскладки.
  • Повторное применение aformat после каждого фильтра. Когда аудио уже в целевом формате и ни один последующий фильтр его не переписывает, дополнительные стадии aformat не дают пользы и добавляют ещё один проход декодирования/кодирования. Ставьте aformat последним аудиофильтром перед кодером, когда он вообще нужен.
Медиа.маги Документация