A ROS node that streams robot camera feeds and image topics over HTTP in multiple video formats for web browser viewing.
web_video_server is a ROS node that streams image topics from robotics systems over HTTP in multiple video formats like MJPEG, VP8, VP9, and H264. It allows developers to view real-time camera feeds and sensor data directly in web browsers without requiring special plugins, simplifying remote monitoring and debugging of robots.
Robotics developers and researchers working with ROS or ROS 2 who need to visualize robot camera feeds, sensor data, or image topics remotely via web interfaces.
It provides a lightweight, plugin-based solution that supports multiple streaming formats and adjustable parameters, making it easy to integrate robot visualization into web applications without complex setup or proprietary tools.
HTTP Streaming of ROS Image Topics in Multiple Formats
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports diverse formats like MJPEG, VP8, VP9, H264, and PNG, allowing compatibility with various browsers and applications without plugins, as listed in the features.
Features a modular architecture with custom streamer plugins, enabling easy addition of new formats, as highlighted in the README's plugin tutorial link.
Allows real-time control over stream quality, size, bitrate, and inversion via URL parameters, providing flexibility for different use cases, detailed in the configuration tables.
Includes a browser-based interface to browse ROS topics and access streams or snapshots, simplifying navigation without manual URL construction, as shown in the usage examples.
Compatible with different Quality of Service profiles in ROS 2, ensuring reliable messaging for robotics applications, mentioned in the features and parameter tables.
Requires installation of multiple libraries like OpenCV, FFmpeg, Boost, and async_web_server_cpp, which can be challenging and error-prone across different systems, as noted in the dependencies section.
Only handles ROS image topics, so it cannot stream other sensor data types without custom plugins, restricting its use to visual data streaming.
Default configuration uses a single server thread, which may not efficiently handle high concurrent streams without manual tuning of server_threads and ros_threads parameters.
Advanced topics like custom plugin development are only briefly linked, requiring users to seek external resources for in-depth guidance, as seen with the tutorial reference.