我要编码H.265视频,码率不变、图像质量不变的情况下怎么通过setSliceLength和setSliceIntrarefresh函数降低I帧大小(因为要通过无线网络传输,所以要控制瞬时带宽降低数据帧大小)。
Welcome to Jetson & Embedded Systems forum, please help to open topic with English manner, then developers can help to provide the suggestions.
By Google translate:
I want to encode H.265 video, how to reduce the size of I frame through setSliceLength and setSliceIntrarefresh functions when the bit rate is constant and the image quality is constant (because it needs to be transmitted through the wireless network, the instantaneous bandwidth should be controlled to reduce the data frame size)
I know that the setVirtualBufferSize function can reduce the I frame size, but it will lose the quality of the encoded image.
Hi,
Frame size and quality are tradeoff. Right now a balance solution is to run in CBR mode and configure virtual buffer size. Please refer to
hi,
I did reduce the I frame by setting the size of the virtual buffer, but the image quality has deteriorated. Is there any way to not lose the image quality?
How should the virtual buffer size be set? The method I set is to use the rate value divided by 12.
thanks
Hi,
Suggest set vbv-size identical to frame rate. In the reference pipeline, the source park_joy_1080p50.y4m is 50fps, so set vbv-size=50.
hi,
What is the unit of “vbv-size=50”,I use v4l2_enc_virtual_buffer_size to set the virtual buffer size, its description is “Size of the virtual buffer, in bits.”.my frame rate is 30 fps. The coding rate is 9Mbps.
hi,
I found that setting the virtual buffer size to a fixed value and then setting the encoding bit rate no longer work. May I ask how the virtual buffer size is converted from the actual encoder output bit rate? I need to set the output bit rate accurately to send to udp socket wireless transmission network.
thanks
Hi,
Please base on
$ gst-launch-1.0 filesrc location= park_joy_1080p50.y4m ! y4mdec ! nvvidconv ! nvv4l2h264enc bitrate=14000000 control-rate=0 vbv-size=50 ! h264parse ! qtmux ! filesink location= park_joy.mov
And share steps to prove the encode properties do not work.
We have SQA tests in each release. General usecases shall work just fine. Probably the hardware encoder does not meet your requirement.