BrettRD / ros-gst-bridge

a bidirectional ros to gstreamer bridge and utilities for dynamic pipelines
Other
129 stars 30 forks source link

Opaque ROS message for GStreamer Data #16

Open BrettRD opened 3 years ago

BrettRD commented 3 years ago

An opaque message format that can pass any gstreamer data over DDS would find a lot of use in niche rosbag applications.

A message should either encapsulate a gstreamer buffer directly, and tag it with appropriate metadata from the pipeline caps, or use an established transport.

Gstreamer Data Protocol can stream data to archive, but encapsulates format changes as single messages, potentially making it intolerant to packet loss. https://gstreamer.freedesktop.org/documentation/gdp/index.html?gi-language=c

ipcpipelinesink may be worth looking into, but it's also unlikely to tolerate packet loss.

Carrying raw data like filesrc and udpsrc do under an ANY caps filter might be more versatile, and can be paired with elements such as gpdpay or h264parse (with non-zero config-interval) to packetise pipeline data, tolerate data loss, and begin playback partway through an archive.