RobotWebTools/web_video_server

HTTP Streaming of ROS Image Topics in Multiple Formats

What it solves

It allows users to view robot camera feeds and other ROS image topics directly in a web browser without needing special plugins or extensions. It bridges the gap between ROS (Robot Operating System) image data and standard web-compatible video formats.

How it works

The project acts as an HTTP server that subscribes to ROS image topics. It converts these ROS messages into various streamable formats (such as MJPEG, H264, VP8, and VP9) or single snapshots (JPEG, PNG) and serves them over HTTP. It uses a plugin-based architecture, allowing developers to add new subscribers or streaming formats easily.

Who it’s for

Robot developers and operators who need a remote, browser-based way to monitor robot vision systems in real-time using ROS or ROS 2.

Highlights

  • Multi-format streaming: Supports MJPEG, WebM (VP8/VP9), MP4 (H264), and PNG streams.
  • Snapshot capability: Can capture and serve single images in JPEG, PNG, or ROS compressed formats.
  • Web interface: Includes a built-in browser page to discover and navigate available image topics.
  • Flexible configuration: Allows adjustment of quality, bitrate, resolution, and QoS profiles for ROS 2.
  • Extensible: Provides a plugin system for adding custom streamer or subscriber logic.

Related

  • Project
  • Project
  • Project
  • Project