217 lines
4.7 KiB
Protocol Buffer
217 lines
4.7 KiB
Protocol Buffer
|
|
syntax = "proto3";
|
|||
|
|
|
|||
|
|
import "cmvr/api/common.proto";
|
|||
|
|
|
|||
|
|
package cmvr.api;
|
|||
|
|
|
|||
|
|
message FrameData {
|
|||
|
|
enum FrameType {
|
|||
|
|
U8C1 = 0;
|
|||
|
|
U16C1 = 1;
|
|||
|
|
U8C3 = 2;
|
|||
|
|
U16C3 = 3;
|
|||
|
|
F16C1 = 4;
|
|||
|
|
F32C1 = 5;
|
|||
|
|
}
|
|||
|
|
bytes data = 1;
|
|||
|
|
int32 width = 2;
|
|||
|
|
int32 height = 3;
|
|||
|
|
FrameType type = 4;
|
|||
|
|
string codec = 5;
|
|||
|
|
bool is_key_frame = 6;
|
|||
|
|
// Optional capture and source metadata. Fields 1-6 remain wire-compatible
|
|||
|
|
// with existing clients; older clients safely ignore these additions.
|
|||
|
|
int64 capture_utc_ns = 7;
|
|||
|
|
uint64 source_sequence = 8;
|
|||
|
|
int64 pts = 9;
|
|||
|
|
int64 dts = 10;
|
|||
|
|
uint32 source_fps = 11;
|
|||
|
|
uint64 source_timestamp = 12;
|
|||
|
|
uint64 source_frame_number = 13;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message CameraIntrinsics {
|
|||
|
|
float cx = 1; // 主点水平坐标(从左边缘的像素偏移)
|
|||
|
|
float cy = 2; // 主点垂直坐标(从上边缘的像素偏移)
|
|||
|
|
float fx = 3; // x方向焦距(像素宽度的倍数)
|
|||
|
|
float fy = 4; // y方向焦距(像素高度的倍数)
|
|||
|
|
repeated float coeffs = 5 [packed = true]; // 畸变系数(固定5个元素)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message CameraState {
|
|||
|
|
bool is_initialized = 1;
|
|||
|
|
bool is_opened = 2;
|
|||
|
|
bool is_streaming = 3;
|
|||
|
|
bool is_recording = 4;
|
|||
|
|
bool is_error = 5;
|
|||
|
|
string error_message = 6;
|
|||
|
|
int32 fps = 7;
|
|||
|
|
int32 width = 8;
|
|||
|
|
int32 height = 9;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetCameraStateCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
CameraState state = 2;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message StartCameraCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message StopCameraCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetRGBImageCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
FrameData color_frame = 2;
|
|||
|
|
CameraIntrinsics intrinsics = 3;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetDepthImageCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
FrameData depth_frame = 2;
|
|||
|
|
CameraIntrinsics intrinsics = 3;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetRGBDImagesCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
FrameData color_frame = 2;
|
|||
|
|
FrameData depth_frame = 3;
|
|||
|
|
CameraIntrinsics intrinsics = 4;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message StartCameraRecordingCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
string video_path = 2;
|
|||
|
|
}
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message StopCameraRecordingCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message ControlPtzCommand {
|
|||
|
|
enum Command {
|
|||
|
|
COMMAND_UNSPECIFIED = 0;
|
|||
|
|
TILT_UP = 1;
|
|||
|
|
TILT_DOWN = 2;
|
|||
|
|
PAN_LEFT = 3;
|
|||
|
|
PAN_RIGHT = 4;
|
|||
|
|
UP_LEFT = 5;
|
|||
|
|
UP_RIGHT = 6;
|
|||
|
|
DOWN_LEFT = 7;
|
|||
|
|
DOWN_RIGHT = 8;
|
|||
|
|
ZOOM_IN = 9;
|
|||
|
|
ZOOM_OUT = 10;
|
|||
|
|
PAN_AUTO = 11;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
enum Action {
|
|||
|
|
START = 0;
|
|||
|
|
STOP = 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
Command command = 2;
|
|||
|
|
Action action = 3;
|
|||
|
|
uint32 speed = 4;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetRGBImageStreamCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
bool eof = 2;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
FrameData color_frame = 2;
|
|||
|
|
CameraIntrinsics intrinsics = 3;
|
|||
|
|
int32 seq_no = 4;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetDepthImageStreamCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
bool eof = 2;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
FrameData depth_frame = 2;
|
|||
|
|
CameraIntrinsics intrinsics = 3;
|
|||
|
|
int32 seq_no = 4;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message GetRGBDImagesStreamCommand {
|
|||
|
|
message Request {
|
|||
|
|
CommandHeader.Request header = 1;
|
|||
|
|
bool eof = 2;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
message Feedback {
|
|||
|
|
CommandHeader.Feedback header = 1;
|
|||
|
|
FrameData color_frame = 2;
|
|||
|
|
FrameData depth_frame = 3;
|
|||
|
|
CameraIntrinsics intrinsics = 4;
|
|||
|
|
int32 seq_no = 5;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|