[FFmpeg-devel] NVENC H.265 4K Uncatchable 60fps Performance
alikizil at gmail.com
Tue Apr 14 00:32:21 CEST 2015
Timo Rothenpieler <timo <at> rothenpieler.org> writes:
> > I have a few questions.
> > I will be grateful is someone can give an idea / reply.
> > 1) On nvenc.c under libavcodec, is it possible to create more than
> > instance of nvenc to perform 4K 60 fps encoding using
> > nvEncodeAPICreateInstance ?
> You could encode two independend video streams at 30 fps each. There
> no way two encode sessions can work on the same video stream.
> > Is there any way to stack videos without re-encoding ?
> No, that's not possible.
> ffmpeg-devel mailing list
> ffmpeg-devel <at> ffmpeg.org
BTW I got below email from Nvidia:
"My apologies… I made a mistake in my earlier response. I checked with
the team, and confirmed that GM204 (GTX 980) should be able to do 60 fps
H.264 at 4K x 2K (3840 x 2160) resolution.
I have a few questions. Are you using the nvencoder application with the
NVENC SDK with HP preset and single pass rate control mode? Or some
How are you reading YUV file? Have you ensured that the code is
pipelined such that there is no extra time spent in reading YUV frames
into the video memory?"
Than I made a test:
/root/NvEncoder -i /root/bunny.yuv -o /root/hevc -size 3840 2160 -codec
1 -rcmode 2 -preset hp -fps 50 -goplength 50 -bitrate 40000000 -
vbvMaxBitrate 40000000 -vbvSize 120000000
I run the above command as below:
Here is the output:
Encoded 1077 frames in 20533.26ms
Avergage Encode Time : 19.07ms
It means depending on NvEncoder time measurement FPS is 52.45 (1077 /
20.533), depending on Linux time measurement FPS is 49.35 (1077 /
However, FFmpeg can go up to 32-34 fps. There may be a memory management
issue. If I succeed on comparing of code NvEncoder and nvenc.c, I will
More information about the ffmpeg-devel