Hello,
I am using a Detectnet to do inference on a Jetson TX1 (R24 (release), REVISION: 2.1). I am using below gstreamer command to ingest 1080p frames from IP cameras into the pipeline. There are in total 4 pipelines like the below spun in parallel to ingest streams from 4 IP cameras each of 1080p (15FPS). These 4 pipelines are used for getting frames from cameras for performing inference. There are 4 more Gstreamer pipelines used for other purposes on the Jetson (again sourcing feed from the same 4 cameras). In total 8 gstreamer pipelines are running (2 per camera).
<rtsp url> ! rtph264depay ! decodebin ! queue ! tee name=t t. ! queue ! nvvidconv ! nvjpegenc quality=70 ! appsink name=jpegsink sync=true wait_on_eos=true drop=true t. ! queue ! nvvidconv ! video/x-raw,width=1280,height=720,format=NV12 ! appsink name=h264sink sync=true wait_on_eos=true drop=true
Every once in a while, the entire pipeline restarts with the below message.
Based on above error message, it says TVMR: cbDisplayPicture Returned Null Frame Buffer. I am having hard time understanding the source of this error. I stumbled across various forums without any luck trying to find the source of error. Only one potential document mentions TVMR (as being a low-level hardware driver). I have few questions regarding the above and will appreciate any help in trying to find the source of the issue.
-
I came across various forums saying that there is a memory leak in the nvjpegenc plugin for specific releases of Jetpack. Does the above Jetson Tx1 version qualify for the same?
Below is one forum mentioning about nvjpegenc causing slow down or memory leaks:
Nvjpegenc slow down - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums -
Does the above Gstreamer pipeline seem to be the one causing issues or is there any plugin which seems incompatible with others which may contribute to the above error? Based on my understanding it seems somewhere in the pipeline where the hardware encoders maybe used (possibly by nvjpegenc), it might be causing the above errors to originate.
-
Is there a driver update required for the Tx1 or is the TVMR driver something which we can debug/check the status of it working well on a TX1?
-
Does the number of Gstreamer pipelines matter because of which the underlying driver maybe maxed out causing the pipeline to restart again and again with the above error? There is no significant RAM consumption and even with all processes running the RAM usage is around 1.90G/3.90G for the Jetson TX1
The above error is not only occurring on 1 jetson but all the Tx1’s which we are using. Lastly, it will be super helpful, if you can send relevant articles and posts about TVMR and its related issues. I have found users asking what TVMR is but no information is available about this. Below is one forum I found regarding this:
TVMR Framerate significance and working - Jetson & Embedded Systems / Jetson TX2 - NVIDIA Developer Forums
Thanks