Recording data is done using a RSB -enabled data source (e.g. video, audio, proprioception etc.) and the bag-record program.


This approach can only be used when bag-record can write data to the file system at the rate with which it is received.

In some cases, distributing this task among multiple bag-record processes can help.


  1. Start the data recording

    $ bag-record -o video-file.tide spread://localhost:4803/mysystem/video/camera1


    The above example uses an URI-based syntax. For a detailed discussion of this kind of URI handling in RSB, see URIs.

  2. Start the data source (or data sources)

    $ RSB_TRANSPORT_SPREAD_ENABLED=1 gst-launch-0.10 gconfvideosrc ! rsbvideosink scope=/mysystem/video/camera1


    This part of the example assumes a configuration that enables the Spread transport for a Spread daemon listening on port 4803 on localhost, see Common Environment Variables.


    The rsb-gstreamer project contains scripts which can be used to construct GStreamer pipelines like the above.