Hi Guys,
I have a Jetson Xavier NX Board. I am planning to stream 6 Cameras (4 usb and 2 csi) at the same time. I dont have any concern about frames or streaming quality. But I need to stream all 6 at once. Currently, I am able to stream either 2 usb or 2 csi at the same time. When I run all at same time, I am getting “No Space Left of Device”. Couldn’t find a solution. Please let me know if you have any suggestions.
Thanks in Advance.
The message “No Space Left of Device” about the storage space?
How about 3 usb camera?
Yeah. I tried with 3 camera too. Same message showing. Only 2 usb cameras are working for me at once.
What’s your command line to run the camera?
python and opencv. (VideoCapture & Imshow)
Can the v4l2-ctl working for 6 cameras?
If the v4l2-ctl working well, the problem could be relative with openCV.
Oh. I didn’t check with v4l2-ctl.
you mean to say that we need to use API (cap_v4l2) in code? In that case I used it,
Can you shed some light on that?
Maybe v4l2-ctl --stream-mmap --stream-count=5000 -d /dev/video0 for USB camera,
v4l2-ctl --set-ctrl bypass_mode=0 --stream-mmap --stream-count=5000 -d /dev/video0 for CSI camera
I ran that command in 3 terminals for 3 cameras. Now all are running in PC.
but in Jetson when I run the 3rd camera. Again it showed the following message.
VIDIOC_STREAMON: failed: No space left on device
1 Like
I just try on NX, can’t repo it with 2 USB cameras and one CSI camera.
What’s the USB camera resolution?
What’s if select smaller resolution?
I figured it.
I am using two logitech cams and 2 local cams. Logitech resolution is 720p and local cam resolution is 480. I selected a smaller resolution which 240p and ran it. Still I am getting “No space Left” Message. So, I tried with 2 logitech and 1 local cam and I am able to stream all three but If I connect 2 local cam and 1 logitech, I am able to stream only 2.
I checked the USB bandwidth too.
- 2 Logitech cams consuming 30 Mbps bandwidht at 720P resolution.
- 2 Local cams consuming 30 Mbps bandwidht at 480P resolution.
- 2 Logitech cams are consuming 10 Mbps bandwidht at 240P resolution.
- 2 Logitech cams are consuming 30 Mbps bandwidht at 240P resolution.
- 2 Logitech and 1 Local cams are consuming 28Mbps bandwidth at 240P
- 1 Logitech and 2 Local cams are getting error because of point
I think If we select the smaller resolution we can connect 4 Logitech cams but I have not tested it.
You mean, you cannot run 2 usb cameras and one csi camera at once?
what kind of error are you getting?
I run 2 USB and one local cameras without problem.
Oh…Okay. I am working and CSI and USB cameras at once. I’ll update you about the status.
I have checked the CSI Cameras. Now I am able to run either 3 USB Cameras or 2 CSI cameras but not 5 at the same time. do you have any suggestions?
Did you open 5 console to run the v4l2-ctl command?
No, CSI cameras are showing green screen when I use v4l and it is working fine when I use gstreamer (nvarguscamerasrc). I combined altogether in a single program and executed it. I am not getting any error & I am only able to see CSI cams video but USB cam video are not opening.
I am confuse with it.
Can you just have your detail test instruction here.
Hey,
I want to stream 6 Cameras at a time.
So, I have 2 CSI MIPI Cameras (IMX219).
2 USB Logitech Cameras
2 USB Zebronics Cameras.
I figured My Jetson is able to allow around 36Mbps bandwidth,
So, I changed the resolution for USB Cameras and Now 2 Logitech cameras bandwidth is 10 MBps and 1 Zebronics USB Cam bandwidth is 15 Mbps. I cannot use the 4 Zebronics. I think it has to do with drivers. Now I am planning to buy extra 2 Logitech USB cam and then it should be able to stream all 480.
Coming to CSI Cameras, I am able to stream 2 cameras alone at 3264x2464 resolution but When I stream all 5 cameras at once (3 USB & 2 CSI), CSI camera has lag but in 480P, all are running good.
I think, If I replace 2 zebronics camera with 2 other logitech cameras. I should be able to stream all 6 at a time. Problem is solved. What do you think? you have any doubts?
Thanks for the help though.
I have another doubt. Do you have any idea about streaming all together in a single frame? or sending into to a server and stream on the browser?