From bea72b89edd11da9611fd1008809234c27b78ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=AF=92=E5=BD=A4?= <70561268+cxw620@users.noreply.github.com> Date: Mon, 27 Feb 2023 17:38:26 +1030 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=B0=E7=9A=84grpc=5Fapi?= =?UTF-8?q?=20proto(from=207.18.0)=20(#625)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 添加新的proto(from 7.18.0) * 修正包路径: playershared * 修正import --- .../interfacess/biligram/v1/biligram.proto | 1 + .../dagw/component/avatar/common/common.proto | 1 + .../dagw/component/avatar/v1/avatar.proto | 1 + .../dynamic/interfaces/campus/v1/api.proto | 1 + .../openplatform/apiserver/v1alpha1/api.proto | 1 + .../pgc/gateway/player/v3/playurl.proto | 32 ++ .../bilibili/playershared/playershared.proto | 426 ++++++++++++++++++ .../polymer/contract/{v1 => }/contract.proto | 2 +- .../bilibili/relation/interfaces/api.proto | 1 + grpc_api/bilibili/render/render.proto | 1 + .../{gaetway => gateway}/vega/v1/vega.proto | 0 11 files changed, 466 insertions(+), 1 deletion(-) create mode 100644 grpc_api/bilibili/community/interfacess/biligram/v1/biligram.proto create mode 100644 grpc_api/bilibili/dagw/component/avatar/common/common.proto create mode 100644 grpc_api/bilibili/dagw/component/avatar/v1/avatar.proto create mode 100644 grpc_api/bilibili/dynamic/interfaces/campus/v1/api.proto create mode 100644 grpc_api/bilibili/pangu/gallery/v1/openplatform/apiserver/v1alpha1/api.proto create mode 100644 grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto create mode 100644 grpc_api/bilibili/playershared/playershared.proto rename grpc_api/bilibili/polymer/contract/{v1 => }/contract.proto (97%) create mode 100644 grpc_api/bilibili/relation/interfaces/api.proto create mode 100644 grpc_api/bilibili/render/render.proto rename grpc_api/pgc/{gaetway => gateway}/vega/v1/vega.proto (100%) diff --git a/grpc_api/bilibili/community/interfacess/biligram/v1/biligram.proto b/grpc_api/bilibili/community/interfacess/biligram/v1/biligram.proto new file mode 100644 index 0000000..0ffdd02 --- /dev/null +++ b/grpc_api/bilibili/community/interfacess/biligram/v1/biligram.proto @@ -0,0 +1 @@ +// TODO \ No newline at end of file diff --git a/grpc_api/bilibili/dagw/component/avatar/common/common.proto b/grpc_api/bilibili/dagw/component/avatar/common/common.proto new file mode 100644 index 0000000..0ffdd02 --- /dev/null +++ b/grpc_api/bilibili/dagw/component/avatar/common/common.proto @@ -0,0 +1 @@ +// TODO \ No newline at end of file diff --git a/grpc_api/bilibili/dagw/component/avatar/v1/avatar.proto b/grpc_api/bilibili/dagw/component/avatar/v1/avatar.proto new file mode 100644 index 0000000..0ffdd02 --- /dev/null +++ b/grpc_api/bilibili/dagw/component/avatar/v1/avatar.proto @@ -0,0 +1 @@ +// TODO \ No newline at end of file diff --git a/grpc_api/bilibili/dynamic/interfaces/campus/v1/api.proto b/grpc_api/bilibili/dynamic/interfaces/campus/v1/api.proto new file mode 100644 index 0000000..0ffdd02 --- /dev/null +++ b/grpc_api/bilibili/dynamic/interfaces/campus/v1/api.proto @@ -0,0 +1 @@ +// TODO \ No newline at end of file diff --git a/grpc_api/bilibili/pangu/gallery/v1/openplatform/apiserver/v1alpha1/api.proto b/grpc_api/bilibili/pangu/gallery/v1/openplatform/apiserver/v1alpha1/api.proto new file mode 100644 index 0000000..0ffdd02 --- /dev/null +++ b/grpc_api/bilibili/pangu/gallery/v1/openplatform/apiserver/v1alpha1/api.proto @@ -0,0 +1 @@ +// TODO \ No newline at end of file diff --git a/grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto b/grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto new file mode 100644 index 0000000..28374f9 --- /dev/null +++ b/grpc_api/bilibili/pgc/gateway/player/v3/playurl.proto @@ -0,0 +1,32 @@ +syntax = "proto3"; + +package bilibili.pgc.gateway.player.v3; + +import "bilibili/playershared/playershared.proto"; + +import "google/protobuf/any.proto"; + +// 播放页信息-请求 +message PlayViewReq { + // 视频信息 + bilibili.playershared.VideoVod vod = 1; + // 当前页spm + string spmid = 2; + // 上一页spm + string from_spmid = 3; + // 青少年模式 + int32 teenagers_mode = 4; + // + map extra_content = 5; + +} + +// 播放页信息-响应 +message PlayViewReply { + bilibili.playershared.VodInfo vod_info = 1; + bilibili.playershared.PlayArcConf play_arc_conf = 2; + google.protobuf.Any supplement = 3; + bilibili.playershared.PlayArc play_arc = 4; + bilibili.playershared.QnTrialInfo qn_trial_info = 5; + bilibili.playershared.Event event = 6; +} \ No newline at end of file diff --git a/grpc_api/bilibili/playershared/playershared.proto b/grpc_api/bilibili/playershared/playershared.proto new file mode 100644 index 0000000..d272b7a --- /dev/null +++ b/grpc_api/bilibili/playershared/playershared.proto @@ -0,0 +1,426 @@ +syntax = "proto3"; + +package bilibili.playershared; + + +message ArcConf { + bool is_support = 1; + bool disable = 2; + ExtraContent extra_connent = 3; + repeated int32 unsupport_scene = 4; +} + +// 视频编码 +enum CodeType { + NOCODE = 0; // + CODE264 = 1; // H264 + CODE265 = 2; // H265 + CODEAV1 = 3; // AV1 +} + +// 功能类型 +enum ConfType { + NoType = 0; + FLIPCONF = 1; + CASTCONF = 2; + FEEDBACK = 3; + SUBTITLE = 4; + PLAYBACKRATE = 5; + TIMEUP = 6; + PLAYBACKMODE = 7; + SCALEMODE = 8; + BACKGROUNDPLAY = 9; + LIKE = 10; + DISLIKE = 11; + COIN = 12; + ELEC = 13; + SHARE = 14; + SCREENSHOT = 15; + LOCKSCREEN = 16; + RECOMMEND = 17; + PLAYBACKSPEED = 18; + DEFINITION = 19; + SELECTIONS = 20; + NEXT = 21; + EDITDM = 22; + SMALLWINDOW = 23; + SHAKE = 24; + OUTERDM = 25; + INNERDM = 26; + PANORAMA = 27; + DOLBY = 28; + COLORFILTER = 29; + LOSSLESS = 30; + FREYAENTER = 31; + FREYAFULLENTER = 32; + SKIPOPED = 33; + RECORDSCREEN = 34; + DUBBING = 35; + LISTEN = 36; +} + +message ConfValue { + oneof value { + // dash流 + int32 switch_val = 1; + // 分段流 + int32 selected_val = 2; + } +} + +message DeviceConf { + ConfValue conf_value = 1; +} + +// DRM类型 +enum DrmTechType { + // + UNKNOWN_DRM = 0; + // + FAIR_PLAY = 1; + // + WIDE_VINE = 2; + // 哔哩哔哩自研DRM + BILI_DRM = 3; +} + +// ? 错误码补充信息 +message ExtraContent { + // + string disable_reason = 1; + // + uint64 disable_code = 2; +} + +// 播放历史 +message History { + // 播放进度 + uint64 progress = 1; + // + string toast = 2; + // + uint64 last_play_cid = 3; +} + +message PlayDeviceConf { + map arc_confs = 1; +} + +// 错误码 +enum PlayErr { + NoErr = 0; // + WithMultiDeviceLoginErr = 1; // 管控类型的错误码 +} + +// 方案 +message Scheme { + enum ActionType { + UNKNOWN = 0; + SHOW_TOAST = 1; + } + ActionType action_type = 1; + string toast = 2; +} + +// +enum UnsupportScene { + // + UNKNOWN_SCENE = 0; + // + PREMIERE = 1; +} + +// 视频类型 +enum VideoType { + UNKNOWN = 0; + // 用户生成内容 + UGC = 1; + // 专业生产内容 + PGC = 2; +} + +// 视频流信息 +message Stream { + // 元数据 + StreamInfo stream_info = 1; + // 流数据 + oneof content { + // dash流 + DashVideo dash_video = 2; + // 分段流 + SegmentVideo segment_video = 3; + } +} + +// 视频流信息: 元数据 +message StreamInfo { + // 清晰度 + uint32 quality = 1; + // 格式 + string format = 2; + // 格式描述 + string description = 3; + // 错误码 + uint32 err_code = 4; + // 不满足条件信息 + StreamLimit limit = 5; + // 是否需要vip + bool need_vip = 6; + // 是否需要登录 + bool need_login = 7; + // 是否完整 + bool intact = 8; + // 是否非全二压 + bool no_rexcode = 9; + // 清晰度属性位 + int64 attribute = 10; + // 新版格式描述 + string new_description = 11; + // 格式文字 + string display_desc = 12; + // 新版格式描述备注 + string superscript = 13; + // + bool vip_free = 14; + // + string subtitle = 15; + // 方案 + Scheme scheme = 16; + // 支持drm + bool support_drm = 17; +} + +// Dash条目 +message DashItem { + // 清晰度 + uint32 id = 1; + // 主线流 + string base_url = 2; + // 备用流 + repeated string backup_url = 3; + // 带宽 + uint32 bandwidth = 4; + // 编码id + uint32 codecid = 5; + // md5 + string md5 = 6; + // 大小 + uint64 size = 7; + // 帧率 + string frame_rate = 8; + // DRM密钥 + string widevine_pssh = 9; +} + +// 视频流信息: dash流 +message DashVideo { + // 主线流 + string base_url = 1; + // 备用流 + repeated string backup_url = 2; + // 带宽 + uint32 bandwidth = 3; + // 编码id + uint32 codecid = 4; + // md5 + string md5 = 5; + // 大小 + uint64 size = 6; + // 伴音质量id + uint32 audio_id = 7; + // 是否非全二压 + bool no_rexcode = 8; + // 帧率 + string frame_rate = 9; + // 宽 + int32 width = 10; + // 高 + int32 height = 11; + // DRM密钥 + string widevine_pssh = 12; +} + +// 视频流信息: 分段流 +message SegmentVideo { + repeated ResponseUrl segment = 1; +} + +// 分段流条目 +message ResponseUrl { + // 分段序号 + uint32 order = 1; + // 分段时长 + uint64 length = 2; + // 分段大小 + uint64 size = 3; + // 主线流 + string url = 4; + // 备用流 + repeated string backup_url = 5; + // md5 + string md5 = 6; +} + +// Dash Response, 未使用 +message ResponseDash { + repeated DashItem video = 1; + repeated DashItem audio = 2; +} + +// 视频流信息: 流媒体元数据: 清晰度不满足条件信息 +message StreamLimit { + // 标题 + string title = 1; + // 跳转地址 + string uri = 2; + // 提示信息 + string msg = 3; +} + + +// 播放页信息-请求: 音视频VOD +message VideoVod { + // 视频aid + int32 aid = 1; + // 视频cid + int32 cid = 2; + // 清晰度 + uint64 qn = 3; + // 视频流版本 + int32 fnver = 4; + // 视频流格式 + int32 fnval = 5; + // 下载模式 + // 0:播放 1:flv下载 2:dash下载 + uint32 download = 6; + // 流url强制是用域名 + // 0:允许使用ip 1:使用http 2:使用https + int32 force_host = 7; + // 是否4K + bool fourk = 8; + // 视频编码 + CodeType prefer_codec_type = 9; + // 响度均衡 + uint64 voice_balance = 10; +} + +// 播放页信息-响应: VOD音视频信息 +message VodInfo { + // 视频清晰度 + uint32 quality = 1; + // 视频格式 + string format = 2; + // 视频时长 + uint64 timelength = 3; + // 视频编码id + uint32 video_codecid = 4; + // 视频流 + repeated Stream stream_list = 5; + // 伴音流 + repeated DashItem dash_audio = 6; + // 杜比伴音流 + DolbyItem dolby = 7; + // 响度均衡操作信息 + VolumeInfo volume = 8; + // HIRES伴音流信息 + LossLessItem loss_less_item = 9; +} + +// 杜比伴音流信息 +message DolbyItem { + // 杜比类型 + enum Type { + NONE = 0; // NONE + COMMON = 1; // 普通杜比音效 + ATMOS = 2; // 全景杜比音效 + } + // 杜比类型 + Type type = 1; + // 音频流 + DashItem audio = 2; +} + +// HIRES伴音流信息 +message LossLessItem { + // 是否为hires + bool is_lossless_audio = 1; + // 音频流信息 + DashItem audio = 2; + // 是否需要大会员 + bool need_vip = 3; +} + +// 响度均衡操作信息 +message VolumeInfo { + // Measured integrated loudness 实际综合响度 + double measured_i = 1; + // Measured loudness range 实际响度范围 + double measured_lra = 2; + // Measured true peak 实际响度真峰值 + double measured_tp = 3; + // Measured threshold 实际响度阈值 + double measured_threshold = 4; + // Target offset gain(Gain is applied before the true-peak limiter) 目标增益Offset(增益在真实峰值限制器之前应用) + double target_offset = 5; + // Target integrated loudness 目标综合响度 + double target_i = 6; + // Target true peak 目标响度真峰值 + double target_tp = 7; +} + +// +message PlayArc { + VideoType video_type = 1; + uint64 aid = 2; + uint64 cid = 3; + DrmTechType drm_tech_type = 4; +} + +// 播放页信息-响应: PlayArcConf +message PlayArcConf { + map arc_confs = 1; +} + +// 高画质试看信息: 按钮 +message QnTrialButton { + string text = 1; + string link = 2; +} + +// 播放页信息-响应: 高画质试看信息 +message QnTrialInfo { + // 能否试看高画质 + bool trial_able = 1; + // + int32 remaining_times = 2; + // + int32 start = 3; + // + int32 time_length = 4; + // + QnTrialToast start_toast = 5; + // + QnTrialToast end_toast = 6; + // + QnTrialButton quality_open_tip_btn = 8; +} + +// 高画质试看信息: Toast信息 +message QnTrialToast { + // toast文案 老字段 + string text = 1; + // toast按钮 + QnTrialButton button = 2; +} + +// 事件 +message Event { + // 震动 + Shake shake = 1; +} + +// 震动 +message Shake { + // + string file = 1; +} diff --git a/grpc_api/bilibili/polymer/contract/v1/contract.proto b/grpc_api/bilibili/polymer/contract/contract.proto similarity index 97% rename from grpc_api/bilibili/polymer/contract/v1/contract.proto rename to grpc_api/bilibili/polymer/contract/contract.proto index 0b04e90..a6d4520 100644 --- a/grpc_api/bilibili/polymer/contract/v1/contract.proto +++ b/grpc_api/bilibili/polymer/contract/contract.proto @@ -1,6 +1,6 @@ syntax = "proto3"; -package bilibili.polymer.contract.v1; +package bilibili.polymer.contract; import "google/protobuf/empty.proto"; diff --git a/grpc_api/bilibili/relation/interfaces/api.proto b/grpc_api/bilibili/relation/interfaces/api.proto new file mode 100644 index 0000000..0ffdd02 --- /dev/null +++ b/grpc_api/bilibili/relation/interfaces/api.proto @@ -0,0 +1 @@ +// TODO \ No newline at end of file diff --git a/grpc_api/bilibili/render/render.proto b/grpc_api/bilibili/render/render.proto new file mode 100644 index 0000000..0ffdd02 --- /dev/null +++ b/grpc_api/bilibili/render/render.proto @@ -0,0 +1 @@ +// TODO \ No newline at end of file diff --git a/grpc_api/pgc/gaetway/vega/v1/vega.proto b/grpc_api/pgc/gateway/vega/v1/vega.proto similarity index 100% rename from grpc_api/pgc/gaetway/vega/v1/vega.proto rename to grpc_api/pgc/gateway/vega/v1/vega.proto