[FFmpeg-devel] NVENC H.265 4K Uncatchable 60fps Performance
Ali KIZIL
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
one
> > instance of nvenc to perform 4K 60 fps encoding using
> > nvEncodeAPICreateInstance ?
>
> You could encode two independend video streams at 30 fps each. There
is
> 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
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
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
other settings?
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:
4krun.sh file:
/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:
time ./4krun.sh
Here is the output:
Encoded 1077 frames in 20533.26ms
Avergage Encode Time : 19.07ms
real 0m21.821s
user 0m16.157s
sys 0m5.207s
It means depending on NvEncoder time measurement FPS is 52.45 (1077 /
20.533), depending on Linux time measurement FPS is 49.35 (1077 /
21.821).
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
write here.
More information about the ffmpeg-devel
mailing list