I'm not aware of a available solution for this, but here are a few options:
-
The image_to_rtsp node(let) taks in ROS images and provides a RTSP stream based on them. You could connect a gstreamer pipeline to that RTSP server
- You could take the code from the previously named package as inspiration and push the ROS image data into a gstreamer appsrc pad and connect other gstreamer pads for compression/file writing to that.
- Instead of running a ROS driver for the cam, you could run a gstreamer pipeline with a v4l2src connecting to the camera and split the pipeline into a file writer and a part that feeds data to the gscam node that provides the ROS image topic. In fact, it might be possible to do that directly within the gscam pipeline config (never tried that).