209 lines
4.3 KiB
Protocol Buffer
209 lines
4.3 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;
|
||
}
|
||
|
||
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;
|
||
}
|
||
}
|
||
|
||
|
||
|