

(For DNxHR, scroll down to Valid DNxHR parameters section below.) The above list was adapted from DNxHR codec.įfmpeg will fail if you provide incorrect values, but it can provide a list of what is accepted. DNxHR 444: dnxhr_444 - Finishing Quality.DNxHR SQ: dnxhr_sq - Standard Quality.The -profile:v output option is required to select the DNxHR profile, such as -profile:v dnxhr_hq.Īccepted values for -profile:v are: dnxhd, dnxhr_444, dnxhr_hqx, dnxhr_hq, dnxhr_sq, dnxhr_lb. Output format container for DNxHD is typically MXF or MOV.ĭNxHR is for resolutions bigger than 1080p such as 2K, 4K, and 8K.Įxample for DNxHR HQX, 10-bit 4:2:2, 4K (4096x2160), 24 fps: ffmpeg -i input -c:v dnxhd -vf "scale=4096:2160,fps=24,format=yuv422p10le" -profile:v dnxhr_hqx -b:v 746M -c:a pcm_s16le output.mov If your input file already conforms to some of the accepted parameters then you don't have to manually declare them.

This example will scale to 1280x720, choose a frame rate of 30000/1001 (aka "29.97"), and a pixel format of YUV 4:2:2 planar. See the Valid DNxHD parameters below for accepted values. width x height / resolution / frame size.The option does not mean same quality.This is a picky encoder so you have to choose proper parameters including: Sameq tells FFmpeg to use the same quantization parameters when converting video with the same codec that was used for the input.

Basically, FFmpeg just reads and writes the container and doesn't change the codecs. Here's an example that changes the container from AVI to MP4, if the video bitstream is valid for MP4 as well: ffmpeg -i input.avi -c:v copy output.mp4Īgain: FFmpeg will copy anything that it finds. This, in essence, gives you the same quality, as nothing will be changed in the video bitstream. For example, your AVI video has an XviD video bitstream, and you can copy it to an MP4 container, without re-encoding the video. c:v copy tells FFmpeg to copy the bitstream of the video to the output. The accepted answer is incorrect-or at least doesn't really explain what the options actually do.
