feat(record): add raw ZED body MCAP capture

This commit is contained in:
2026-03-13 17:30:57 +08:00
parent e0946d777f
commit 172df30225
14 changed files with 681 additions and 19 deletions
@@ -84,6 +84,7 @@ struct McapRecordConfig {
std::string path{"capture.mcap"};
std::string topic{"/camera/video"};
std::string depth_topic{"/camera/depth"};
std::string body_topic{"/camera/body"};
std::string frame_id{"camera"};
McapCompression compression{McapCompression::Zstd};
};
@@ -26,6 +26,11 @@ struct RawDepthMapView {
std::span<const float> pixels{};
};
struct RawBodyTrackingMessageView {
std::uint64_t timestamp_ns{0};
std::span<const std::uint8_t> bytes{};
};
class McapRecordSink {
public:
McapRecordSink() = default;
@@ -51,6 +56,9 @@ public:
[[nodiscard]]
std::expected<void, std::string> write_depth_map(const RawDepthMapView &depth_map);
[[nodiscard]]
std::expected<void, std::string> write_body_tracking_message(const RawBodyTrackingMessageView &body_message);
[[nodiscard]]
bool is_open() const;