syntax = "proto3"; package bilibili.cheese.gateway.player.v1; import "bilibili/app/playurl/v1/playurl.proto"; // 课程视频url service PlayURL { // 播放页信息 rpc PlayView (PlayViewReq) returns (PlayViewReply); // 投屏地址 rpc Project (ProjectReq) returns (ProjectReply); } // 播放页信息-请求 message PlayViewReq { // 课程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 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; } // 投屏地址-请求 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 force_host = 7; // 是否4K bool fourk = 8; // 当前页spm string spmid = 9; // 上一页spm string from_spmid = 10; // 投屏协议 // 0:默认乐播 1:自建协议 2:云投屏 int32 protocol = 11; // 投屏设备 // 0:默认其他 1:OTT设备 int32 device_type = 12; // 是否flv格式 bool flv_proj = 13; } // 播放页信息-响应 message PlayViewReply { // 视频url信息 bilibili.app.playurl.v1.VideoInfo video_info = 1; // 禁用功能配置 PlayAbilityConf play_conf = 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 outer_dm_disable = 25; // 外层面板弹幕设置 bool inner_dm_disable = 26; // 三点内弹幕设置 bool small_window_disable = 27; // 画中画 } // 投屏地址-响应 message ProjectReply { bilibili.app.playurl.v1.PlayURLReply project = 1; }