Random blockiness in the picture RTSP server-client -Jetson TX2

i have DJI drone with :
manifold g-2 ( DJI pc with Jetson tx2 )
OS: ubuntu 16.04 aarch64
this PC connected to cellular network ( low bandwidth …)
i get h264 frames from DJI SDK to my buffer and publish this stream (i get 1280 * 960 pxl and scale frame to 480 * 360) with this pipeline: ( i have more code in my C project…)

" appsrc name=mysrc ! h264parse ! omxh264dec ! nvvidconv ! video/x-raw(memory:NVMM), width=480, height=360, format=I420 ! omxh264enc control-rate=1 target-bitrate=800000 ! video/x-h264, profile=baseline ! rtph264pay pt=96 name=pay0 "

and now i want to see the stream from my VLC cellular with :

gst-launch-1.0 rtspsrc location=rtsp://IP:8554/drone ! rtph264depay ! decodebin ! videoconvert ! autovideosink sync=false

it works when i see frames without a lot f moves… but when the changing in the video grows ( like when i raise my hand) i see something like this :

after the movement relax the frames returns to be normal… but when i move there are lags…
i do not sure if i need t change the bit-rate (up or down?) or something else
i read in Nvidia guide:

If the buffer size of decoder or network bandwidth is limited, configuring virtual buffer
size can cause video stream generation to correspond to the limitations according to the
following formula:

virtual buffer size = vbv-size * (bitrate/fps)

maybe i need to define size of buffer?
i reed about IDR ,maybe i need to change it?

what i need to do?

1 Like

Looks like network bandwidth is not sufficient in burst bitrate condition. Setting virtual buffer size should help. Please run in CBR mode and set virtual buffer size.

Hi DaneLLL, thank you
i dont sure how to set : virtual buffer size
and how to set CBR mode ?

num-buffers=XXX ( the property of src ) is the virtual buffer size?

i know there is “EnableTwopassCBR” property for omxh264enc
but i donot sure how to use it…

USER GUIDE but i still dont know…
please can you write example ?
thank you

Please refer to this post:
H264 vs H265 - #4 by DaneLLL

We suggest try vbv-size in bitrate/fps ~ 2*(bitrate/fps). In the example, the source is 50fps and bitrate is 14Mbps. May set in the range 280000 ~ 560000.

1 Like