Ask Your Question

Revision history [back]

Gradually increased memory of jetson nano in the decoding of multi-stream using Gstreamer+Opencv

I want to use h264 hardware decoder of jetson nano for RTSP multi-stream. and I used gstreamer + opencv in python. When I want to control output frame rate of gstreamer, gradually increased memory occurred. My input frame rate is 1080p25 and I want to grap 450p3 of them for processing, and I used jetpack 4.2.2 and opencv 3.4.6 and gstreamer-1.14.5 and omxh264dec.

I used 5 RTSP stream for decoding.

How to solve the problem?

I used this element:

gstream_elemets = (
                'rtspsrc location=rtsp latency=300 !'
                'rtph264depay ! h264parse !'
                'queue max-size-buffers=10 leaky=2 !'
                'omxh264dec enable-max-performance=1 enable-low-outbuffer=1 !'
                'video/x-raw(memory:NVMM) , format=(string)NV12 !'
                'nvvidconv ! video/x-raw , width=450 , height=450 , format=(string)BGRx !'
                'videorate ! video/x-raw , framerate=(fraction)10/1 !'
                'videoconvert ! '
                'appsink drop=1 sync=0 ')
cv2.VideoCapture(gstream_elemets, cv2.CAP_GSTREAMER)