Skip to main content
Set InitParameters::input_type to MCAP and provide a recording path. The normal grab() and retrieval loop remains unchanged.
Replay differs from a live session in four ways:
  • grab() returns END_OF_BUFFER when the file is exhausted, the one loop-exit condition unique to replay.
  • The recording’s codec overrides InitParameters::compression; the SDK decodes the format stored in the file.
  • Control-plane calls (health, WiFi, recording management) return INVALID_FUNCTION_CALL, since there is no device.
  • Timestamps are the original capture timestamps from the recording.
Both host-file and device-local recordings replay identically, since they share one schema. Recordings also open directly in Foxglove. To extract the raw H.264/H.265 elementary stream from a session, use the bundled script:
The script writes an elementary stream, not a container. Wrap it in a container to produce a playable file, for example ffmpeg -i session.h265 -c copy session.mp4.