Low quality video issues on TX2 NX (NVENC)

Hello,

we are not able to get great PSNR values using NVENC on TX2 NX with adequate bitrate settings.
To reproduce:
Download sample: https://media.xiph.org/video/derf/y4m/park_joy_1080p50.y4m

Run Gstreamer Pipeline: gst-launch-1.0 filesrc location= park_joy_1080p50.y4m ! y4mdec ! nvvidconv ! nvv4l2h264enc bitrate=14000000 control-rate=1 vbv-size=450000 ! h264parse ! qtmux ! filesink location= park_joy.mp4
Test result using ffmpeg: ffmpeg -i park_joy.mp4 -f rawvideo -video_size 1920x1080 -framerate 50 -i park_joy_1080p50.y4m -lavfi "ssim;[0:v][1:v]psnr" -f null -

Result:

[Parsed_ssim_0 @ 0x5590608af0] SSIM Y:0.224862 (1.106211) U:0.547939 (3.448028) V:0.746531 (5.960758) All:0.365653 (1.976733)
[Parsed_psnr_1 @ 0x559062c4f0] PSNR y:13.579160 u:24.229653 v:30.624902 average:15.226659 min:14.312028 max:23.342425

Expected Result:

  • Better image quality, less blockiness and PSNR >30

How can we improve this? If additional info is required, please let me know.

Kind regards,
Tobias

Hi,
Please try H265. We have comparison in
Random blockiness in the picture RTSP server-client -Jetson TX2 - #5 by DaneLLL

H265 is expected to have better PSNR than H264. Please give it a try. And may try larger vbv-size.

Thank you for the reply!

I was able to narrow-down the biggest issue: it is the quality of the I-frames. Is there a different preset in terms of Quantization between P and I frames?
Presetting the qp-range resolves the issue (sth. like qp-range=20,40:20,400:20,40) but then the bandwith overshoots.

Is there a way to increase the quality of I-frames while still letting the bitrate-settings, profile etc. take control of the bitrate consumed?