syntax = "proto3"; package bilibili.cheese.gateway.player.v1; import "bilibili/app/playurl/v1.proto"; service PlayURL { //课程播放url接口 //https://app.bilibili.com/bilibili.cheese.gateway.player.v1.PlayURL/PlayView rpc PlayView (playViewReq) returns (PlayViewReply); } enum CodeType{ NOCODE = 0; CODE264 = 1; CODE265 = 2; } 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; } //获取播放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; //流url强制是用域名 //0:允许使用ip 1:使用http 2:使用https int32 forceHost = 7; //允许4K bool fourk = 8; // string spmid = 9; // string fromSpmid = 10; // int32 teenagersMode = 11; //编码类型 CodeType codetype = 12; //是否强制请求预览视频 bool isPreview = 13; } //回复 message PlayViewReply{ //视频信息 bilibili.app.playurl.v1.VideoInfo info = 1; //播放界面配置 PlayAbilityConf PlayConf = 2; }