// camera_config.proto - 所有配置都在这里 syntax = "proto3"; package cmvr.config; // 枚举定义 enum CameraMode { CAMERA_MODE_PHOTO = 0; CAMERA_MODE_VIDEO = 1; } enum StreamMode { STREAM_MODE_RGB = 0; STREAM_MODE_RGBD = 1; STREAM_MODE_DEPTH = 2; } enum AlignMode { ALIGN_MODE_COLOR = 0; ALIGN_MODE_DEPTH = 1; } message CameraCaptureConfig { int32 width = 1; int32 height = 2; int32 fps = 3; StreamMode stream_mode = 4; } message CameraRenderConfig { int32 width = 1; int32 height = 2; int32 fps = 3; StreamMode stream_mode = 4; } message CameraEncoderConfig { int32 width = 1; int32 height = 2; int32 fps = 3; string codec = 4; bool enable_stream_timestamp = 5; int32 buffer_size = 6; } message MujocoViewerPipConfig { bool enable = 1; int32 left = 2; int32 bottom = 3; int32 width = 4; int32 height = 5; } // RealSense摄像头 message RealSenseCameraConfig { string id = 1; string serialNumber = 2; CameraMode camera_mode = 3; CameraCaptureConfig capture = 4; CameraEncoderConfig encoder = 5; AlignMode align_mode = 6; bool sync = 7; } // UVC摄像头 message UVCCameraConfig { string id = 1; string usb = 2; // 或者叫 device_path CameraMode camera_mode = 3; CameraCaptureConfig capture = 4; CameraEncoderConfig encoder = 5; } // MechMind工业相机 message MechMindCameraConfig { reserved 5; string id = 1; string ip = 2; optional bool align = 3; string image2d_type = 4; } message MujocoCameraConfig { string id = 1; string world_id = 2; string camera_name = 3; CameraRenderConfig render = 4; CameraEncoderConfig encoder = 5; bool consume_new_frame_only = 6; MujocoViewerPipConfig viewer_pip = 7; } message HikvisionCameraConfig { string id = 1; string ip = 2; int32 port = 3; string username = 4; string password = 5; int32 channel = 6; int32 stream_type = 7; int32 link_mode = 8; int32 width = 9; int32 height = 10; int32 fps = 11; string codec = 12; CameraMode camera_mode = 13; StreamMode stream_mode = 14; int32 buffer_size = 15; int32 encode_width = 16; int32 encode_height = 17; string sdk_path = 18; float fx = 19; float fy = 20; float cx = 21; float cy = 22; repeated float coeffs = 23; } message CameraDeviceConfig { string id = 1; reserved 2; oneof backend { UVCCameraConfig uvc = 10; RealSenseCameraConfig realsense = 11; MechMindCameraConfig mechmind = 12; MujocoCameraConfig mujoco = 13; HikvisionCameraConfig hikvision = 14; } } message CameraConfig { repeated CameraDeviceConfig cameras = 1; } message CameraRootConfig { CameraConfig camera = 1; }