[FFmpeg-user] how to use new ffmpeg NVEnc options airing from Nvidia Video SDK 10

hydra3333 at gmail.com hydra3333 at gmail.com
Thu Jul 2 09:42:02 EEST 2020


Hello.   Seeking clarification from some kind soul(s) on how to use ffmpeg's new NVEnc encoder options arising from use of the Nvidia Video SDK 10.

I notice  with delight four new patches to do with Nvidia NVEnc and Video SDK 10.
https://github.com/FFmpeg/nv-codec-headers/commit/5ee2ae591f74f53bd6028344f8690f1558a1f17a
https://github.com/FFmpeg/nv-codec-headers/commit/de0b1bfabb01768302de66a2d88d03a48c266150
https://git.videolan.org/?p=ffmpeg.git;a=commit;h=3223f6b32d5d60c73b1e14475d4751770ae9344d
https://git.videolan.org/?p=ffmpeg.git;a=commit;h=9115d7722205590b8601d87146087f3559d29d54

But I don’t know how to use it, now.  So, a few queries ...

1. What's the difference between profile options
slow, P7, and hq ?
i.e. which is the "best" quality (some all say hq and a couple also say multi-pass eg 2-pass) ?
I can’t easily locate any documentation.

2. How to combine and use the new options separately and/or in combination, to achieve "best" quality ?

2(a) h.264: https://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=libavcodec/nvenc_h264.c;h=0c1a32178c71aff4c46f1e014218cfa757be5bbe;hp=e973e9ee92dd3293a65fcfcec4e18093a06f6895;hb=9115d7722205590b8601d87146087f3559d29d54;hpb=f3dc38a186b2326ce03e50969897ea703817ddb0
i.e. multipass, fullres, etc

2(b) hevc: https://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=libavcodec/nvenc_hevc.c;h=074975f78a73bd1e0acf0560e16c17e7064da991;hp=a90dd51f5f5da865d496742b834320be7bc09dd8;hb=9115d7722205590b8601d87146087f3559d29d54;hpb=f3dc38a186b2326ce03e50969897ea703817ddb0

...
i.e. which of the new options to use/combine/discard to maximize quality per the old h.264 options:
-preset slow 
-2pass 1 
-rc:v vbr_hq

I am guessing some options are deprecated/superseded but do not know which ones.

3. Does this change mean -multiPass is only used for hevc ?  
NV_ENC_MULTI_PASS               multiPass;                                    /**< [in]: This flag is used to enable multi-pass encoding for a given ::NV_ENC_PARAMS_RC_MODE. This flag is not valid for H264 and HEVC MEOnly mode */

4. Is there a table a table ranking of options for quality/speed so the user can choose which preset/options to use ?

5. Is there a link to an NVIDIA table showing models of cards vs "nvenc features enabled In ffmpeg" and what the target objectives are for each option ?

Thanks.




More information about the ffmpeg-user mailing list