![]() |
RoveSoCameraServer C++ 25.0.0
Welcome to the RoveSoCameraServer Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the RoveSoCameraServer software for our Mars Rover.
|
RoveSoCameraServer_Software is the dedicated software stack for operating the RoveSoCameraServer_Hardware. It supports streaming from multiple camera feeds and provides robust tools for managing camera inputs and outputs. For testing purposes, this software is compatible with v4l2loopback on Linux, allowing for virtual camera simulation on non-hardware setups.
Our documentation is automatically generated via Doxygen on each commit to the development branch. Ensure you use the correct documentation templates to keep the documentation consistent.
Click here for full API documentation.
v4l2loopback on Linux.v4l2loopback for creating virtual cameras.ffmpeg for streaming media files to virtual devices.For testing purposes, you can install v4l2loopback using either the standard package or from the source on GitHub to increase the maximum number of virtual devices.
Update package lists and install v4l2loopback:
Load v4l2loopback with up to 8 virtual devices:
To support more than 8 virtual devices, follow these steps to install v4l2loopback from source and modify the maximum device limit:
Clone the v4l2loopback GitHub repository:
Open v4l2loopback.c in a text editor and modify the maximum device limit:
Find the line that defines VIDEO_MAX_DEVICES, which usually looks like this:
Change 8 to 10 (or any other desired limit):
Build and install v4l2loopback:
Load v4l2loopback with 10 virtual devices:
Install ffmpeg if not already installed:
Clone the RoveSoCameraServer_Software repository:
media/.image0.jpg, image1.jpg, etc., for easy configuration.To deploy and run RoveSoCameraServer_Software on RoveSoCameraServer_Hardware, follow the specific hardware configuration instructions provided in the hardware documentation.
If RoveSoCameraServer_Hardware is unavailable, you can simulate streams on Linux using v4l2loopback and ffmpeg.
To stream images to each virtual camera:
Repeat for each virtual camera, modifying the image and device as needed.
Use ffplay to verify each virtual camera:
To stop all ffmpeg processes:
ffmpeg is configured with -vf format=yuv420p, as v4l2loopback may require specific formats.v4l2loopback may limit the number of devices. Modify settings as needed for testing.This project is licensed under the GPL-3.0 License. See the [LICENSE](LICENSE) file for details.