Это требовательный кодировщик, поэтому вы должны выбрать правильные параметры, включая:
- частота кадров
- формат пикселей / цветовое пространство
- ширина х высота / разрешение / размер кадра
- битрейт
См. Допустимые параметры DNxHD ниже для принятых значений.
Пример DNxHD
Этот пример будет масштабироваться до 1280x720, выбирать частоту кадров 30000/1001 (или 29,97) и формат пикселя YUV 4: 2: 2 в плоскости.
ffmpeg -i input -c:v dnxhd -vf "scale=1280:720,fps=30000/1001,format=yuv422p" -b:v 110M -c:a pcm_s16le output.mov
Если ваш входной файл уже соответствует некоторым из принятых параметров, вам не нужно объявлять их вручную.
Контейнером выходного формата для DNxHD обычно является MXF или MOV.
Пример DNxHR
DNxHR для разрешений больше 1080p, таких как 2K, 4K и 8K.
Если вы хотите DNxHR, добавьте параметр -profile:v
вывода, например -profile:v dnxhr_hq
.
Допустимые значения: dnxhd
, dnxhr_444
, dnxhr_hqx
, dnxhr_hq
, dnxhr_sq
, dnxhr_lb
.
- DNxHR LB:
dnxhr_lb
- Низкая пропускная способность. 8-бит 4: 2: 2 ( yuv422p
). Качество в автономном режиме.
- DNxHR SQ:
dnxhr_sq
- Стандартное качество. 8-бит 4: 2: 2 ( yuv422p
). Подходит для формата доставки.
- DNxHR HQ:
dnxhr_hq
- Высокое качество. 8-бит 4: 2: 2 ( yuv422p
).
- DNxHR HQX:
dnxhr_hqx
- Высокое качество. 10-бит 4: 2: 2 ( yuv422p10le
). UHD / 4K Вещание качественной доставки.
- DNxHR 444:
dnxhr_444
- Качество отделки. 10-бит 4: 4: 4 ( yuv444p10le
). Кинокачественная доставка.
Приведенный выше список был адаптирован из кодека DNxHR .
Допустимые параметры DNxHD
ffmpeg
потерпит неудачу, если вы предоставите неправильные значения, но он может предоставить список того, что принято.
Вы можете показать список с помощью следующей команды:
ffmpeg -f lavfi -i testsrc2 -c:v dnxhd -f null -
Важные замечания о частоте кадров
Частота кадров отсутствует в списке, созданном из этой команды. ffmpeg
будет слепо принимать любую частоту кадров для этого кодера, и программное обеспечение Avid, как сообщается, примет ее (неподтвержденную), но битрейт DNxHD должен соответствовать только конкретной частоте кадров. Для максимальной совместимости я рекомендовал использовать только правильную комбинацию битрейт / частота кадров. Поэтому используйте приведенную выше команду для получения правильных битрейтов и форматов пикселей, принимаемых ffmpeg
, и сделайте перекрестную ссылку на Список разрешений Avid DNxHD или Технический документ DNxHD (стр. 9) для правильной частоты кадров.
Частоты кадров, указанные в ссылках выше, используют неточные округленные приближения. Подходящие значения перечислены ниже; сокращенное название слева, а правильное значение справа.
- 29,97 = 30000/1001 (или используйте псевдоним
ntsc
)
- 59,94 = 60000/1001
- 23,967 = 24000/1001 (или используйте псевдоним
ntsc-film
)
Больше вариантов
Дополнительные параметры, специфичные для кодировщика, и список поддерживаемых форматов пикселей см. В следующих разделах:
ffmpeg -h encoder=dnxhd
ошибки
ff_frame_thread_encoder_init failed
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!
Это означает, что ваша частота кадров, ширина, высота, формат пикселей и / или битрейт неверны. Обратитесь к действительным параметрам DNxHD выше для принятых значений.
pixel format is incompatible with DNxHD profile
Выберите правильный формат пикселя, используя фильтр формата . Смотрите пример DNxHD выше.
ffmpeg -i <input_file> -vcodec dnxhd -b <bitrate> -an output.mov