Skip to content

USB camera setup

Bahrami edited this page Jul 19, 2023 · 4 revisions

We use voxl-uvc-server to get video frames in the MPA pipeline, and then voxl-streamer to stream over VLC or QGC. Doing the former will make the data available in the directory /run/mpa/ under the name uvc.

setup

Inside VOXL, run lsusb to get the ID of the attached USB-camera like ID 1d6c:0103. Then use the ID with the lsusb -v -d command like lsusb -v -d 1d6c:0103, to get the vendor ID (might be called iVender) in hexadecimal. Them, run

rb5:~$ voxl-uvc-server -d -v 0x1d6c
Enabling debug messages
voxl-uvc-server starting
Image resolution 640x480, 30 fps chosen
Vendor ID 0x1d6c chosen
UVC initialized
Device 1d6c:0000 found
Device opened
uvc_get_stream_ctrl_format_size succeeded for format YUYV
Streaming starting
Got frame callback! frame_format = 3, width = 640, height = 480, length = 617448, ptr = (nil)
 * got image 30
 * got image 60
 * got image 90
 * (is running ...)

if running properly, we should have uvc added to the directory /run/mpa/.

Now for streaming, in new terminal, inside VOXL, run

rb5:~$ voxl-configure-streamer -i uvc
rb5:~$ sudo systemctl start voxl-streamer 
rb5:~$ sudo systemctl enable voxl-streamer

Finally, set up the RTSP URL in VLC or QGC as described here (example: rtsp://172.16.0.70:8900/live in VLC or video_stream_opencv). Note that the IP of the VOXL follows the subnet we have allocated on the router. Also, the bitrate can be set up.

VOXL's default camera calibration

Camera Calibration

Clone this wiki locally