You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
376 lines
9.0 KiB
376 lines
9.0 KiB
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); |
|
} |