更新并修改大量【proto定义】
This commit is contained in:
262
grpc_api/bilibili/pgc/gateway/player/v1/playurl.proto
Normal file
262
grpc_api/bilibili/pgc/gateway/player/v1/playurl.proto
Normal file
@@ -0,0 +1,262 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package bilibili.pgc.gateway.player.v1;
|
||||
|
||||
import "bilibili/app/playurl/v1/playurl.proto";
|
||||
|
||||
// PlayURL 播放地址
|
||||
service PlayURL {
|
||||
// 播放页信息
|
||||
rpc PlayView (PlayViewReq) returns (PlayViewReply);
|
||||
// 获取投屏地址
|
||||
rpc Project (ProjectReq) returns (ProjectReply);
|
||||
// 直播播放页信息
|
||||
rpc LivePlayView (LivePlayViewReq) returns (LivePlayViewReply);
|
||||
}
|
||||
|
||||
// 播放页信息-请求
|
||||
message PlayViewReq {
|
||||
// 剧集epid
|
||||
int64 epid = 1;
|
||||
// 视频cid
|
||||
int64 cid = 2;
|
||||
// 清晰度
|
||||
int64 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;
|
||||
// 当前页spm
|
||||
string spmid = 9;
|
||||
// 上一页spm
|
||||
string from_spmid = 10;
|
||||
// 青少年模式
|
||||
int32 teenagers_mode = 11;
|
||||
// 视频编码
|
||||
bilibili.app.playurl.v1.CodeType prefer_codec_type = 12;
|
||||
// 是否强制请求预览视频
|
||||
bool is_preview = 13;
|
||||
// 一起看房间id
|
||||
int64 room_id = 14;
|
||||
}
|
||||
|
||||
// 投屏地址-请求
|
||||
message ProjectReq {
|
||||
// 剧集epid
|
||||
int64 ep_id = 1;
|
||||
// 视频cid
|
||||
int64 cid = 2;
|
||||
// 清晰度
|
||||
int64 qn = 3;
|
||||
// 视频流版本
|
||||
int32 fnver = 4;
|
||||
// 视频流格式
|
||||
int32 fnval = 5;
|
||||
// 下载模式
|
||||
// 0:播放 1:flv下载 2:dash下载
|
||||
uint32 download = 6;
|
||||
// 流url强制是用域名
|
||||
// 0:允许使用ip 1:使用http 2:使用https
|
||||
int32 forceHost = 7;
|
||||
// 是否4K
|
||||
bool fourk = 8;
|
||||
// 当前页spm
|
||||
string spmid = 9;
|
||||
// 上一页spm
|
||||
string fromSpmid = 10;
|
||||
// 使用协议
|
||||
// 0:默认乐播 1:自建协议 2:云投屏 3:airplay
|
||||
int32 protocol = 11;
|
||||
// 投屏设备
|
||||
// 0:默认其他 1:OTT设备
|
||||
int32 device_type = 12;
|
||||
}
|
||||
|
||||
// 播放页信息-响应
|
||||
message PlayViewReply {
|
||||
// 视频流信息
|
||||
bilibili.app.playurl.v1.VideoInfo video_info = 1;
|
||||
// 播放控件用户自定义配置
|
||||
PlayAbilityConf play_conf = 2;
|
||||
// 业务需要的其他信息
|
||||
BusinessInfo business = 3;
|
||||
// 事件
|
||||
Event event = 4;
|
||||
}
|
||||
|
||||
// 事件
|
||||
message Event {
|
||||
// 震动
|
||||
Shake shake = 1;
|
||||
}
|
||||
|
||||
// 震动
|
||||
message Shake {
|
||||
// 文件地址
|
||||
string file = 1;
|
||||
}
|
||||
|
||||
// 其他业务信息
|
||||
message BusinessInfo {
|
||||
// 当前视频是否是预览
|
||||
bool is_preview = 1;
|
||||
// 用户是否承包过
|
||||
bool bp = 2;
|
||||
// drm使用
|
||||
string marlin_token = 3;
|
||||
}
|
||||
|
||||
// 禁用功能配置
|
||||
message PlayAbilityConf {
|
||||
bool background_play_disable = 1; // 后台播放
|
||||
bool flip_disable = 2; // 镜像反转
|
||||
bool cast_disable = 3; // 投屏
|
||||
bool feedback_disable = 4; // 反馈
|
||||
bool subtitle_disable = 5; // 字幕
|
||||
bool playback_rate_disable = 6; // 播放速度
|
||||
bool time_up_disable = 7; // 定时停止
|
||||
bool playback_mode_disable = 8; // 播放方式
|
||||
bool scale_mode_disable = 9; // 画面尺寸
|
||||
bool like_disable = 10; // 赞
|
||||
bool dislike_disable = 11; // 踩
|
||||
bool coin_disable = 12; // 投币
|
||||
bool elec_disable = 13; // 充电
|
||||
bool share_disable = 14; // 分享
|
||||
bool screen_shot_disable = 15; // 截图
|
||||
bool lock_screen_disable = 16; // 锁定
|
||||
bool recommend_disable = 17; // 相关推荐
|
||||
bool playback_speed_disable = 18; // 播放速度
|
||||
bool definition_disable = 19; // 清晰度
|
||||
bool selections_disable = 20; // 选集
|
||||
bool next_disable = 21; // 下一集
|
||||
bool edit_dm_disable = 22; // 编辑弹幕
|
||||
bool small_window_disable = 23; // 小窗
|
||||
bool shake_disable = 24; // 震动
|
||||
bool outer_dm_disable = 25; // 外层面板弹幕设置
|
||||
bool inner_dm_disable = 26; // 三点内弹幕设置
|
||||
bool freya_enter_disable = 27; // 一起看入口
|
||||
bool dolby_disable = 28; // 杜比音效
|
||||
bool freya_full_disable = 29; // 全屏一起看入口
|
||||
}
|
||||
|
||||
// 投屏地址-响应
|
||||
message ProjectReply {
|
||||
bilibili.app.playurl.v1.PlayURLReply project = 1;
|
||||
}
|
||||
|
||||
// 直播播放页信息-请求
|
||||
message LivePlayViewReq {
|
||||
// 剧集epid
|
||||
int64 ep_id = 1;
|
||||
// 清晰度
|
||||
// 0,10000:原画 400:蓝光 250:超清 150:高清 80:流畅
|
||||
uint32 quality = 2;
|
||||
// 类型
|
||||
// 0:音频 2:hevc 4:dash 8:p2p, 16:蒙版
|
||||
uint32 ptype = 3;
|
||||
// 是否请求https
|
||||
bool https = 4;
|
||||
// 0:默认直播间播放 1:投屏播放
|
||||
uint32 play_type = 5;
|
||||
// 投屏设备
|
||||
// 0:默认其他 1:OTT设备
|
||||
int32 device_type = 6;
|
||||
}
|
||||
|
||||
// 直播播放页信息-响应
|
||||
message LivePlayViewReply {
|
||||
// 房间信息
|
||||
RoomInfo room_info = 1;
|
||||
// 播放信息
|
||||
LivePlayInfo play_info = 2;
|
||||
}
|
||||
|
||||
// 房间信息
|
||||
message RoomInfo {
|
||||
// 房间长号
|
||||
int64 room_id = 1;
|
||||
// 主播mid
|
||||
int64 uid = 2;
|
||||
// 状态相关
|
||||
RoomStatusInfo status = 3;
|
||||
// 展示相关
|
||||
RoomShowInfo show = 4;
|
||||
}
|
||||
|
||||
// 房间信息-状态相关
|
||||
message RoomStatusInfo {
|
||||
// 直播间状态
|
||||
// 0:未开播 1:直播中 2:轮播中
|
||||
int64 live_status = 1;
|
||||
// 横竖屏方向
|
||||
// 0:横屏 1:竖屏
|
||||
int64 live_screen_type = 2;
|
||||
// 是否开播过标识
|
||||
int64 live_mark = 3;
|
||||
// 封禁状态
|
||||
// 0:未封禁 1:审核封禁 2:全网封禁
|
||||
int64 lock_status = 4;
|
||||
// 封禁时间戳
|
||||
int64 lock_time = 5;
|
||||
// 隐藏状态
|
||||
// 0:不隐藏 1:隐藏
|
||||
int64 hidden_status = 6;
|
||||
// 隐藏时间戳
|
||||
int64 hidden_time = 7;
|
||||
// 直播类型
|
||||
// 0:默认 1:摄像头直播 2;录屏直播 3:语音直播
|
||||
int64 live_type = 8;
|
||||
//
|
||||
int64 room_shield = 9;
|
||||
}
|
||||
|
||||
// 房间信息-展示相关
|
||||
message RoomShowInfo {
|
||||
// 短号
|
||||
int64 short_id = 1;
|
||||
// 人气值
|
||||
int64 popularity_count = 8;
|
||||
// 最近一次开播时间戳
|
||||
int64 live_start_time = 10;
|
||||
}
|
||||
|
||||
// 播放信息
|
||||
message LivePlayInfo {
|
||||
//
|
||||
int32 current_qn = 1;
|
||||
//
|
||||
repeated QualityDescription quality_description = 2;
|
||||
//
|
||||
repeated ResponseDataUrl durl = 3;
|
||||
}
|
||||
|
||||
//
|
||||
message QualityDescription {
|
||||
//
|
||||
int32 qn = 1;
|
||||
//
|
||||
string desc = 2;
|
||||
}
|
||||
|
||||
//
|
||||
message ResponseDataUrl {
|
||||
string url = 1;
|
||||
// 表示stream类型,按位表示
|
||||
// Value| 1 | 1 | 1 | 1 | 1
|
||||
// --------------------------------------------
|
||||
// desc | mask | p2p | dash | hevc | only-audio
|
||||
uint32 stream_type = 2;
|
||||
// 表示支持p2p的cdn厂商,按位表示
|
||||
// 值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1
|
||||
// -----------------------------------------------
|
||||
// CDN | hw | bdy | bsy | ws | txy | qn | js | bvc
|
||||
uint32 ptag = 3;
|
||||
}
|
||||
@@ -1,616 +0,0 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package bilibili.pgc.gateway.player.v2;
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
//播放url
|
||||
service PlayURL {
|
||||
//获取播放url
|
||||
//https://app.bilibili.com/bilibili.pgc.gateway.player.v2.PlayURL/PlayView
|
||||
rpc PlayView (PlayViewReq) returns (PlayViewReply);
|
||||
}
|
||||
|
||||
//获取播放url-请求
|
||||
message PlayViewReq{
|
||||
//目标剧集epid
|
||||
int64 epid = 1;
|
||||
|
||||
//目标视频cid
|
||||
int64 cid = 2;
|
||||
|
||||
//清晰度
|
||||
int64 qn = 3;
|
||||
|
||||
//视频流版本
|
||||
int32 fnver = 4;
|
||||
|
||||
//视频流功能
|
||||
int32 fnval = 5;
|
||||
|
||||
//下载模式
|
||||
//0:播放 1:flv下载 2:dash下载
|
||||
uint32 download = 6;
|
||||
|
||||
//
|
||||
int32 forceHost = 7;
|
||||
|
||||
//是否允许4K
|
||||
bool fourk = 8;
|
||||
|
||||
//
|
||||
string spmid = 9;
|
||||
|
||||
//
|
||||
string fromSpmid = 10;
|
||||
|
||||
//
|
||||
int32 teenagersMode = 11;
|
||||
|
||||
//编码类型
|
||||
CodeType codetype = 12;
|
||||
|
||||
//
|
||||
bool isPreview = 13;
|
||||
|
||||
//
|
||||
int64 roomId = 14;
|
||||
|
||||
//
|
||||
bool isNeedViewInfo = 15;
|
||||
}
|
||||
|
||||
//获取播放url-回复
|
||||
message PlayViewReply{
|
||||
//视频流信息
|
||||
VideoInfo info = 1;
|
||||
|
||||
//用户播放界面配置
|
||||
PlayAbilityConf PlayConf = 2;
|
||||
|
||||
//
|
||||
PlayViewBusinessInfo Business = 3;
|
||||
|
||||
//
|
||||
Event event = 4;
|
||||
|
||||
//
|
||||
ViewInfo viewInfo = 5;
|
||||
}
|
||||
|
||||
//编码类型
|
||||
enum CodeType {
|
||||
//默认
|
||||
NOCODE = 0;
|
||||
|
||||
//H.264
|
||||
CODE264 = 1;
|
||||
|
||||
//H.265
|
||||
CODE265 = 2;
|
||||
}
|
||||
|
||||
//不满足条件信息
|
||||
message Limit {
|
||||
//
|
||||
string title = 1;
|
||||
|
||||
//
|
||||
string uri = 2;
|
||||
|
||||
//
|
||||
string msg = 3;
|
||||
}
|
||||
|
||||
//流媒体元数据
|
||||
message streamInfo {
|
||||
//清晰度 qn
|
||||
uint32 quality = 1;
|
||||
|
||||
//格式
|
||||
string format = 2;
|
||||
|
||||
//格式描述
|
||||
string description = 3;
|
||||
|
||||
//错误码
|
||||
uint32 errCode = 4;
|
||||
|
||||
//不满足条件信息
|
||||
Limit limit = 5;
|
||||
|
||||
//是否需要vip
|
||||
bool needVip = 6;
|
||||
|
||||
//是否需要登录
|
||||
bool needLogin = 7;
|
||||
|
||||
//是否完整
|
||||
bool intact = 8;
|
||||
|
||||
//是否非全二压
|
||||
bool noRexcode = 9;
|
||||
|
||||
//
|
||||
int64 attribute = 10;
|
||||
|
||||
//新版格式描述
|
||||
string newDescription = 11;
|
||||
|
||||
//格式文字
|
||||
string displayDesc = 12;
|
||||
|
||||
//新版格式描述备注
|
||||
string superscript = 13;
|
||||
}
|
||||
|
||||
//dash视频流
|
||||
message DashVideo {
|
||||
//主线流
|
||||
string baseUrl = 1;
|
||||
|
||||
//备用流
|
||||
repeated string backupUrl = 2;
|
||||
|
||||
//带宽
|
||||
uint32 bandwidth = 3;
|
||||
|
||||
//
|
||||
uint32 codecid = 4;
|
||||
|
||||
//md5
|
||||
string md5 = 5;
|
||||
|
||||
//大小
|
||||
uint64 size = 6;
|
||||
|
||||
//
|
||||
uint32 audioId = 7;
|
||||
|
||||
//是否非全二压
|
||||
bool noRexcode = 8;
|
||||
}
|
||||
|
||||
//分段流条目
|
||||
message ResponseUrl {
|
||||
//分段序号
|
||||
uint32 order = 1;
|
||||
|
||||
//分段时长
|
||||
uint64 length = 2;
|
||||
|
||||
//分段大小
|
||||
uint64 size = 3;
|
||||
|
||||
//主线流
|
||||
string url = 4;
|
||||
|
||||
//备用流
|
||||
repeated string backupUrl = 5;
|
||||
|
||||
//md5
|
||||
string md5 = 6;
|
||||
}
|
||||
|
||||
//分段视频流
|
||||
message SegmentVideo {
|
||||
//分段视频流列表
|
||||
repeated ResponseUrl segment = 1;
|
||||
}
|
||||
|
||||
//视频流信息
|
||||
message stream {
|
||||
//元数据
|
||||
streamInfo info = 1;
|
||||
|
||||
//dash流
|
||||
DashVideo dashvideo = 2;
|
||||
|
||||
//分段流
|
||||
SegmentVideo segmentvideo = 3;
|
||||
}
|
||||
|
||||
//dash音频流
|
||||
message DashAudio {
|
||||
//音质id
|
||||
uint32 id = 1;
|
||||
|
||||
//主线流
|
||||
string baseUrl = 2;
|
||||
|
||||
//备用流
|
||||
repeated string backupUrl = 3;
|
||||
|
||||
//带宽
|
||||
uint32 bandwidth = 4;
|
||||
|
||||
//
|
||||
uint32 codecid = 5;
|
||||
|
||||
//md5
|
||||
string md5 = 6;
|
||||
|
||||
//大小
|
||||
uint64 size = 7;
|
||||
}
|
||||
|
||||
//杜比音频信息
|
||||
message DolbyItem {
|
||||
//
|
||||
int32 type = 1;
|
||||
|
||||
//音频流
|
||||
DashAudio audio = 2;
|
||||
}
|
||||
|
||||
//视频url信息
|
||||
message VideoInfo {
|
||||
//视频清晰度
|
||||
uint32 quality = 1;
|
||||
|
||||
//视频格式
|
||||
string format = 2;
|
||||
|
||||
//视频时长
|
||||
uint64 timelength = 3;
|
||||
|
||||
//
|
||||
uint32 videoCodecid = 4;
|
||||
|
||||
//视频流
|
||||
repeated stream streamList = 5;
|
||||
|
||||
//伴音流
|
||||
repeated DashAudio audio = 6;
|
||||
|
||||
//杜比伴音流
|
||||
DolbyItem dolby = 7;
|
||||
}
|
||||
|
||||
//禁用功能配置
|
||||
message PlayAbilityConf{
|
||||
//后台播放
|
||||
bool backgroundPlayDisable = 1;
|
||||
|
||||
//镜像反转
|
||||
bool flipDisable = 2;
|
||||
|
||||
//投屏
|
||||
bool castDisable = 3;
|
||||
|
||||
//反馈
|
||||
bool feedbackDisable = 4;
|
||||
|
||||
//字幕
|
||||
bool subtitleDisable = 5;
|
||||
|
||||
//播放速度
|
||||
bool playbackRateDisable = 6;
|
||||
|
||||
//定时停止
|
||||
bool timeUpDisable = 7;
|
||||
|
||||
//播放方式
|
||||
bool playbackModeDisable = 8;
|
||||
|
||||
//画面尺寸
|
||||
bool scaleModeDisable = 9;
|
||||
|
||||
//赞
|
||||
bool likeDisable = 10;
|
||||
|
||||
//踩
|
||||
bool dislikeDisable = 11;
|
||||
|
||||
//投币
|
||||
bool coinDisable = 12;
|
||||
|
||||
//充电
|
||||
bool elecDisable = 13;
|
||||
|
||||
//分享
|
||||
bool shareDisable = 14;
|
||||
|
||||
//截图
|
||||
bool screenShotDisable = 15;
|
||||
|
||||
//锁定
|
||||
bool lockScreenDisable = 16;
|
||||
|
||||
//相关推荐
|
||||
bool recommendDisable = 17;
|
||||
|
||||
//播放速度
|
||||
bool playbackSpeedDisable = 18;
|
||||
|
||||
//清晰度
|
||||
bool definitionDisable = 19;
|
||||
|
||||
//选集
|
||||
bool selectionsDisable = 20;
|
||||
|
||||
//下一集
|
||||
bool nextDisable = 21;
|
||||
|
||||
//编辑弹幕
|
||||
bool editDmDisable = 22;
|
||||
|
||||
//小窗
|
||||
bool smallWindowDisable = 23;
|
||||
|
||||
//震动
|
||||
bool shakeDisable = 24;
|
||||
|
||||
//
|
||||
bool outerDmDisable = 25;
|
||||
|
||||
//
|
||||
bool innerDmDisable = 26;
|
||||
|
||||
//
|
||||
bool freyaEnterDisable = 27;
|
||||
|
||||
//杜比音效
|
||||
bool dolbyDisable = 28;
|
||||
}
|
||||
|
||||
//
|
||||
message PlayViewBusinessInfo {
|
||||
//
|
||||
bool isPreview = 1;
|
||||
|
||||
//
|
||||
bool bp = 2;
|
||||
|
||||
//
|
||||
string marlinToken = 3;
|
||||
}
|
||||
|
||||
//
|
||||
message Shake {
|
||||
//
|
||||
string file = 1;
|
||||
}
|
||||
|
||||
//
|
||||
message Event {
|
||||
//
|
||||
Shake shake = 1;
|
||||
}
|
||||
|
||||
//
|
||||
message Report {
|
||||
//
|
||||
string showEventId = 1;
|
||||
|
||||
//
|
||||
string clickEventId = 2;
|
||||
|
||||
//
|
||||
string extends = 3;
|
||||
}
|
||||
|
||||
//
|
||||
message BadgeInfo {
|
||||
//
|
||||
string text = 1;
|
||||
|
||||
//
|
||||
string bgColor = 2;
|
||||
|
||||
//
|
||||
string bgColorNight = 3;
|
||||
}
|
||||
|
||||
//
|
||||
message ButtonInfo {
|
||||
//
|
||||
string text = 1;
|
||||
|
||||
//
|
||||
string textColor = 2;
|
||||
|
||||
//
|
||||
string textColorNight = 3;
|
||||
|
||||
//
|
||||
string bgColor = 4;
|
||||
|
||||
//
|
||||
string bgColorNight = 5;
|
||||
|
||||
//
|
||||
string link = 6;
|
||||
|
||||
//
|
||||
string actionType = 7;
|
||||
|
||||
//
|
||||
BadgeInfo badgeInfo = 8;
|
||||
|
||||
//
|
||||
Report report = 9;
|
||||
}
|
||||
|
||||
//
|
||||
message DialogConfig {
|
||||
//
|
||||
bool isShowCover = 1;
|
||||
|
||||
//
|
||||
bool isOrientationEnable = 2;
|
||||
|
||||
//
|
||||
bool isNestedScrollEnable = 3;
|
||||
|
||||
//
|
||||
bool isForceHalfscreenEnable = 4;
|
||||
}
|
||||
|
||||
//
|
||||
message TextInfo {
|
||||
//
|
||||
string text = 1;
|
||||
|
||||
//
|
||||
string textColor = 2;
|
||||
|
||||
//
|
||||
string textColorNight = 3;
|
||||
}
|
||||
|
||||
//
|
||||
message ImageInfo {
|
||||
//
|
||||
string url = 1;
|
||||
}
|
||||
|
||||
//
|
||||
message Dialog {
|
||||
//
|
||||
int64 code = 1;
|
||||
|
||||
//
|
||||
string msg = 2;
|
||||
|
||||
//
|
||||
string type = 3;
|
||||
|
||||
//
|
||||
string styleType = 4;
|
||||
|
||||
//
|
||||
DialogConfig config = 5;
|
||||
|
||||
//
|
||||
TextInfo title = 6;
|
||||
|
||||
//
|
||||
TextInfo subtitle = 7;
|
||||
|
||||
//
|
||||
ImageInfo image = 8;
|
||||
|
||||
//
|
||||
repeated ButtonInfo button = 9;
|
||||
|
||||
//
|
||||
ButtonInfo bottomDesc = 10;
|
||||
|
||||
//
|
||||
Report report = 11;
|
||||
|
||||
//
|
||||
int32 countDownSec = 12;
|
||||
}
|
||||
|
||||
//
|
||||
message Toast {
|
||||
//
|
||||
string text = 1;
|
||||
|
||||
//
|
||||
ButtonInfo button = 2;
|
||||
}
|
||||
|
||||
//
|
||||
message CouponTextInfo {
|
||||
//
|
||||
string positivePreview = 1;
|
||||
|
||||
//
|
||||
string section = 2;
|
||||
}
|
||||
|
||||
//
|
||||
message CouponToast {
|
||||
//
|
||||
CouponTextInfo textInfo = 1;
|
||||
|
||||
//
|
||||
ButtonInfo button = 2;
|
||||
}
|
||||
|
||||
//
|
||||
message Coupon {
|
||||
//
|
||||
string couponToken = 1;
|
||||
|
||||
//
|
||||
int64 type = 2;
|
||||
|
||||
//
|
||||
string value = 3;
|
||||
|
||||
//
|
||||
string useDesc = 4;
|
||||
|
||||
//
|
||||
string title = 5;
|
||||
|
||||
//
|
||||
string desc = 6;
|
||||
|
||||
//
|
||||
string payButtonText = 7;
|
||||
|
||||
//
|
||||
string payButtonTextLineThrough = 8;
|
||||
|
||||
//
|
||||
string realAmount = 9;
|
||||
|
||||
//
|
||||
google.protobuf.Timestamp expireTime = 10;
|
||||
}
|
||||
|
||||
//
|
||||
message PopWin {
|
||||
//
|
||||
string title = 1;
|
||||
|
||||
//
|
||||
repeated Coupon coupon = 2;
|
||||
|
||||
//
|
||||
repeated ButtonInfo button = 3;
|
||||
|
||||
//
|
||||
string bottomText = 4;
|
||||
}
|
||||
|
||||
//
|
||||
message CouponInfo {
|
||||
//
|
||||
CouponToast toast = 1;
|
||||
|
||||
//
|
||||
PopWin popWin = 2;
|
||||
}
|
||||
|
||||
//
|
||||
message EndPage {
|
||||
//
|
||||
Dialog dialog = 1;
|
||||
|
||||
//
|
||||
bool hide = 2;
|
||||
}
|
||||
|
||||
//
|
||||
message ViewInfo {
|
||||
//
|
||||
Dialog dialog = 1;
|
||||
|
||||
//
|
||||
Toast toast = 2;
|
||||
|
||||
//
|
||||
CouponInfo couponInfo = 3;
|
||||
|
||||
//
|
||||
repeated int64 demandNoPayEpids = 4;
|
||||
|
||||
//
|
||||
EndPage endPage = 5;
|
||||
}
|
||||
520
grpc_api/bilibili/pgc/gateway/player/v2/playurl.proto
Normal file
520
grpc_api/bilibili/pgc/gateway/player/v2/playurl.proto
Normal file
@@ -0,0 +1,520 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package bilibili.pgc.gateway.player.v2;
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
// 视频url
|
||||
service PlayURL {
|
||||
// 播放页信息
|
||||
rpc PlayView (PlayViewReq) returns (PlayViewReply);
|
||||
}
|
||||
|
||||
// 编码类型
|
||||
enum CodeType {
|
||||
NOCODE = 0; // 默认
|
||||
CODE264 = 1; // H.264
|
||||
CODE265 = 2; // H.265
|
||||
}
|
||||
|
||||
// 错误码
|
||||
enum PlayErr {
|
||||
NoErr = 0; //
|
||||
WithMultiDeviceLoginErr = 1; // 管控类型的错误码
|
||||
}
|
||||
|
||||
// 清晰度不满足条件信息
|
||||
message StreamLimit {
|
||||
// 标题
|
||||
string title = 1;
|
||||
// 跳转地址
|
||||
string uri = 2;
|
||||
// 提示信息
|
||||
string msg = 3;
|
||||
}
|
||||
|
||||
// 播放页信息-请求
|
||||
message PlayViewReq {
|
||||
// 剧集epid
|
||||
int64 epid = 1;
|
||||
// 视频cid
|
||||
int64 cid = 2;
|
||||
// 清晰度
|
||||
int64 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;
|
||||
// 当前页spm
|
||||
string spmid = 9;
|
||||
// 上一页spm
|
||||
string from_spmid = 10;
|
||||
// 青少年模式
|
||||
int32 teenagers_mode = 11;
|
||||
// 视频编码
|
||||
CodeType prefer_codec_type = 12;
|
||||
// 是否强制请求预览视频
|
||||
bool is_preview = 13;
|
||||
// 一起看房间id
|
||||
int64 room_id = 14;
|
||||
// 是否需要展示信息
|
||||
bool is_need_view_info = 15;
|
||||
// 场景控制
|
||||
SceneControl scene_control = 16;
|
||||
}
|
||||
|
||||
// 场景控制
|
||||
message SceneControl {
|
||||
// 是否收藏播单
|
||||
bool fav_playlist = 1;
|
||||
// 是否小窗
|
||||
bool small_window = 2;
|
||||
// 是否画中画
|
||||
bool pip = 3;
|
||||
}
|
||||
|
||||
// 播放页信息-响应
|
||||
message PlayViewReply {
|
||||
// 视频流信息
|
||||
VideoInfo video_info = 1;
|
||||
// 播放控件用户自定义配置
|
||||
PlayAbilityConf play_conf = 2;
|
||||
// 业务需要的其他信息
|
||||
PlayViewBusinessInfo business = 3;
|
||||
// 事件
|
||||
Event event = 4;
|
||||
// 展示信息
|
||||
ViewInfo view_info = 5;
|
||||
// 自定义配置扩展信息
|
||||
PlayAbilityExtConf play_ext_conf = 6;
|
||||
}
|
||||
|
||||
// 展示信息
|
||||
message ViewInfo {
|
||||
// 鉴权浮层
|
||||
Dialog dialog = 1;
|
||||
// toast
|
||||
Toast toast = 2;
|
||||
// 优惠券信息
|
||||
CouponInfo coupon_info = 3;
|
||||
// 未购买的超前点播ep列表
|
||||
repeated int64 demand_no_pay_epids = 4;
|
||||
// 播放结束页
|
||||
EndPage end_page = 5;
|
||||
//
|
||||
map<string, bool> exp_config = 6;
|
||||
// 弹窗
|
||||
PopWin pop_win = 7;
|
||||
}
|
||||
|
||||
// 播放结束页
|
||||
message EndPage {
|
||||
// 鉴权浮层
|
||||
Dialog dialog = 1;
|
||||
// 播放完后是否隐藏end_page
|
||||
bool hide = 2;
|
||||
}
|
||||
|
||||
// toast
|
||||
message Toast {
|
||||
// toast文案 老字段
|
||||
string text = 1;
|
||||
// toast按钮
|
||||
ButtonInfo button = 2;
|
||||
// 显示样式类型
|
||||
int32 show_style_type = 3;
|
||||
// 图标
|
||||
string icon = 4;
|
||||
// toast文案 新字段
|
||||
TextInfo toast_text = 5;
|
||||
// 埋点上报信息
|
||||
Report report = 6;
|
||||
}
|
||||
|
||||
// 鉴权浮层
|
||||
message Dialog {
|
||||
// 鉴权限制码
|
||||
int64 code = 1;
|
||||
// 鉴权限制信息
|
||||
string msg = 2;
|
||||
// 浮层类型
|
||||
string type = 3;
|
||||
// 浮层样式类型
|
||||
string style_type = 4;
|
||||
// 浮层配置
|
||||
DialogConfig config = 5;
|
||||
// 标题
|
||||
TextInfo title = 6;
|
||||
// 副标题
|
||||
TextInfo subtitle = 7;
|
||||
// 图片信息
|
||||
ImageInfo image = 8;
|
||||
// 按钮列表
|
||||
repeated ButtonInfo button = 9;
|
||||
// 底部描述
|
||||
ButtonInfo bottom_desc = 10;
|
||||
// 埋点上报信息
|
||||
Report report = 11;
|
||||
// 倒计时 秒
|
||||
int32 count_down_sec = 12;
|
||||
// 右下描述
|
||||
TextInfo right_bottom_desc = 13;
|
||||
}
|
||||
|
||||
// 按钮信息
|
||||
message ButtonInfo {
|
||||
// 按钮文案
|
||||
string text = 1;
|
||||
// 按钮字体色值
|
||||
string text_color = 2;
|
||||
// 按钮字体色值-夜间模式
|
||||
string text_color_night = 3;
|
||||
// 按钮背景色
|
||||
string bg_color = 4;
|
||||
// 按钮背景色-夜间模式
|
||||
string bg_color_night = 5;
|
||||
// 按钮链接
|
||||
string link = 6;
|
||||
// 按钮动作类型
|
||||
string action_type = 7;
|
||||
// 角标信息
|
||||
BadgeInfo badge_info = 8;
|
||||
// 埋点上报信息
|
||||
Report report = 9;
|
||||
// 左侧删除线样式文案
|
||||
string left_strikethrough_text = 10;
|
||||
// 缩略按钮文案信息
|
||||
TextInfo simple_text_info = 11;
|
||||
// 缩略按钮背景色值
|
||||
string simple_bg_color = 12;
|
||||
// 缩略按钮字体色值-夜间模式
|
||||
string simple_bg_color_night = 13;
|
||||
}
|
||||
|
||||
// 埋点上报信息
|
||||
message Report {
|
||||
// 曝光事件
|
||||
string show_event_id = 1;
|
||||
// 点击事件
|
||||
string click_event_id = 2;
|
||||
// 埋点透传参数
|
||||
string extends = 3;
|
||||
}
|
||||
|
||||
// 角标信息
|
||||
message BadgeInfo {
|
||||
// 角标文案
|
||||
string text = 1;
|
||||
// 角标色值
|
||||
string bg_color = 2;
|
||||
// 角标色值-夜间模式
|
||||
string bg_color_night = 3;
|
||||
// 文案色值
|
||||
string text_color = 4;
|
||||
}
|
||||
|
||||
// 图片信息
|
||||
message ImageInfo {
|
||||
// 图片链接
|
||||
string url = 1;
|
||||
}
|
||||
|
||||
// 文案信息
|
||||
message TextInfo {
|
||||
// 文案
|
||||
string text = 1;
|
||||
// 字体色值
|
||||
string textColor = 2;
|
||||
// 字体色值-夜间模式
|
||||
string textColorNight = 3;
|
||||
}
|
||||
|
||||
// 鉴权浮层配置
|
||||
message DialogConfig {
|
||||
// 是否显示高斯模糊背景图
|
||||
bool is_show_cover = 1;
|
||||
// 是否响应转屏
|
||||
bool is_orientation_enable = 2;
|
||||
// 是否响应上滑吸顶
|
||||
bool is_nested_scroll_enable = 3;
|
||||
// 是否强制竖屏
|
||||
bool is_force_halfscreen_enable = 4;
|
||||
}
|
||||
|
||||
// 视频url信息
|
||||
message VideoInfo {
|
||||
// 视频清晰度
|
||||
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;
|
||||
}
|
||||
|
||||
// 杜比音频信息
|
||||
message DolbyItem {
|
||||
enum Type {
|
||||
NONE = 0; // NONE
|
||||
COMMON = 1; // 普通杜比音效
|
||||
ATMOS = 2; // 全景杜比音效
|
||||
}
|
||||
// 杜比类型
|
||||
Type type = 1;
|
||||
// 音频流
|
||||
DashItem audio = 2;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
// 视频流信息
|
||||
message Stream {
|
||||
// 元数据
|
||||
StreamInfo info = 1;
|
||||
// 流数据
|
||||
oneof contentCase {
|
||||
// dash流
|
||||
DashVideo dash_video = 2;
|
||||
// 分段流
|
||||
SegmentVideo segment_video = 3;
|
||||
}
|
||||
}
|
||||
|
||||
//分段视频流
|
||||
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;
|
||||
}
|
||||
|
||||
// 流媒体元数据
|
||||
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;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
// 事件
|
||||
message Event {
|
||||
// 震动
|
||||
Shake shake = 1;
|
||||
}
|
||||
|
||||
// 震动
|
||||
message Shake {
|
||||
// 文件地址
|
||||
string file = 1;
|
||||
}
|
||||
|
||||
// 其他业务信息
|
||||
message PlayViewBusinessInfo {
|
||||
// 当前视频是否是预览
|
||||
bool is_preview = 1;
|
||||
// 用户是否承包过
|
||||
bool bp = 2;
|
||||
// drm使用
|
||||
string marlin_token = 3;
|
||||
// 倍速动效色值
|
||||
string playback_speed_color = 4;
|
||||
}
|
||||
|
||||
// 优惠券信息
|
||||
message CouponInfo {
|
||||
// 提示框信息
|
||||
CouponToast toast = 1;
|
||||
// 弹窗信息
|
||||
PopWin pop_win = 2;
|
||||
}
|
||||
|
||||
// 弹窗信息
|
||||
message PopWin {
|
||||
// 弹窗标题 老字段
|
||||
string title = 1;
|
||||
// 优惠券列表
|
||||
repeated Coupon coupon = 2;
|
||||
// 弹窗按钮列表
|
||||
repeated ButtonInfo button = 3;
|
||||
// 底部文案 老字段
|
||||
string bottom_text = 4;
|
||||
// 弹窗标题 新字段
|
||||
TextInfo pop_title = 5;
|
||||
// 弹窗副标题
|
||||
TextInfo subtitle = 6;
|
||||
// 底部描述 新字段
|
||||
ButtonInfo bottom_desc = 7;
|
||||
// 弹窗小图
|
||||
string cover = 8;
|
||||
// 弹窗类型
|
||||
string pop_type = 9;
|
||||
}
|
||||
|
||||
// 优惠券
|
||||
message Coupon {
|
||||
// 优惠券token
|
||||
string coupon_token = 1;
|
||||
// 优惠券类型
|
||||
// 1:折扣券 2:满减券 3:兑换券
|
||||
int64 type = 2;
|
||||
// 优惠券面值
|
||||
string value = 3;
|
||||
// 优惠券使用描述
|
||||
string use_desc = 4;
|
||||
// 优惠券标题
|
||||
string title = 5;
|
||||
// 优惠券描述
|
||||
string desc = 6;
|
||||
// 优惠券支付按钮文案
|
||||
string pay_button_text = 7;
|
||||
// 优惠券支付按钮删除线文案
|
||||
string pay_button_text_line_through = 8;
|
||||
// 实付金额
|
||||
string real_amount = 9;
|
||||
// 使用过期时间
|
||||
google.protobuf.Timestamp expire_time = 10;
|
||||
}
|
||||
|
||||
// 提示框信息
|
||||
message CouponToast {
|
||||
// 提示框文案信息
|
||||
CouponTextInfo text_info = 1;
|
||||
// 提示框按钮
|
||||
ButtonInfo button = 2;
|
||||
}
|
||||
|
||||
// 提示框文案信息
|
||||
message CouponTextInfo {
|
||||
// 提示框文案-播正片6分钟预览
|
||||
string positive_preview = 1;
|
||||
// 提示框文案-播非正片分节ep
|
||||
string section = 2;
|
||||
}
|
||||
|
||||
// 禁用功能配置
|
||||
message PlayAbilityConf {
|
||||
bool background_play_disable = 1; // 后台播放
|
||||
bool flip_disable = 2; // 镜像反转
|
||||
bool cast_disable = 3; // 投屏
|
||||
bool feedback_disable = 4; // 反馈
|
||||
bool subtitle_disable = 5; // 字幕
|
||||
bool playback_rate_disable = 6; // 播放速度
|
||||
bool time_up_disable = 7; // 定时停止
|
||||
bool playback_mode_disable = 8; // 播放方式
|
||||
bool scale_mode_disable = 9; // 画面尺寸
|
||||
bool like_disable = 10; // 赞
|
||||
bool dislike_disable = 11; // 踩
|
||||
bool coin_disable = 12; // 投币
|
||||
bool elec_disable = 13; // 充电
|
||||
bool share_disable = 14; // 分享
|
||||
bool screen_shot_disable = 15; // 截图
|
||||
bool lock_screen_disable = 16; // 锁定
|
||||
bool recommend_disable = 17; // 相关推荐
|
||||
bool playback_speed_disable = 18; // 播放速度
|
||||
bool definition_disable = 19; // 清晰度
|
||||
bool selections_disable = 20; // 选集
|
||||
bool next_disable = 21; // 下一集
|
||||
bool edit_dm_disable = 22; // 编辑弹幕
|
||||
bool small_window_disable = 23; // 小窗
|
||||
bool shake_disable = 24; // 震动
|
||||
bool outer_dm_disable = 25; // 外层面板弹幕设置
|
||||
bool inner_dm_disable = 26; // 三点内弹幕设置
|
||||
bool freya_enter_disable = 27; // 一起看入口
|
||||
bool dolby_disable = 28; // 杜比音效
|
||||
bool freya_full_disable = 29; // 全屏一起看入口
|
||||
}
|
||||
|
||||
// 云控扩展配置信息
|
||||
message PlayAbilityExtConf {
|
||||
// 自定义配置扩展信息
|
||||
bool allow_close_subtitle = 1;
|
||||
}
|
||||
Reference in New Issue
Block a user