bilibili-API-collect/grpc_api/bilibili/pgc/gateway_player_v2.proto
2021-01-03 15:41:20 +08:00

245 lines
6.5 KiB
Protocol Buffer

//APP端PGC播放v2接口
//https://app.bilibili.com/bilibili.pgc.gateway.player.v2.PlayURL/PlayView
syntax = "proto3";
package bilibili.pgc.gateway.player.v2;
import "google/protobuf/timestamp.proto";
message playViewReq{
enum CodeType{
NOCODE = 0;
CODE264 = 1;
CODE265 = 2;
}
int64 epid = 1; //目标剧集epid
int64 cid = 2; //目标视频cid
int64 qn = 3; //清晰度
int32 fnver = 4;
int32 fnval = 5; //流类型
uint32 download = 6; //下载配置 0:播放 1:flv下载 2:dash下载
int32 forceHost = 7;
bool fourk = 8; //是否4K
string spmid = 9;
string fromSpmid = 10;
int32 teenagersMode = 11;
CodeType codetype = 12; //编码类型
bool isPreview = 13;
int64 roomId = 14;
bool isNeedViewInfo = 15;
}
message VideoInfo{
message stream{
message streamInfo{
message Limit{
string title=1;
string uri=2;
string msg=3;
}
uint32 quality=1;//清晰度
string format=2;//格式
string description=3;//格式描述
uint32 errCode=4;
Limit limit=5;
bool needVip=6;//需要vip
bool needLogin=7;//需要登录
bool intact=8;
bool noRexcode=9;
int64 attribute=10;
string newDescription=11;//新版格式描述
string displayDesc=12;//格式文字
string superscript=13;//新版格式描述备注
}
message DashVideo{
string baseUrl=1;//主线流
repeated string backupUrl=2;//备用流
uint32 bandwidth=3;//带宽
uint32 codecid=4;
string md5=5;//md5
uint64 size=6;//大小
uint32 audioId=7;
bool noRexcode=8;
}
message SegmentVideo{
message ResponseUrl{
uint32 order=1;
uint64 length=2;
uint64 size=3;
string url=4;
repeated string backupUrl=5;
string md5=6;
}
repeated ResponseUrl segment=1;
}
streamInfo info=1;//元数据
DashVideo dashvideo=2;//dash流
SegmentVideo segmentvideo=3;//flv流
}
message DashAudio{
uint32 id=1;
string baseUrl=2;//主线流
repeated string backupUrl=3;//备用流
uint32 bandwidth=4;//带宽
uint32 codecid=5;//
string md5=6;//md5
uint64 size=7;//大小
}
message DolbyItem{
int32 type=1;
DashAudio audio=2;
}
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 Event{
message Shake{
string file=1;
}
Shake shake=1;
}
message ViewInfo{
message Report{
string showEventId=1;
string clickEventId=2;
string extends=3;
}
message ButtonInfo{
message BadgeInfo{
string text=1;
string bgColor=2;
string bgColorNight=3;
}
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 Dialog{
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;
}
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 CouponInfo{
message CouponToast{
message CouponTextInfo{
string positivePreview=1;
string section=2;
}
CouponTextInfo textInfo=1;
ButtonInfo button=2;
}
message PopWin{
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;
}
string title=1;
repeated Coupon coupon=2;
repeated ButtonInfo button=3;
string bottomText=4;
}
CouponToast toast=1;
PopWin popWin=2;
}
message EndPage{
Dialog dialog=1;
bool hide=2;
}
Dialog dialog=1;
Toast toast=2;
CouponInfo couponInfo=3;
repeated int64 demandNoPayEpids=4;
EndPage endPage=5;
}
message PlayViewReply{
VideoInfo info=1;//视频信息
PlayAbilityConf PlayConf=2;//播放界面配置
PlayViewBusinessInfo Business=3;
Event event=4;
ViewInfo viewInfo=5;
}