I use a Jetson TX2 developer kit and the camera OV5693 with OpenCV to do some image processing but I encounter some issue.
Here is what I do:
I have a simple python code in which I use a cv2.VideoCapture object with a gstreamer pipeline. Here is a simplify version:
GST_STR = 'nvcamerasrc sensor-id=0 ! ' 'video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, ' 'format=(string)I420, framerate=(fraction)120/1 ! ' 'nvvidconv ! ' 'video/x-raw, format=(string)BGRx ! ' 'videoconvert !' 'appsink sync=0' video_capture.open(GST_STR, cv2.CAP_GSTREAMER) while True: is_image, image_array = video_capture.read() #do stuff... time.sleep(0.0250)
After a while (sometime after an hour, but it can be less or more) the call to video_capture.read() block and never return. I try to figure what is the root cause be cannot find anything.
I have observed a suspicious line in dmesg which published by nvcamera-daemon:
(“complete” dmesg : https://pastebin.com/5wvMixp9)
Feb 21 15:41:05 tegra-ubuntu nvcamera-daemon: nvcamera-daemon started new client thread = 548029825504 [...] Feb 21 15:41:23 tegra-ubuntu nvcamera-daemon: (548029825504) Error in calling capture= 2047 result= 8 Feb 21 15:41:23 tegra-ubuntu nvcamera-daemon: message repeated 6 times: [(548029825504) Error in calling capture= 2047 result= 8]
Is there any documentation for this error code? I cannot figure if the issue come from the gstreamer pipeline, the driver, or the camera itself and was not able to find any similar problem on this forum. So I am kind of lost =/…
If need, I add here few details:
- gstreamer v1.14.4
- opencv v3.4.1-dev
And few more logs/outputs from other runs when the issue occurred if needed: