it-swarm.com.ru

Как преобразовать видео с помощью ffmpeg в формат DNxHD / DNxHR?

Я следую учебному пособию о том, как работать с cinelerra-cv, в самом начале было сказано, что самый первый шаг в работе с cinelerra - это преобразование любого видеоклипа в формат dnxhd. Было просто сказано, не объяснено, как это сделать.

После некоторого исследования я наткнулся на ffmpeg, но я не представляю, как его использовать в отношении dnxhd, с небольшими знаниями, которые я собрал о ffmpeg, я думаю, как это сделать:

ffmpeg -i <video-clip> -vcodec dnxhd <video-clip-in-dnxhd>

однако, это не работает, и примеры, которые я видел при преобразовании в dnxhd с помощью ffmpeg, я не понимаю, они, казалось, каждый раз имели несколько разных тегов, не объясняя, почему их использовать.

9
sharkant

Это требовательный кодировщик, поэтому вы должны выбрать правильные параметры, включая:

  • частота кадров
  • формат пикселей/цветовое пространство
  • ширина х высота/разрешение/размер кадра
  • битрейт

См. Действительные параметры 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, например -profile 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

Выберите правильный формат пикселя, используя фильтр format . Смотрите пример DNxHD выше.

12
llogan