Limit nvv4l2h264enc/nvv4l2h265enc max bitrate

Hello,

• Hardware Platform: Jetson Xavier NX
• JetPack Version: 5.0.2

I run the following GStreamer pipeline, H.265 encoding a 720p 25fps video and sending MPEG-TS through UDP:

... ! videorate max-rate=25 drop-only=true ! queue max-size-buffers=3 leaky=downstream ! nvvidconv ! nvv4l2h265enc control-rate=constant_bitrate iframeinterval=50 insert-sps-pps=true profile=Main num-B-Frames=0 preset-level=UltraFastPreset EnableTwopassCBR=false maxperf-enable=true bitrate=1250000 vbv-size=200000 ! h265parse ! mpegtsmux name=stream_muxer alignment=7 ! queue ! udpsink sync=false host=224.0.0.1 port=5004 ! ...

My wireless link has a bandwidth of 2Mbps, and I’m trying to optimize nvv4l2h265enc for maximum bandwidth and quality. Since I-frame is once per 2 seconds, I need to smooth the stream so that it never exceeds 2Mbps. that’s the reason for 1.25Mbps bitrate with 200000 vbv-size.

Is this the right approach? Can someone please explain vbv-size in more details than documented (actually couldn’t find any)?

Thank you!

Hi,
Fir this use-case, we would suggest set virtual buffer size. Please refer to the example in
Random blockiness in the picture RTSP server-client -Jetson TX2 - #5 by DaneLLL

2Mbps is a bit strict for 720p25. For quick scene changes, it may exceed the limit. Please note this.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.