Repository Summary
Checkout URI | https://github.com/RobotWebTools/web_video_server.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
web_video_server | 2.1.0 |
README
web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats
This node provides HTTP streaming of ROS image topics in various formats, making it easy to view robot camera feeds and other image topics in a web browser without requiring special plugins or extensions.
Features
- Stream ROS image topics over HTTP in multiple formats:
- MJPEG (Motion JPEG)
- VP8 (WebM)
- VP9 (WebM)
- H264 (MP4)
- PNG streams
- ROS compressed image topics
- Adjustable quality, size, and other streaming parameters
- Web interface to browse available image topics
- Single image snapshot capability
- Support for different QoS profiles in ROS 2
Installation
Dependencies
- ROS (Noetic) or ROS 2 (Humble+)
- OpenCV
- FFmpeg/libav
- Boost
- async_web_server_cpp
Installing packages
For newer ROS2 distributions (humble, jazzy, rolling) it is possible to install web_video_server as a package:
sudo apt install ros-${ROS_DISTRO}-web-video-server
Building from Source
Create a ROS workspace if you don’t have one:
mkdir -p ~/ros_ws/src
cd ~/ros_ws/src
Clone this repository:
# ROS 2
git clone https://github.com/RobotWebTools/web_video_server.git
# ROS 1
git clone https://github.com/RobotWebTools/web_video_server.git -b ros1
Install dependencies with rosdep:
cd ~/ros_ws
rosdep update
rosdep install --from-paths src -i
Build the package and source your workspace:
colcon build --packages-select web_video_server
source install/setup.bash
Usage
Starting the Server
# ROS 1
rosrun web_video_server web_video_server
# ROS 2
ros2 run web_video_server web_video_server
Configuration
Server Configuration Parameters
Parameter | Type | Default | Possible Values | Description |
---|---|---|---|---|
port |
int | 8080 | Any valid port number | HTTP server port |
address |
string | “0.0.0.0” | Any valid IP address | HTTP server address (0.0.0.0 allows external connections) |
server_threads |
int | 1 | 1+ | Number of server threads for handling HTTP requests |
ros_threads |
int | 2 | 1+ | Number of threads for ROS message handling |
verbose |
bool | false | true, false | Enable verbose logging |
default_stream_type |
string | “mjpeg” | “mjpeg”, “vp8”, “vp9”, “h264”, “png”, “ros_compressed” | Default format for video streams |
publish_rate |
double | -1.0 | -1.0 or positive value | Rate for republishing images (-1.0 means no republishing) |
Running with Custom Parameters
You can configure the server by passing parameters via the command line:
```bash
ROS 1
rosrun web_video_server web_video_server _port:=8081 _address:=localhost _server_threads:=4
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the 3-Clause BSD License, as dictated by that license.
Repository Summary
Checkout URI | https://github.com/RobotWebTools/web_video_server.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
web_video_server | 2.1.0 |
README
web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats
This node provides HTTP streaming of ROS image topics in various formats, making it easy to view robot camera feeds and other image topics in a web browser without requiring special plugins or extensions.
Features
- Stream ROS image topics over HTTP in multiple formats:
- MJPEG (Motion JPEG)
- VP8 (WebM)
- VP9 (WebM)
- H264 (MP4)
- PNG streams
- ROS compressed image topics
- Adjustable quality, size, and other streaming parameters
- Web interface to browse available image topics
- Single image snapshot capability
- Support for different QoS profiles in ROS 2
Installation
Dependencies
- ROS (Noetic) or ROS 2 (Humble+)
- OpenCV
- FFmpeg/libav
- Boost
- async_web_server_cpp
Installing packages
For newer ROS2 distributions (humble, jazzy, rolling) it is possible to install web_video_server as a package:
sudo apt install ros-${ROS_DISTRO}-web-video-server
Building from Source
Create a ROS workspace if you don’t have one:
mkdir -p ~/ros_ws/src
cd ~/ros_ws/src
Clone this repository:
# ROS 2
git clone https://github.com/RobotWebTools/web_video_server.git
# ROS 1
git clone https://github.com/RobotWebTools/web_video_server.git -b ros1
Install dependencies with rosdep:
cd ~/ros_ws
rosdep update
rosdep install --from-paths src -i
Build the package and source your workspace:
colcon build --packages-select web_video_server
source install/setup.bash
Usage
Starting the Server
# ROS 1
rosrun web_video_server web_video_server
# ROS 2
ros2 run web_video_server web_video_server
Configuration
Server Configuration Parameters
Parameter | Type | Default | Possible Values | Description |
---|---|---|---|---|
port |
int | 8080 | Any valid port number | HTTP server port |
address |
string | “0.0.0.0” | Any valid IP address | HTTP server address (0.0.0.0 allows external connections) |
server_threads |
int | 1 | 1+ | Number of server threads for handling HTTP requests |
ros_threads |
int | 2 | 1+ | Number of threads for ROS message handling |
verbose |
bool | false | true, false | Enable verbose logging |
default_stream_type |
string | “mjpeg” | “mjpeg”, “vp8”, “vp9”, “h264”, “png”, “ros_compressed” | Default format for video streams |
publish_rate |
double | -1.0 | -1.0 or positive value | Rate for republishing images (-1.0 means no republishing) |
Running with Custom Parameters
You can configure the server by passing parameters via the command line:
```bash
ROS 1
rosrun web_video_server web_video_server _port:=8081 _address:=localhost _server_threads:=4
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the 3-Clause BSD License, as dictated by that license.
Repository Summary
Checkout URI | https://github.com/RobotWebTools/web_video_server.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
web_video_server | 2.1.0 |
README
web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats
This node provides HTTP streaming of ROS image topics in various formats, making it easy to view robot camera feeds and other image topics in a web browser without requiring special plugins or extensions.
Features
- Stream ROS image topics over HTTP in multiple formats:
- MJPEG (Motion JPEG)
- VP8 (WebM)
- VP9 (WebM)
- H264 (MP4)
- PNG streams
- ROS compressed image topics
- Adjustable quality, size, and other streaming parameters
- Web interface to browse available image topics
- Single image snapshot capability
- Support for different QoS profiles in ROS 2
Installation
Dependencies
- ROS (Noetic) or ROS 2 (Humble+)
- OpenCV
- FFmpeg/libav
- Boost
- async_web_server_cpp
Installing packages
For newer ROS2 distributions (humble, jazzy, rolling) it is possible to install web_video_server as a package:
sudo apt install ros-${ROS_DISTRO}-web-video-server
Building from Source
Create a ROS workspace if you don’t have one:
mkdir -p ~/ros_ws/src
cd ~/ros_ws/src
Clone this repository:
# ROS 2
git clone https://github.com/RobotWebTools/web_video_server.git
# ROS 1
git clone https://github.com/RobotWebTools/web_video_server.git -b ros1
Install dependencies with rosdep:
cd ~/ros_ws
rosdep update
rosdep install --from-paths src -i
Build the package and source your workspace:
colcon build --packages-select web_video_server
source install/setup.bash
Usage
Starting the Server
# ROS 1
rosrun web_video_server web_video_server
# ROS 2
ros2 run web_video_server web_video_server
Configuration
Server Configuration Parameters
Parameter | Type | Default | Possible Values | Description |
---|---|---|---|---|
port |
int | 8080 | Any valid port number | HTTP server port |
address |
string | “0.0.0.0” | Any valid IP address | HTTP server address (0.0.0.0 allows external connections) |
server_threads |
int | 1 | 1+ | Number of server threads for handling HTTP requests |
ros_threads |
int | 2 | 1+ | Number of threads for ROS message handling |
verbose |
bool | false | true, false | Enable verbose logging |
default_stream_type |
string | “mjpeg” | “mjpeg”, “vp8”, “vp9”, “h264”, “png”, “ros_compressed” | Default format for video streams |
publish_rate |
double | -1.0 | -1.0 or positive value | Rate for republishing images (-1.0 means no republishing) |
Running with Custom Parameters
You can configure the server by passing parameters via the command line:
```bash
ROS 1
rosrun web_video_server web_video_server _port:=8081 _address:=localhost _server_threads:=4
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the 3-Clause BSD License, as dictated by that license.
Repository Summary
Checkout URI | https://github.com/RobotWebTools/web_video_server.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
web_video_server | 2.1.0 |
README
web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats
This node provides HTTP streaming of ROS image topics in various formats, making it easy to view robot camera feeds and other image topics in a web browser without requiring special plugins or extensions.
Features
- Stream ROS image topics over HTTP in multiple formats:
- MJPEG (Motion JPEG)
- VP8 (WebM)
- VP9 (WebM)
- H264 (MP4)
- PNG streams
- ROS compressed image topics
- Adjustable quality, size, and other streaming parameters
- Web interface to browse available image topics
- Single image snapshot capability
- Support for different QoS profiles in ROS 2
Installation
Dependencies
- ROS (Noetic) or ROS 2 (Humble+)
- OpenCV
- FFmpeg/libav
- Boost
- async_web_server_cpp
Installing packages
For newer ROS2 distributions (humble, jazzy, rolling) it is possible to install web_video_server as a package:
sudo apt install ros-${ROS_DISTRO}-web-video-server
Building from Source
Create a ROS workspace if you don’t have one:
mkdir -p ~/ros_ws/src
cd ~/ros_ws/src
Clone this repository:
# ROS 2
git clone https://github.com/RobotWebTools/web_video_server.git
# ROS 1
git clone https://github.com/RobotWebTools/web_video_server.git -b ros1
Install dependencies with rosdep:
cd ~/ros_ws
rosdep update
rosdep install --from-paths src -i
Build the package and source your workspace:
colcon build --packages-select web_video_server
source install/setup.bash
Usage
Starting the Server
# ROS 1
rosrun web_video_server web_video_server
# ROS 2
ros2 run web_video_server web_video_server
Configuration
Server Configuration Parameters
Parameter | Type | Default | Possible Values | Description |
---|---|---|---|---|
port |
int | 8080 | Any valid port number | HTTP server port |
address |
string | “0.0.0.0” | Any valid IP address | HTTP server address (0.0.0.0 allows external connections) |
server_threads |
int | 1 | 1+ | Number of server threads for handling HTTP requests |
ros_threads |
int | 2 | 1+ | Number of threads for ROS message handling |
verbose |
bool | false | true, false | Enable verbose logging |
default_stream_type |
string | “mjpeg” | “mjpeg”, “vp8”, “vp9”, “h264”, “png”, “ros_compressed” | Default format for video streams |
publish_rate |
double | -1.0 | -1.0 or positive value | Rate for republishing images (-1.0 means no republishing) |
Running with Custom Parameters
You can configure the server by passing parameters via the command line:
```bash
ROS 1
rosrun web_video_server web_video_server _port:=8081 _address:=localhost _server_threads:=4
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the 3-Clause BSD License, as dictated by that license.
Repository Summary
Checkout URI | https://github.com/RobotWebTools/web_video_server.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
web_video_server | 2.1.0 |
README
web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats
This node provides HTTP streaming of ROS image topics in various formats, making it easy to view robot camera feeds and other image topics in a web browser without requiring special plugins or extensions.
Features
- Stream ROS image topics over HTTP in multiple formats:
- MJPEG (Motion JPEG)
- VP8 (WebM)
- VP9 (WebM)
- H264 (MP4)
- PNG streams
- ROS compressed image topics
- Adjustable quality, size, and other streaming parameters
- Web interface to browse available image topics
- Single image snapshot capability
- Support for different QoS profiles in ROS 2
Installation
Dependencies
- ROS (Noetic) or ROS 2 (Humble+)
- OpenCV
- FFmpeg/libav
- Boost
- async_web_server_cpp
Installing packages
For newer ROS2 distributions (humble, jazzy, rolling) it is possible to install web_video_server as a package:
sudo apt install ros-${ROS_DISTRO}-web-video-server
Building from Source
Create a ROS workspace if you don’t have one:
mkdir -p ~/ros_ws/src
cd ~/ros_ws/src
Clone this repository:
# ROS 2
git clone https://github.com/RobotWebTools/web_video_server.git
# ROS 1
git clone https://github.com/RobotWebTools/web_video_server.git -b ros1
Install dependencies with rosdep:
cd ~/ros_ws
rosdep update
rosdep install --from-paths src -i
Build the package and source your workspace:
colcon build --packages-select web_video_server
source install/setup.bash
Usage
Starting the Server
# ROS 1
rosrun web_video_server web_video_server
# ROS 2
ros2 run web_video_server web_video_server
Configuration
Server Configuration Parameters
Parameter | Type | Default | Possible Values | Description |
---|---|---|---|---|
port |
int | 8080 | Any valid port number | HTTP server port |
address |
string | “0.0.0.0” | Any valid IP address | HTTP server address (0.0.0.0 allows external connections) |
server_threads |
int | 1 | 1+ | Number of server threads for handling HTTP requests |
ros_threads |
int | 2 | 1+ | Number of threads for ROS message handling |
verbose |
bool | false | true, false | Enable verbose logging |
default_stream_type |
string | “mjpeg” | “mjpeg”, “vp8”, “vp9”, “h264”, “png”, “ros_compressed” | Default format for video streams |
publish_rate |
double | -1.0 | -1.0 or positive value | Rate for republishing images (-1.0 means no republishing) |
Running with Custom Parameters
You can configure the server by passing parameters via the command line:
```bash
ROS 1
rosrun web_video_server web_video_server _port:=8081 _address:=localhost _server_threads:=4
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the 3-Clause BSD License, as dictated by that license.
Repository Summary
Checkout URI | https://github.com/RobotWebTools/web_video_server.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-05-28 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
web_video_server | 2.1.0 |
README
web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats
This node provides HTTP streaming of ROS image topics in various formats, making it easy to view robot camera feeds and other image topics in a web browser without requiring special plugins or extensions.
Features
- Stream ROS image topics over HTTP in multiple formats:
- MJPEG (Motion JPEG)
- VP8 (WebM)
- VP9 (WebM)
- H264 (MP4)
- PNG streams
- ROS compressed image topics
- Adjustable quality, size, and other streaming parameters
- Web interface to browse available image topics
- Single image snapshot capability
- Support for different QoS profiles in ROS 2
Installation
Dependencies
- ROS (Noetic) or ROS 2 (Humble+)
- OpenCV
- FFmpeg/libav
- Boost
- async_web_server_cpp
Installing packages
For newer ROS2 distributions (humble, jazzy, rolling) it is possible to install web_video_server as a package:
sudo apt install ros-${ROS_DISTRO}-web-video-server
Building from Source
Create a ROS workspace if you don’t have one:
mkdir -p ~/ros_ws/src
cd ~/ros_ws/src
Clone this repository:
# ROS 2
git clone https://github.com/RobotWebTools/web_video_server.git
# ROS 1
git clone https://github.com/RobotWebTools/web_video_server.git -b ros1
Install dependencies with rosdep:
cd ~/ros_ws
rosdep update
rosdep install --from-paths src -i
Build the package and source your workspace:
colcon build --packages-select web_video_server
source install/setup.bash
Usage
Starting the Server
# ROS 1
rosrun web_video_server web_video_server
# ROS 2
ros2 run web_video_server web_video_server
Configuration
Server Configuration Parameters
Parameter | Type | Default | Possible Values | Description |
---|---|---|---|---|
port |
int | 8080 | Any valid port number | HTTP server port |
address |
string | “0.0.0.0” | Any valid IP address | HTTP server address (0.0.0.0 allows external connections) |
server_threads |
int | 1 | 1+ | Number of server threads for handling HTTP requests |
ros_threads |
int | 2 | 1+ | Number of threads for ROS message handling |
verbose |
bool | false | true, false | Enable verbose logging |
default_stream_type |
string | “mjpeg” | “mjpeg”, “vp8”, “vp9”, “h264”, “png”, “ros_compressed” | Default format for video streams |
publish_rate |
double | -1.0 | -1.0 or positive value | Rate for republishing images (-1.0 means no republishing) |
Running with Custom Parameters
You can configure the server by passing parameters via the command line:
```bash
ROS 1
rosrun web_video_server web_video_server _port:=8081 _address:=localhost _server_threads:=4
File truncated at 100 lines see the full file
CONTRIBUTING
Any contribution that you make to this repository will be under the 3-Clause BSD License, as dictated by that license.