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)