Files
monibuca/plugin/mp4/pb/mp4.proto
T

88 lines
2.1 KiB
Protocol Buffer

syntax = "proto3";
import "google/api/annotations.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";
import "global.proto";
package mp4;
option go_package="m7s.live/v5/plugin/mp4/pb";
service api {
rpc List (ReqRecordList) returns (global.ResponseList) {
option (google.api.http) = {
get: "/mp4/api/list/{streamPath=**}"
};
}
rpc Catalog (google.protobuf.Empty) returns (global.ResponseCatalog) {
option (google.api.http) = {
get: "/mp4/api/catalog"
};
}
rpc Delete (ReqRecordDelete) returns (global.ResponseDelete) {
option (google.api.http) = {
post: "/mp4/api/delete/{streamPath=**}"
body: "*"
};
}
rpc EventStart (ReqEventRecord) returns (ResponseEventRecord) {
option (google.api.http) = {
post: "/mp4/api/event/start"
body: "*"
};
}
rpc StartRecord (ReqStartRecord) returns (ResponseStartRecord) {
option (google.api.http) = {
post: "/mp4/api/start/{streamPath=**}"
body: "*"
};
}
}
message ReqRecordList {
string streamPath = 1;
string range = 2;
string start = 3;
string end = 4;
uint32 pageNum = 5;
uint32 pageSize = 6;
string mode = 7;
string eventLevel = 8;
}
message ReqRecordDelete {
string streamPath = 1;
repeated uint32 ids = 2;
string startTime = 3;
string endTime = 4;
string range = 5;
}
message ReqEventRecord {
string streamPath = 1;
string eventId = 2;
string mode = 3;//auto=连续录像模式,event=事件录像模式
string eventName = 4;
string beforeDuration = 5;
string afterDuration = 6;
string eventDesc = 7;
string eventLevel = 8;//事件级别,0表示重要事件,无法删除且表示无需自动删除,1表示非重要事件,达到自动删除时间后,自动删除
string fragment = 9;
}
message ResponseEventRecord {
int32 code = 1;
string message = 2;
uint32 data = 3;
}
message ReqStartRecord {
string streamPath = 1;
google.protobuf.Duration fragment = 2;
string filePath = 3;
}
message ResponseStartRecord {
int32 code = 1;
string message = 2;
uint64 data = 3;
}