123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- syntax = "proto3";
- package video.live.streamng.v1;
- option go_package = "v1";
- import "github.com/gogo/protobuf/gogoproto/gogo.proto";
- // EmptyStruct 空的message,对应真实service只返回error,没有具体返回值
- message EmptyStruct {
- }
- // ChangeSrcReq 切换上行
- message ChangeSrcReq {
- // 房间号
- int64 room_id = 1;
- // src
- int64 src = 2;
- // 来源平台
- string source = 3;
- // 操作人
- string operate_name = 4;
- // 原因
- string reason = 5;
- }
- // ClearStreamStatusReq 清理互推
- message ClearStreamStatusReq {
- // 房间号
- int64 room_id = 1;
- }
- // CloseReply CloseReply
- message CloseReply {
- }
- // CloseReq CloseReq
- message CloseReq {
- }
- // CreateOfficalStreamReply 创建流
- message CreateOfficalStreamReply {
- // 是否成功
- bool success = 1;
- }
- // CreateOfficalStreamReq 创建流
- message CreateOfficalStreamReq {
- // 流名
- string stream_name = 1;
- // key
- string key = 2;
- // 房间号
- int64 room_id = 3;
- // 是否线下测试
- string debug = 4;
- // 线下测试必传
- int64 uid = 5;
- }
- // AdapterStream 上行流信息
- message AdapterStream {
- // src
- int64 src = 1;
- // 房间号
- int64 room_id = 2 [(gogoproto.jsontag) = "room_id"];
- // 上行
- int64 up_rank = 3 [(gogoproto.jsontag) = "up_rank"];
- // 上行名称
- string src_name = 4 [(gogoproto.jsontag) = "src_name"];
- }
- // GetAdapterStreamByStreamNameReply 适配PHP代码
- message GetAdapterStreamByStreamNameReply {
- // 流名map流具体信息
- map<string, AdapterStream> list = 1;
- }
- // GetAdapterStreamByStreamNameReq 适配PHP代码
- message GetAdapterStreamByStreamNameReq {
- // 流名
- string stream_names = 1 [(gogoproto.jsontag) = "stream_names"];
- }
- // LineList 线路信息
- message LineList {
- // 上行
- int64 src = 1;
- // 是否被使用
- bool use = 2;
- // 描述
- string desc = 3;
- }
- // GetLineListByRoomIDReply 获取线路信息
- message GetLineListByRoomIDReply {
- // 线路信息, 多条
- repeated LineList list = 1;
- }
- // GetLineListByRoomIDReq 获取线路信息
- message GetLineListByRoomIDReq {
- // 房间号
- int64 room_id = 1;
- }
- // GetMultiScreenShotReply 获取批量截图
- message GetMultiScreenShotReply {
- // 房间号map截图地址
- map<int64, string> list = 1;
- }
- // GetMultiScreenShotReq 获取批量截图
- message GetMultiScreenShotReq {
- // 房间号
- string room_ids = 1;
- // 时间戳
- int64 ts = 2;
- // channel 是否为鉴黄
- string channel = 3;
- }
- // GetMultiStreamInfoReply 批量获取房间信息
- message GetMultiStreamInfoReply {
- // code
- int32 code = 1;
- // message
- string message = 2;
- // 房间号map流详细信息
- map<uint32, StreamFullInfo> data = 3;
- }
- // GetMultiStreamInfoReq 批量获取房间信息
- message GetMultiStreamInfoReq {
- // 房间号
- repeated uint32 room_ids = 1;
- }
- // GetOriginScreenShotPicReply 获取原图
- message GetOriginScreenShotPicReply {
- // 房间号map截图地址
- map<int64, string> list = 1;
- }
- // GetOriginScreenShotPicReq 获取原图
- message GetOriginScreenShotPicReq {
- // 房间号
- string room_ids = 1;
- // 时间戳
- int64 ts = 2;
- }
- // GetRoomIDByStreamNameReply 获取房间号
- message GetRoomIDByStreamNameReply {
- // 房间号
- int64 room_id = 1;
- }
- // GetRoomIDByStreamNameReq 获取房间号
- message GetRoomIDByStreamNameReq {
- // 流名
- string stream_name = 1;
- }
- // GetSingleScreeShotReply 获取单个截图
- message GetSingleScreeShotReply {
- // 截图列表
- repeated string list = 1;
- }
- // GetSingleScreeShotReq 获取单个截图
- message GetSingleScreeShotReq {
- // 房间号
- int64 room_id = 1;
- // 开始时间
- string start_time = 2;
- // 结束时间
- string end_time = 3;
- // channel
- string channel = 4;
- }
- // RoomSrcCheck 上行
- message RoomSrcCheck {
- // 上行
- int64 src = 1;
- // 是否被选择, 1或者0
- int32 checked = 2;
- // 上行名称
- string desc = 3;
- }
- // GetSrcByRoomIDReply 获取上行信息
- message GetSrcByRoomIDReply {
- // 上行列表
- repeated RoomSrcCheck list = 1;
- }
- // GetSrcByRoomIDReq 获取上行信息
- message GetSrcByRoomIDReq {
- // 房间号
- int64 room_id = 1;
- }
- // GetStreamInfoReply 获取单个流信息
- message GetStreamInfoReply {
- // code
- int32 code = 1;
- // message
- string message = 2;
- // 流详细信息
- StreamFullInfo data = 3;
- }
- // GetStreamInfoReq 获取单个流信息
- message GetStreamInfoReq {
- // 房间号
- uint32 room_id = 1;
- // 流名
- string stream_name = 2;
- }
- // GetStreamLastTimeReply 获取最后推流时间
- message GetStreamLastTimeReply {
- // 最后推流时间, -1 正在推流
- int64 last_time = 1;
- }
- // GetStreamLastTimeReq 获取最后推流时间
- message GetStreamLastTimeReq {
- // 房间号
- int64 room_id = 1;
- }
- // GetStreamNameByRoomIDReply 获取流名
- message GetStreamNameByRoomIDReply {
- // 流名
- string stream_name = 1;
- }
- // GetStreamNameByRoomIDReq 获取流名
- message GetStreamNameByRoomIDReq {
- // 房间号
- int64 room_id = 1;
- }
- // GetUpStreamRtmpReply 获取上行推流地址
- message GetUpStreamRtmpReply {
- // 上行推流地址
- UpStreamRtmp up = 1;
- }
- // GetUpStreamRtmpReq 获取上行推流地址
- message GetUpStreamRtmpReq {
- // 房间号
- int64 room_id = 1;
- // 免流
- string free_flow = 2;
- // ip
- string ip = 3;
- // 所在区域
- int64 area_id = 4;
- // 关注数
- int32 attentions = 5;
- // uid
- int64 uid = 6;
- // 平台
- string platform = 7;
- }
- // StreamBase 流基本信息
- message StreamBase {
- // 流名
- string stream_name = 1;
- // 默认上行
- uint32 default_upstream = 2 [(gogoproto.jsontag) = "default_upstream"];
- // 正在推流上行
- uint32 origin = 3;
- // 转推cdn
- repeated uint32 forward = 4;
- // 主流1或者备用流2
- uint32 type = 5;
- // 推流码
- string key = 6;
- // options
- uint32 options = 7;
- }
- // StreamFullInfo 流信息完整结构
- message StreamFullInfo {
- // 房间号
- uint32 room_id = 1;
- // 是否为冷热流
- uint32 hot = 2;
- // 流列表
- repeated StreamBase list = 3;
- }
- // PingReply PingReply
- message PingReply {
- }
- // PingReq PingReq
- message PingReq {
- }
- // UpStreamRtmp 上行推流地址详细信息
- message UpStreamRtmp {
- // 推流地址
- string addr = 1;
- // 推流码
- string code = 2;
- // new link
- string new_link = 3;
- }
- // StreamCutReq 切流
- message StreamCutReq {
- // 房间号
- int64 room_id = 1;
- // 切流时间
- int64 cut_time = 2;
- }
- // TimeTime 时间
- message TimeTime {
- }
- message CheckLiveStreamReq {
- repeated int64 room_id = 1;
- }
- message CheckLiveStreamReply {
- map<int64, bool> list = 1;
- }
- // Stream service
- service Stream {
- // GetSingleScreeShot
- rpc GetSingleScreeShot (GetSingleScreeShotReq) returns (GetSingleScreeShotReply);
- // GetMultiScreenShot
- rpc GetMultiScreenShot (GetMultiScreenShotReq) returns (GetMultiScreenShotReply);
- // GetOriginScreenShotPic
- rpc GetOriginScreenShotPic (GetOriginScreenShotPicReq) returns (GetOriginScreenShotPicReply);
- // CreateOfficeStream 创建正式流
- rpc CreateOfficalStream (CreateOfficalStreamReq) returns (CreateOfficalStreamReply);
- // GetStreamInfo 获取单个流信息
- rpc GetStreamInfo (GetStreamInfoReq) returns (GetStreamInfoReply);
- // GetMultiStreamInfo 批量获取流信息
- rpc GetMultiStreamInfo (GetMultiStreamInfoReq) returns (GetMultiStreamInfoReply);
- // ChangeSrc 切换cdn
- rpc ChangeSrc (ChangeSrcReq) returns (EmptyStruct);
- // GetStreamLastTime 得到流到最后推流时间;主流的推流时间up_rank = 1
- rpc GetStreamLastTime (GetStreamLastTimeReq) returns (GetStreamLastTimeReply);
- // GetStreamNameByRoomID 需要考虑备用流 + 考虑短号
- rpc GetStreamNameByRoomID (GetStreamNameByRoomIDReq) returns (GetStreamNameByRoomIDReply);
- // GetRoomIDByStreamName 查询房间号
- rpc GetRoomIDByStreamName (GetRoomIDByStreamNameReq) returns (GetRoomIDByStreamNameReply);
- // GetAdapterStreamByStreamName 适配结果输出, 此处也可以输入备用流, 该结果只输出直推上行
- rpc GetAdapterStreamByStreamName (GetAdapterStreamByStreamNameReq) returns (GetAdapterStreamByStreamNameReply);
- // GetSrcByRoomID
- rpc GetSrcByRoomID (GetSrcByRoomIDReq) returns (GetSrcByRoomIDReply);
- // GetLineListByRoomID
- rpc GetLineListByRoomID (GetLineListByRoomIDReq) returns (GetLineListByRoomIDReply);
- // GetUpStreamRtmp UpStream
- rpc GetUpStreamRtmp (GetUpStreamRtmpReq) returns (GetUpStreamRtmpReply);
- // StreamCut 切流的房间和时间, 内部调用
- rpc StreamCut (StreamCutReq) returns (EmptyStruct);
- // Ping Service
- rpc Ping (PingReq) returns (PingReply);
- // Close Service
- rpc Close (CloseReq) returns (CloseReply);
- // ClearRetweetRecord
- rpc ClearStreamStatus (ClearStreamStatusReq) returns (EmptyStruct);
- // CheckLiveStreamList
- rpc CheckLiveStreamList(CheckLiveStreamReq) returns (CheckLiveStreamReply);
- }
|