VOXL UVC Server not connecting
-
I have been trying to connect my UVC camera to view either in VLC or in QGC.
I thought if I followed the guide for the VOXL UVC Server, that it would work or at least get me in the right direction.
When I enter;voxl:~$ voxl-uvc-server
nothing happens.
voxl:~$ voxl-version -------------------------------------------------------------------------------- system-image: 3.8.0 kernel: #1 SMP PREEMPT Tue Apr 26 18:08:39 UTC 2022 3.18.71-perf -------------------------------------------------------------------------------- hw version: VOXL -------------------------------------------------------------------------------- voxl-suite: 0.8.1 0.7.0 -------------------------------------------------------------------------------- voxl:~$ voxl-inspect-services Service Name | Enabled | Running | CPU Usage ------------------------------------------------------------------- docker-autorun | Disabled | Not Running | docker-daemon | Disabled | Not Running | modallink-relink | Disabled | Not Running | voxl-camera-server | Enabled | Running | 18.0 voxl-cpu-monitor | Enabled | Running | 0.0 voxl-dfs-server | Enabled | Not Running | voxl-imu-server | Enabled | Running | 2.0 voxl-mavlink-server | Enabled | Running | 2.0 voxl-modem | Disabled | Not Running | voxl-portal | Enabled | Running | 0.0 voxl-qvio-server | Enabled | Running | 8.0 voxl-rangefinder-server | Disabled | Not Running | voxl-streamer | Disabled | Not Running | voxl-tag-detector | Enabled | Not Running | voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-vision-px4 | Enabled | Running | 2.0 voxl-wait-for-fs | Enabled | Completed | voxl:~$ cd /home/root/ipk voxl:~/ipk$ opkg update Downloading http://voxl-packages.modalai.com/dists/apq8096/stable/binary-arm64//Packages.gz. Updated source 'modalai'. voxl:~/ipk$ opkg install voxl-uvc-server Package voxl-uvc-server (0.1.1) installed in root is up to date. voxl:~/ipk$ cd voxl:~$ voxl-uvc-server ^Cvoxl:~$ voxl:~$ voxl-uvc-server -m Enabling MPA debug messages ^Chelper thread received sigusr 10 channel 0 request thread closing voxl:~$ voxl:~$ voxl-uvc-server -d Enabling debug messages voxl-uvc-server starting Image resolution 640x480, 30 fps chosen UVC initialized Device found Device opened uvc_get_stream_ctrl_format_size succeeded for format 0 Streaming starting Got frame callback! frame_format = 3, width = 640, height = 480, length = 614400, ptr = (nil) * got image 30 * got image 60 * got image 90 * got image 120 * got image 150 * got image 180 * got image 210 * got image 240 * got image 270 ^CGot SIGINT, exiting Done streaming UVC exited voxl-uvc-server ending voxl:~$
-
@Kris What do you get if you try
voxl-uvc-server -s
? -
Hi, @Eric-Katzfey.
This is what I get.voxl:~$ voxl-uvc-server -s *** START DEVICE LIST *** Found device 1 Got device descriptor for 0bda:3035 200901010001 Found device 0bda:3035 DEVICE CONFIGURATION (0bda:3035/200901010001) --- Status: idle VideoControl: bcdUVC: 0x0100 VideoStreaming(1): bEndpointAddress: 129 Formats: MJPEGFormat(1) bits per pixel: 0 GUID: 4d4a5047000000000000000000000000 (MJPG) default frame: 1 aspect ratio: 0x0 interlace flags: 00 copy protect: 00 FrameDescriptor(1) capabilities: 00 size: 1920x1080 bit rate: 995328000-995328000 max frame size: 4147200 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(2) capabilities: 00 size: 640x480 bit rate: 147456000-147456000 max frame size: 614400 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(3) capabilities: 00 size: 800x600 bit rate: 230400000-230400000 max frame size: 960000 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(4) capabilities: 00 size: 1024x768 bit rate: 377487360-377487360 max frame size: 1572864 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(5) capabilities: 00 size: 1280x720 bit rate: 442368000-442368000 max frame size: 1843200 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(6) capabilities: 00 size: 1280x960 bit rate: 589824000-589824000 max frame size: 2457600 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(7) capabilities: 00 size: 1920x1070 bit rate: 986112000-986112000 max frame size: 4108800 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(8) capabilities: 00 size: 2048x1536 bit rate: 1509949440-1509949440 max frame size: 6291456 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(9) capabilities: 00 size: 2592x1944 bit rate: -1876320256--1876320256 max frame size: 10077696 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(10) capabilities: 00 size: 1920x1080 bit rate: 995328000-995328000 max frame size: 4147200 default interval: 1/30 interval[0]: 1/30 StillFrameDescriptor bEndPointAddress: 00 wWidth(1) = 1920 wHeight(1) = 1080 wWidth(2) = 640 wHeight(2) = 480 wWidth(3) = 640 wHeight(3) = 480 wWidth(4) = 640 wHeight(4) = 480 wWidth(5) = 640 wHeight(5) = 480 wWidth(6) = 640 wHeight(6) = 480 wWidth(7) = 640 wHeight(7) = 480 wWidth(8) = 640 wHeight(8) = 480 wWidth(9) = 640 wHeight(9) = 480 UncompressedFormat(2) bits per pixel: 16 GUID: 5955593200001000800000aa00389b71 (YUY2) default frame: 1 aspect ratio: 0x0 interlace flags: 00 copy protect: 00 FrameDescriptor(1) capabilities: 00 size: 1920x1080 bit rate: 99532800-99532800 max frame size: 4147200 default interval: 1/3 interval[0]: 1/3 FrameDescriptor(2) capabilities: 00 size: 640x480 bit rate: 147456000-147456000 max frame size: 614400 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(3) capabilities: 00 size: 1280x720 bit rate: 117964800-117964800 max frame size: 1843200 default interval: 1/8 interval[0]: 1/8 FrameDescriptor(4) capabilities: 00 size: 800x600 bit rate: 153600000-153600000 max frame size: 960000 default interval: 1/20 interval[0]: 1/20 FrameDescriptor(5) capabilities: 00 size: 1280x960 bit rate: 157286400-157286400 max frame size: 2457600 default interval: 1/8 interval[0]: 1/8 FrameDescriptor(6) capabilities: 00 size: 2048x1536 bit rate: 150994944-150994944 max frame size: 6291456 default interval: 1/3 interval[0]: 1/3 FrameDescriptor(7) capabilities: 00 size: 2592x1944 bit rate: 161243136-161243136 max frame size: 10077696 voxl:~$ lsusb Bus 001 Device 003: ID 0bda:3035 Realtek Semiconductor Corp. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub voxl:~$ voxl-uvc-server -s *** START DEVICE LIST *** Found device 1 Got device descriptor for 0bda:3035 200901010001 Found device 0bda:3035 DEVICE CONFIGURATION (0bda:3035/200901010001) --- Status: idle VideoControl: bcdUVC: 0x0100 VideoStreaming(1): bEndpointAddress: 129 Formats: MJPEGFormat(1) bits per pixel: 0 GUID: 4d4a5047000000000000000000000000 (MJPG) default frame: 1 aspect ratio: 0x0 interlace flags: 00 copy protect: 00 FrameDescriptor(1) capabilities: 00 size: 1920x1080 bit rate: 995328000-995328000 max frame size: 4147200 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(2) capabilities: 00 size: 640x480 bit rate: 147456000-147456000 max frame size: 614400 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(3) capabilities: 00 size: 800x600 bit rate: 230400000-230400000 max frame size: 960000 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(4) capabilities: 00 size: 1024x768 bit rate: 377487360-377487360 max frame size: 1572864 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(5) capabilities: 00 size: 1280x720 bit rate: 442368000-442368000 max frame size: 1843200 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(6) capabilities: 00 size: 1280x960 bit rate: 589824000-589824000 max frame size: 2457600 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(7) capabilities: 00 size: 1920x1070 bit rate: 986112000-986112000 max frame size: 4108800 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(8) capabilities: 00 size: 2048x1536 bit rate: 1509949440-1509949440 max frame size: 6291456 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(9) capabilities: 00 size: 2592x1944 bit rate: -1876320256--1876320256 max frame size: 10077696 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(10) capabilities: 00 size: 1920x1080 bit rate: 995328000-995328000 max frame size: 4147200 default interval: 1/30 interval[0]: 1/30 StillFrameDescriptor bEndPointAddress: 00 wWidth(1) = 1920 wHeight(1) = 1080 wWidth(2) = 640 wHeight(2) = 480 wWidth(3) = 640 wHeight(3) = 480 wWidth(4) = 640 wHeight(4) = 480 wWidth(5) = 640 wHeight(5) = 480 wWidth(6) = 640 wHeight(6) = 480 wWidth(7) = 640 wHeight(7) = 480 wWidth(8) = 640 wHeight(8) = 480 wWidth(9) = 640 wHeight(9) = 480 UncompressedFormat(2) bits per pixel: 16 GUID: 5955593200001000800000aa00389b71 (YUY2) default frame: 1 aspect ratio: 0x0 interlace flags: 00 copy protect: 00 FrameDescriptor(1) capabilities: 00 size: 1920x1080 bit rate: 99532800-99532800 max frame size: 4147200 default interval: 1/3 interval[0]: 1/3 FrameDescriptor(2) capabilities: 00 size: 640x480 bit rate: 147456000-147456000 max frame size: 614400 default interval: 1/30 interval[0]: 1/30 FrameDescriptor(3) capabilities: 00 size: 1280x720 bit rate: 117964800-117964800 max frame size: 1843200 default interval: 1/8 interval[0]: 1/8 FrameDescriptor(4) capabilities: 00 size: 800x600 bit rate: 153600000-153600000 max frame size: 960000 default interval: 1/20 interval[0]: 1/20 FrameDescriptor(5) capabilities: 00 size: 1280x960 bit rate: 157286400-157286400 max frame size: 2457600 default interval: 1/8 interval[0]: 1/8 FrameDescriptor(6) capabilities: 00 size: 2048x1536 bit rate: 150994944-150994944 max frame size: 6291456 default interval: 1/3 interval[0]: 1/3 FrameDescriptor(7) capabilities: 00 size: 2592x1944 bit rate: 161243136-161243136 max frame size: 10077696 default interval: 1/2 interval[0]: 1/2 FrameDescriptor(8) capabilities: 00 size: 1920x1080 bit rate: 99532800-99532800 max frame size: 4147200 default interval: 1/3 interval[0]: 1/3 StillFrameDescriptor bEndPointAddress: 00 wWidth(1) = 640 wHeight(1) = 480 wWidth(2) = 1920 wHeight(2) = 1080 wWidth(3) = 1280 wHeight(3) = 720 wWidth(4) = 2592 wHeight(4) = 1944 END DEVICE CONFIGURATION *** END DEVICE LIST *** voxl:~$
voxl:~$ lsusb Bus 001 Device 003: ID 0bda:3035 Realtek Semiconductor Corp. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-
@Kris Okay, that all looks good. What about
voxl-uvc-server -d -m
? -
voxl:~$ voxl-uvc-server -d -m Enabling debug messages Enabling MPA debug messages voxl-uvc-server starting Image resolution 640x480, 30 fps chosen UVC initialized Device found Device opened uvc_get_stream_ctrl_format_size succeeded for format 0 Streaming starting Got frame callback! frame_format = 3, width = 640, height = 480, length = 614400, ptr = (nil) * got image 30 * got image 60 * got image 90 * got image 120 * got image 150 * got image 180 * got image 210 * got image 240 * got image 270 * got image 300 * got image 330 * got image 360 * got image 390 * got image 420 * got image 450 * got image 480 * got image 510 * got image 540 * got image 570 * got image 600 * got image 630 * got image 660 * got image 690 * got image 720 * got image 750 * got image 780 * got image 810 * got image 840 * got image 870 * got image 900 * got image 930 * got image 960 * got image 990 ^CGot SIGINT, exiting helper thread received sigusr 10 channel 0 request thread closing Done streaming UVC exited voxl-uvc-server ending voxl:~$
-
@Kris Okay, so that shows that voxl-uvc-server is running.
-
@Eric-Katzfey
What do I need to do to view the images/video from my UVC camera?voxl:~$ show-video-device-info.sh /dev/video2: USB Camera 0bda:3035
-
@Kris You run
voxl-uvc-server
to get the frames from the camera. See docs.modalai.com/voxl-uvc-server for more information. Then you runvoxl-streamer -c uvc-generic
to create an RTSP stream that can be viewed remotely using VLC or QGC. Se docs.modalai.com/voxl-streamer for more information. -
@Eric-Katzfey
This is where I am a little confused. Do I need to SSH into VOXL and run thevoxl:~$ voxl-uvc-server
in one terminal. Then open a new terminal, SSH into VOXL again and run
voxl:~$ voxl-streamer -c uvc-generic
-
@Eric-Katzfey Ok, Thank you!!! I finally got it working
-
@Kris I usually use
adb shell
to setup two separate sessions. I run voxl-uvc-server in one and voxl-streamer in the other. -
@Eric-Katzfey How can I change the frame rates, etc.
Or edit the config files? -
@Eric-Katzfey I am trying to get better quality because I need to record via some type of Screen Recorder. I would prefer to save the recorded videos to an SD card, but I don't think that is possible.
-
@Kris Yes, you can edit the config files to change resolution, frame rate, etc.
-
@Kris We don't currently have a way to save to SD card from the UVC camera. However, you can create your own code to do this. This is a feature that we will be adding in the future.
-
@Eric-Katzfey Would I edit the config files from the "uvc-geneirc" at the top or the "uvc-video" at the bottom of the config files?
-
@Kris If you are using the uvc-generic configuration then that is the one that you would edit.
-
@Eric-Katzfey Got it
Thank you for your help and quick responses -
WOW what a great thread, so on time for me Thanks Kris