bilibili-API-collect/grpc_api/bilibili/playershared/playershared.proto
陈寒彤 bea72b89ed
添加新的grpc_api proto(from 7.18.0) (#625)
* 添加新的proto(from 7.18.0)

* 修正包路径: playershared

* 修正import
2023-02-27 15:08:26 +08:00

427 lines
8.1 KiB
Protocol Buffer

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<int32, DeviceConf> 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<int32, PlayArc> 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;
}