0

I have a bunch of footage shot on a Canon 7d I'd like to transcode for editing in Davinci Resolve (I'm exploring alternatives to using Resolve's proxies).

The source footage is 1920x1080 8-bit YUV 4:2:0 @ 25fps.

I'd like to use ffmpeg and either the DNxHD or DNxHR encoders but DNxHD doesn't appear to have a matching profile and errors our and DNxHR outputs 4:2:2 video (which is arguably unecessary in this case) and doubles the original file size.

DNxHR

ffmpeg -i "input.mov" -c:v dnxhd  -profile:v dnxhr_sq -pix_fmt yuv422p -c:a pcm_s16le "output.mxf"

DNxHD (errors "maybe incorrect parameters")

ffmpeg.exe  -i "input.mov" -vcodec dnxhd "input.mxf"

My questions are as follows:

  1. Are either DNxHD or DNxHR capable of outputing to 4:2:0? Would doing so keep file sizes down?
  2. Can DNxHD transcode my source? If yes, how should I ammend the above ffmpeg parameters?

1 Answer 1

1
  1. Are either DNxHD or DNxHR capable of outputing to 4:2:0?

No. Running ffmpeg -h encoder=dnxhd will list encoder properties, including

Supported pixel formats: yuv422p yuv422p10le yuv444p10le gbrp10le
  1. Can DNxHD transcode my source? If yes, how should I ammend the above ffmpeg parameters?

The DNxHD encoder only supports a limited number of preset profiles. Each profile is specified of a frame size, interlacing mode, bitrate and pixel format (which also includes chroma sampling scheme).

FFmpeg will automatically convert the input to a matching pixel format, but the rest has to be manually set.

So, for a 1920x1080 8-bit YUV 4:2:0 @ 25fps source,

ffmpeg.exe  -i "input.mov" -c:v dnxhd -b:v 115M "input.mxf"

Try to encode with a non-matching to prompt an error message with the list of supported profiles.

1
  • Thanks, that worked. Interestingly, your dnxhd command above produces an output file with the exact same size as my dnxhr command.
    – Michhes
    Commented Feb 7, 2021 at 7:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.