Tx2 Jetpack 4.2 After used VirtualBuffer the I frame blurry,how to solve.

hi all:
一:Nvidia Encoder not used VirtualBuffer the I frame size is 100Kb, the I frame is not blurry
二:Nvidia Encoder used VirtualBuffer the I frame size is 40Kb, but the I frame is blurry
the API interface is setVirtualBufferSize
I hope the size of the video I frame is 40kb,but I frame is not blurry
how to solve this problem,
thanks.

AND

How to set the size of I frame and P frame?
thanks.

Hi,
We have 01_video_encode sample. Please share a command to reproduce the blurry frames.
Image quality and frame size are trade-off. You might hit the limitation of hardware encoder. We can clarify this if you share the command.

Hi,
I used command ./video_encode I420 1920 1080 H265 ./encoder.h265 --report-metadata -vbs 300KB -br 3500000
the size of I frame is 40K,but the I frame is blurry
I used command ./video_encode I420 1920 1080 H265 ./encoder.h265 --report-metadata -vbs 1024KB -br 3500000
VirtualBuffer increase , the size of I frame is 100K, the I frame is not blurry
Our network bandwidth is small, so I hope the size of the video I frame is Around 40kb,but I frame is not blurry
May I ask why the I frame is blurry ?
or Can I set the size of I frame and P frame?
thanks.

Hi,
It is limitation of hardware encoder. 3.5Mbps is too strict for 1080p30. If you are not able to increase virtual buffer size, you may consider to drop frames:

-tt <level>           Temporal Tradeoff level [Default = 0]
Supported Temporal Tradeoff levels:
0:Drop None       1:Drop 1 in 5      2:Drop 1 in 3
3:Drop 1 in 2     4:Drop 2 in 3

Hi,Excuse me
Under the premise of the I frame is not blurry. Does Nvidia API support setting the length of I frame and P frame?
OR
If Nvidia API not support, Which V4L2 command can be used to set the length of I frame and P frame with v4l2_ioctl?
thanks.

Hi,
3.5Mbps is too low for 1080p30 and easily hit bits limitation in compression. Suggest you set higher bitrate.