api.proto 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. syntax = "proto3";
  2. package bbq.service.video.v1;
  3. import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  4. import "google/protobuf/empty.proto";
  5. option go_package = "v1";
  6. option (gogoproto.goproto_getters_all) = false;
  7. option (gogoproto.goproto_stringer_all) = false;
  8. option (gogoproto.stringer_all) = true;
  9. message ImportVideoInfo{
  10. int64 avid = 1 [(gogoproto.jsontag) = "avid",(gogoproto.moretags) = "form:\"avid\"",(gogoproto.customname)= "AVID"];
  11. int64 cid = 2 [(gogoproto.jsontag) = "cid",(gogoproto.moretags) = "form:\"avid\"",(gogoproto.customname)= "CID"];
  12. int64 mid = 3 [(gogoproto.jsontag) = "mid",(gogoproto.moretags) = "form:\"mid\"",(gogoproto.customname)= "MID"];
  13. string title = 4 [(gogoproto.jsontag) = "title",(gogoproto.moretags) = "form:\"title\""];
  14. string content = 5 [(gogoproto.jsontag) = "content",(gogoproto.moretags) = "form:\"content\""];
  15. int64 original = 6 [(gogoproto.jsontag) = "original",(gogoproto.moretags) = "form:\"original\""];
  16. int64 duration = 7 [(gogoproto.jsontag) = "duration",(gogoproto.moretags) = "form:\"duration\""];
  17. int64 state = 8 [(gogoproto.jsontag) = "state",(gogoproto.moretags) = "form:\"state\""];
  18. string tag = 9 [(gogoproto.jsontag) = "tag",(gogoproto.moretags) = "form:\"tag\""];
  19. string pubtime = 10 [(gogoproto.jsontag) = "pubtime",(gogoproto.moretags) = "form:\"pubtime\""];
  20. int64 tid = 11 [(gogoproto.jsontag) = "tid",(gogoproto.moretags) = "form:\"tid\"",(gogoproto.customname)= "TID"];
  21. int64 sub_tid = 12 [(gogoproto.jsontag) = "sub_tid",(gogoproto.moretags) = "form:\"sub_tid\"",(gogoproto.customname)= "SubTID"];
  22. int64 is_full_screen = 13 [(gogoproto.jsontag) = "is_full_screen",(gogoproto.moretags) = "form:\"is_full_screen\""];
  23. string cover_url = 14 [(gogoproto.jsontag) = "cover_url",(gogoproto.moretags) = "form:\"cover_url\""];
  24. int64 cover_width = 15 [(gogoproto.jsontag) = "cover_width",(gogoproto.moretags) = "form:\"cover_width\""];
  25. int64 cover_height = 16 [(gogoproto.jsontag) = "cover_height",(gogoproto.moretags) = "form:\"cover_height\""];
  26. int64 from = 17 [(gogoproto.jsontag) = "from",(gogoproto.moretags) = "form:\"from\""];
  27. int64 svid = 18 [(gogoproto.jsontag) = "svid",(gogoproto.moretags) = "form:\"svid\""];
  28. string home_img_url = 19 [(gogoproto.jsontag) = "home_img_url",(gogoproto.moretags) = "form:\"home_img_url\""];
  29. int64 home_img_width = 20 [(gogoproto.jsontag) = "home_img_width",(gogoproto.moretags) = "form:\"home_img_width\""];
  30. int64 home_img_height = 21 [(gogoproto.jsontag) = "home_img_height",(gogoproto.moretags) = "form:\"home_img_height\""];
  31. }
  32. message VideoBase{
  33. int64 avid = 1 [(gogoproto.jsontag) = "avid",(gogoproto.moretags) = "form:\"avid\""];
  34. int64 cid = 2 [(gogoproto.jsontag) = "cid",(gogoproto.moretags) = "form:\"avid\""];
  35. int64 mid = 3 [(gogoproto.jsontag) = "mid",(gogoproto.moretags) = "form:\"mid\""];
  36. string title = 4 [(gogoproto.jsontag) = "title",(gogoproto.moretags) = "form:\"title\""];
  37. string content = 5 [(gogoproto.jsontag) = "content",(gogoproto.moretags) = "form:\"content\""];
  38. int64 original = 6 [(gogoproto.jsontag) = "original",(gogoproto.moretags) = "form:\"original\""];
  39. int64 duration = 7 [(gogoproto.jsontag) = "duration",(gogoproto.moretags) = "form:\"duration\""];
  40. int64 state = 8 [(gogoproto.jsontag) = "state",(gogoproto.moretags) = "form:\"state\""];
  41. string tag = 9 [(gogoproto.jsontag) = "tag",(gogoproto.moretags) = "form:\"tag\""];
  42. int64 pubtime = 10 [(gogoproto.jsontag) = "pubtime", (gogoproto.moretags) = 'form:"tag"', (gogoproto.casttype) = "go-common/library/time.Time"];
  43. int64 tid = 11 [(gogoproto.jsontag) = "tid",(gogoproto.moretags) = "form:\"tid\""];
  44. int64 sub_tid = 12 [(gogoproto.jsontag) = "sub_tid",(gogoproto.moretags) = "form:\"sub_tid\""];
  45. int64 is_full_screen = 13 [(gogoproto.jsontag) = "is_full_screen",(gogoproto.moretags) = "form:\"is_full_screen\""];
  46. string cover_url = 14 [(gogoproto.jsontag) = "cover_url",(gogoproto.moretags) = "form:\"cover_url\""];
  47. int64 cover_width = 15 [(gogoproto.jsontag) = "cover_width",(gogoproto.moretags) = "form:\"cover_width\""];
  48. int64 cover_height = 16 [(gogoproto.jsontag) = "cover_height",(gogoproto.moretags) = "form:\"cover_height\""];
  49. int64 from = 17 [(gogoproto.jsontag) = "from",(gogoproto.moretags) = "form:\"from\""];
  50. int64 svid = 18 [(gogoproto.jsontag) = "svid",(gogoproto.moretags) = "form:\"svid\""];
  51. uint64 limits = 19 [(gogoproto.jsontag) = "limits"];
  52. }
  53. message SyncVideoTagRequest{
  54. repeated TagInfo tag_infos = 1 [(gogoproto.jsontag) = "tag_infos",(gogoproto.moretags) = "form:\"tag_infos\""];
  55. }
  56. message TagInfo{
  57. int32 tag_type = 1 [(gogoproto.jsontag) = "tag_type",(gogoproto.moretags) = "form:\"tag_type\""];
  58. string tag_name = 2 [(gogoproto.jsontag) = "tag_name",(gogoproto.moretags) = "form:\"tag_name\""];
  59. }
  60. message SvStatisticsInfoReq{
  61. repeated int64 svid_list = 1 [(gogoproto.jsontag) = "svid_list",(gogoproto.moretags) = "form:\"svid_list\""];
  62. }
  63. message SvStatisticsInfoRes{
  64. map<int64,SvStInfo> svst_info_map =1 [(gogoproto.jsontag) = "svst_info_map",(gogoproto.moretags) = "form:\"svst_info_map\""];
  65. }
  66. message SvStInfo{
  67. int64 svid = 1 [(gogoproto.jsontag) = "svid",(gogoproto.moretags) = "form:\"svid\""];
  68. int64 play =2 [(gogoproto.jsontag) = "play",(gogoproto.moretags) = "form:\"play\""];
  69. int64 subtitles = 3 [(gogoproto.jsontag) = "subtitles",(gogoproto.moretags) = "form:\"subtitles\""];
  70. int64 like = 4 [(gogoproto.jsontag) = "like",(gogoproto.moretags) = "form:\"like\""];
  71. int64 share = 5 [(gogoproto.jsontag) = "share",(gogoproto.moretags) = "form:\"share\""];
  72. int64 report = 6 [(gogoproto.jsontag) = "report",(gogoproto.moretags) = "form:\"report\""];
  73. int64 reply = 7 [(gogoproto.jsontag) = "reply",(gogoproto.moretags) = "form:\"reply\""];
  74. }
  75. message SyncMidRequset{
  76. int64 mid = 1 [(gogoproto.jsontag) = "mid",(gogoproto.moretags) = "form:\"mid\"",(gogoproto.customname)= "MID"];
  77. }
  78. message SyncUserBaseResponse{
  79. int64 affc = 1 [(gogoproto.jsontag) = "affc",(gogoproto.moretags) = "form:\"affc\""];
  80. }
  81. message SyncMidsRequset{
  82. repeated int64 mids = 1 [(gogoproto.jsontag) = "mids",(gogoproto.moretags) = "form:\"mids\"",(gogoproto.customname)= "MIDS"];
  83. }
  84. message BVideoTransRequset{
  85. int64 svid = 1 [(gogoproto.jsontag) = "svid",(gogoproto.moretags) = "form:\"svid\" validate:\"min=0\"",(gogoproto.customname)= "SVID"];
  86. int64 cid = 2 [(gogoproto.jsontag) = "cid",(gogoproto.moretags) = "form:\"cid\" validate:\"min=0\"",(gogoproto.customname)= "CID"];
  87. }
  88. message BVCTransBackRequset{
  89. string flow_id = 1 [(gogoproto.jsontag) = "flow_id",(gogoproto.moretags) = "form:\"flow_id\" validate:\"min=0\"",(gogoproto.customname)= "FlowID"];
  90. int64 flow_type = 2 [(gogoproto.jsontag) = "flow_type",(gogoproto.moretags) = "form:\"flow_type\" validate:\"min=0\"",(gogoproto.customname)= "FlowType",(gogoproto.casttype)="int8"];
  91. int64 svid = 3 [(gogoproto.jsontag) = "svid",(gogoproto.moretags) = "form:\"svid\" validate:\"min=0\"",(gogoproto.customname)= "SVID"];
  92. repeated BVCTransInfo trans_res= 4 [(gogoproto.jsontag) = "trans_res",(gogoproto.moretags) = "form:\"trans_res\""];
  93. SvPic pic = 5 [(gogoproto.jsontag) = "pic",(gogoproto.moretags) = "form:\"pic\" validate:\"required\"",(gogoproto.customname)= "PIC"];
  94. }
  95. message SvPic{
  96. string pic_url = 1 [(gogoproto.jsontag) = "pic_url",(gogoproto.moretags) = "form:\"pic_url\" validate:\"required\"",(gogoproto.customname)= "PicURL"];
  97. int64 pic_width = 2 [(gogoproto.jsontag) = "pic_width",(gogoproto.moretags) = "form:\"pic_width\" validate:\"required\""];
  98. int64 pic_height = 3 [(gogoproto.jsontag) = "pic_height",(gogoproto.moretags) = "form:\"pic_height\" validate:\"required\""];
  99. }
  100. message BVCTransInfo{
  101. string path = 2 [(gogoproto.jsontag) = "path",(gogoproto.moretags) = "form:\"path\" validate:\"required\""];
  102. string ppi = 3 [(gogoproto.jsontag) = "ppi",(gogoproto.moretags) = "form:\"ppi\" validate:\"required\"",(gogoproto.customname)= "PPI"];
  103. string bps = 4 [(gogoproto.jsontag) = "bps",(gogoproto.moretags) = "form:\"bps\" validate:\"required\"",(gogoproto.customname)= "BPS"];
  104. string video_code = 5 [(gogoproto.jsontag) = "video_code",(gogoproto.moretags) = "form:\"video_code\" validate:\"required\""];
  105. int64 filesize = 6 [(gogoproto.jsontag) = "filesize",(gogoproto.moretags) = "form:\"filesize\" validate:\"required\""];
  106. int64 duration = 8 [(gogoproto.jsontag) = "duration",(gogoproto.moretags) = "form:\"duration\" validate:\"required\""];
  107. }
  108. message CreateIDRequest {
  109. int64 mid = 1 [(gogoproto.moretags) = 'form:"mid" validate:"required"'];
  110. int64 time = 2 [(gogoproto.moretags) = 'form:"time"'];
  111. }
  112. message CreateIDResponse {
  113. int64 new_id = 1;
  114. }
  115. message VideoInfo {
  116. VideoBase video_base = 1[(gogoproto.jsontag) = 'vidoe_base'];
  117. }
  118. message ListVideoInfoRequest {
  119. repeated int64 svIDs = 1 [(gogoproto.moretags) = 'form:"svids" validate:"required"'];
  120. }
  121. message ListVideoInfoResponse {
  122. repeated VideoInfo list = 1[(gogoproto.jsontag) = 'list,omitempty'];
  123. }
  124. message ModifyLimitsRequest {
  125. int64 svid = 1 [(gogoproto.moretags) = 'form:"svid" validate:"required"'];
  126. uint64 limit_type = 2 [(gogoproto.moretags) = 'form:"limit_type" validate:"required"']; // 表示此次修改是针对哪种类型,如弹幕发布等
  127. uint64 limit_op = 3 [(gogoproto.moretags) = 'form:"limit_op"']; // 操作,0表示清零去除该类型的限制,1表示开启限制
  128. }
  129. message ModifyLimitsResponse {
  130. }
  131. message PreUploadRequest{
  132. string title = 1 [(gogoproto.jsontag) = 'title',(gogoproto.moretags) = 'form:"title" validate:"required"'];
  133. int64 mid = 2 [(gogoproto.jsontag) = 'mid',(gogoproto.moretags) = 'form:"mid" validate:"required"'];
  134. string topic = 3 [(gogoproto.jsontag) = 'topic',(gogoproto.moretags) = 'form:"topic"'];
  135. int64 from = 4 [(gogoproto.jsontag) = 'from',(gogoproto.moretags) = 'form:"from" validate:"required"'];
  136. string file_ext = 5 [(gogoproto.jsontag) = 'file_ext',(gogoproto.moretags) = 'form:"file_ext" validate:"required"'];
  137. string entension = 6 [(gogoproto.jsontag) = 'entension',(gogoproto.moretags) = 'form:"entension"'];
  138. }
  139. message PreUploadResponse{
  140. int64 svid = 1 [(gogoproto.jsontag) = 'biz_id',(gogoproto.moretags) = 'form:"biz_id"'];
  141. string upos_uri = 2 [(gogoproto.jsontag) = 'upos_uri',(gogoproto.moretags) = 'form:"upos_uri"'];
  142. string end_point = 3 [(gogoproto.jsontag) = 'endpoint',(gogoproto.moretags) = 'form:"endpoint"'];
  143. repeated string end_points = 4 [(gogoproto.jsontag) = 'endpoints',(gogoproto.moretags) = 'form:"endpoints"'];
  144. string auth = 5 [(gogoproto.jsontag) = 'auth',(gogoproto.moretags) = 'form:"auth"'];
  145. }
  146. message CallBackRequest{
  147. int64 svid = 1 [(gogoproto.jsontag) = 'svid',(gogoproto.moretags) = 'form:"svid" validate:"required"'];
  148. int64 mid = 2 [(gogoproto.jsontag) = 'mid',(gogoproto.moretags) = 'form:"mid" validate:"required"'];
  149. }
  150. message VideoUnshelfRequest {
  151. int64 svid = 1 [(gogoproto.jsontag) = "svid",(gogoproto.moretags) = 'form:"svid" validate:"required"'];
  152. }
  153. message VideoDeleteRequest {
  154. int64 svid = 1 [(gogoproto.jsontag) = "svid",(gogoproto.moretags) = 'form:"svid"'];
  155. int64 up_mid = 2 [(gogoproto.jsontag) = "up_mid",(gogoproto.moretags) = 'form:"up_mid"'];
  156. }
  157. message UploadingVideo {
  158. int64 svid = 1;
  159. int64 mid = 2;
  160. string title = 3[(gogoproto.jsontag) = 'title'];
  161. int64 upload_status = 4[(gogoproto.jsontag) = 'upload_status'];
  162. int64 retry_time = 5;
  163. string home_img_url = 6[(gogoproto.jsontag) = 'home_img_url'];
  164. int64 home_img_height = 7[(gogoproto.jsontag) = 'home_img_height'];
  165. int64 home_img_width = 8[(gogoproto.jsontag) = 'home_img_width'];
  166. }
  167. message PrepareVideoRequest {
  168. int64 mid = 1;
  169. }
  170. message PrepareVideoResponse {
  171. repeated UploadingVideo list = 1;
  172. }
  173. message HomeImgCreateRequest {
  174. int64 svid = 1 [(gogoproto.jsontag) = 'svid',(gogoproto.moretags) = 'form:"svid" validate:"required"'];
  175. int64 mid = 2 [(gogoproto.jsontag) = 'mid',(gogoproto.moretags) = 'form:"mid" validate:"required"'];
  176. int64 width = 3 [(gogoproto.jsontag) = 'width',(gogoproto.moretags) = 'form:"width" validate:"required"'];
  177. string url = 4 [(gogoproto.jsontag) = 'url',(gogoproto.moretags) = 'form:"url" validate:"required"'];
  178. int64 height = 5 [(gogoproto.jsontag) = 'height',(gogoproto.moretags) = 'form:"height" validate:"required"'];
  179. }
  180. message PlayInfoRequest{
  181. repeated int64 svid = 1 [(gogoproto.jsontag) = 'svid',(gogoproto.moretags) = 'form:"svid" validate:"required"'];
  182. }
  183. message PlayInfoResponse{
  184. map<int64,PlayInfo> list = 1[(gogoproto.jsontag) = 'list'];
  185. }
  186. message PlayInfo{
  187. int64 svid = 1[(gogoproto.jsontag) = ''];
  188. int64 expire_time = 2[(gogoproto.jsontag) = 'expire_time'];
  189. int64 quality = 3[(gogoproto.jsontag) = 'quality'];
  190. string url = 4[(gogoproto.jsontag) = 'url'];
  191. int64 current_time = 5[(gogoproto.jsontag) = 'current_time'];
  192. repeated FileInfo file_info = 6[(gogoproto.jsontag) = 'file_info'];
  193. repeated int64 support_quality = 7[(gogoproto.jsontag) = 'support_quality'];
  194. }
  195. message FileInfo{
  196. string ahead = 1[(gogoproto.jsontag) = 'ahead'];
  197. int64 filesize = 2[(gogoproto.jsontag) = 'filesize'];
  198. int64 timelength = 3[(gogoproto.jsontag) = 'timelength'];
  199. string vhead = 4[(gogoproto.jsontag) = 'vhead'];
  200. string path = 5[(gogoproto.jsontag) = 'path'];
  201. string url = 6[(gogoproto.jsontag) = 'url'];
  202. string url_bc = 7[(gogoproto.jsontag) = 'url_bc'];
  203. }
  204. service Video{
  205. rpc ImportVideo(ImportVideoInfo) returns(.google.protobuf.Empty);
  206. rpc SyncTag(SyncVideoTagRequest) returns(.google.protobuf.Empty);
  207. rpc SvStatisticsInfo(SvStatisticsInfoReq)returns(SvStatisticsInfoRes);
  208. rpc SyncUserBase(SyncMidRequset) returns(SyncUserBaseResponse);
  209. rpc SyncUserSta(SyncMidRequset) returns(SyncUserBaseResponse);
  210. rpc SyncUserBases(SyncMidsRequset) returns(SyncUserBaseResponse);
  211. rpc SyncUserStas(SyncMidsRequset) returns(SyncUserBaseResponse);
  212. rpc CreateID(CreateIDRequest) returns (CreateIDResponse);
  213. rpc BVCTransCommit(BVideoTransRequset) returns(.google.protobuf.Empty);
  214. rpc ListVideoInfo(ListVideoInfoRequest) returns (ListVideoInfoResponse);
  215. rpc ModifyLimits (ModifyLimitsRequest) returns (ModifyLimitsResponse); // 修改视频的限制,比如弹幕发布权限等
  216. rpc PreUpload(PreUploadRequest) returns (PreUploadResponse);
  217. rpc CallBack(CallBackRequest) returns (.google.protobuf.Empty);
  218. rpc VideoUnshelf(VideoUnshelfRequest) returns (.google.protobuf.Empty);
  219. rpc VideoDelete(VideoDeleteRequest) returns (.google.protobuf.Empty);
  220. rpc ListPrepareVideo(PrepareVideoRequest) returns (PrepareVideoResponse);
  221. rpc HomeImgCreate(HomeImgCreateRequest) returns (.google.protobuf.Empty);
  222. rpc PlayInfo(PlayInfoRequest) returns(PlayInfoResponse);
  223. }