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.