RobotWebTools / web_video_server

HTTP Streaming of ROS Image Topics in Multiple Formats
http://ros.org/wiki/web_video_server
Other
269 stars 187 forks source link

Add QoS profile query parameters #133

Closed sea-bass closed 2 months ago

sea-bass commented 1 year ago

Public API Changes N/A

Description This PR add a qos_profile query parameter that allows specifying a non-default (QoS) profile for the ImageTransportImageStreamer and ROSCompressedStreamer classes, which are the two that create ROS 2 subscribers with the default QoS profile.

For example, to use the sensor data proflie, you could go to, e.g., the following URL:

http://localhost:8080/stream_viewer?topic=/camera/color/image_raw&qos_profile=sensor_data

This doesn't support all the profiles that exist in rclcpp, but maybe some of the common ones? It's easy enough to add more as people need them. For our use case at PickNik, we needed the sensor_data profile to get things working, so that's our motivation.

EzraBrooks commented 4 months ago

@sea-bass we've been using this in prod for a long time, if you want to finish this up we can merge it!

sea-bass commented 2 months ago

@sea-bass we've been using this in prod for a long time, if you want to finish this up we can merge it!

It took me an eternity to tweak 2 lines, but it is ready.

Fun fact: I tried building on my personal laptop that runs Ubuntu 24.04 / Rolling and this does not compile for 2 reasons.

Filed an issue to track this: https://github.com/RobotWebTools/web_video_server/issues/143