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

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

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

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

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

9
задан 16 June 2018 в 12:27

1 ответ

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

  • частота кадров
  • формат пикселя / цветовое пространство
  • ширина x высота / разрешение / формат кадра
  • скорость передачи

Посмотрите Допустимые параметры 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 для разрешений, больше, чем 1 080 пунктов, таких как 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, и перекрестная ссылка со Списком Энергичных разрешений 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 выше.

15
ответ дан 23 November 2019 в 04:54

Другие вопросы по тегам:

Похожие вопросы: