What's the maximal number of AVC/H.264 streams generated in parallel by NvEnc?

Dear NVIDIA experts

I have M60 and P5000 cards. i use ffmpeg to encode video by means of the hw accelerator NvEnc.
My question is - how many AVC/H.264 streams i can encode in parallel on P5000 and on M60?

The same question i would like ask about HEVC/H.265.


The overall encode throughput depends on Codec, GPU, encoder settings, clocks on your GPU. The single encode session performance is published across GPUs in .\doc\NVENC_Application_Note.pdf.

Please refer to section 4. It explains based on the numbers how to calculate the overall throughout (number of encode sessions) that can be supported. The numbers are published for HEVC and H264 across different GPU generations.

You can find the number of NVENCs per chips at https://developer.nvidia.com/video-encode-decode-gpu-support-matrix . M60 has 2 NVENCs.

Ryan Park

Thanks Ryan

My case is M60 chip, HEVC, 30 fps video and the low-latency high quality preset.

According to Table 3 the encoding frame rate is 200 (HD, 8-bpp), thus i can simultaneously encode at most 6 streams per NVENC (i am aware that GPU and other factors would decrease that number).

On the other hand with a single NVENC (M60), i measured that the encoding intervals per HD frame are in the range of 10ms-12ms. So, roughly speaking, the encoding frame rate is 100 fps. i excluded the impact of clocks by disabling auto boosting by setting GPU and memory access clocks to maximum:

.\nvidia-smi --auto-boost-default=0
.\nvidia-smi -ac “2505,1177”

The discrepancy of the factor x2 is annoying to me. Perhaps, in order to get 200 fps NVIDIA QA team used a restricted search area size, low bitrate, single reference frame, simple video content etc.