update 【gRPC API】 proto files

This commit is contained in:
社会易姐QwQ
2022-01-29 23:57:17 +08:00
parent c25a8f4bf6
commit aae73c7015
13 changed files with 8077 additions and 4558 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -22,79 +22,113 @@ service History {
rpc LatestHistory (LatestHistoryReq) returns (LatestHistoryReply);
}
// 获取历史记录tab-请求
message HistoryTabReq {
// 专栏卡片
message CardArticle {
// 封面url
repeated string covers = 1;
// UP主昵称
string name = 2;
// UP主mid
int64 mid = 3;
// 是否展示关注按钮
bool displayAttention = 4;
// 角标
string badge = 5;
// 关系信息
Relation relation = 6;
}
// 课程卡片
message CardCheese {
// 封面url
string cover = 1;
// 观看进度
int64 progress = 2;
// 总计时长
int64 duration = 3;
// 单集标题
string subtitle = 4;
}
// 直播卡片
message CardLive {
// 封面url
string cover = 1;
// 主播昵称
string name = 2;
// 主播mid
int64 mid = 3;
// 直播分区名
string tag = 4;
// 直播状态
int32 ststus = 5;
// 是否展示关注按钮
bool display_attention = 6;
// 关系信息
Relation relation = 7;
}
// pgc稿件卡片
message CardOGV {
// 封面url
string cover = 1;
// 观看进度
int64 progress = 2;
// 总计时长
int64 duration = 3;
// 单集标题
string subtitle = 4;
}
// ugc稿件卡片
message CardUGC {
// 封面url
string cover = 1;
// 观看进度
int64 progress = 2;
// 视频长度
int64 duration = 3;
// UP主昵称
string name = 4;
// UP主mid
int64 mid = 5;
// 是否展示关注按钮
bool display_attention = 6;
// 历史观看视频cid
int64 cid = 7;
// 历史观看视频分P
int32 page = 8;
// 历史观看视频分P的标题
string subtitle = 9;
// 关系信息
Relation relation = 10;
// 稿件bvid
string bvid = 11;
// 总分P数
int64 videos = 12;
// 短链接
string short_link = 13;
// 分享副标题
string share_subtitle = 14;
// 播放数
int64 view = 15;
//
int64 state = 16;
}
// 清空历史记录-请求
message ClearReq {
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 1;
// 查询请求来源
HistorySource source = 2;
// 搜索关键词
string keyword = 3;
}
// 获取历史记录tab-响应
message HistoryTabReply {
// tab列表
repeated CursorTab tab = 1;
}
// 搜索历史记录来源
enum HistorySource {
// 主站历史记录页
history_VALUE = 0;
// 会员购浏览记录
shopping_VALUE = 1;
}
// 获取历史记录列表(旧版)-请求
message CursorReq {
// 游标信息
Cursor cursor = 1;
// 业务类型
// all:全部 archive:视频 live:直播 article:专栏
string business = 2;
// 秒开参数(旧版)
PlayerPreloadParams player_preload = 3;
// 秒开参数
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4;
}
// 获取历史记录列表(旧版)-响应
message CursorReply {
// 卡片内容
repeated CursorItem items = 1;
// 顶部tab
repeated CursorTab tab = 2;
// 游标信息
Cursor cursor = 3;
// 是否未拉取完
bool hasMore = 4;
}
// 获取历史记录列表-请求
message CursorV2Req {
// 游标信息
Cursor cursor = 1;
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 2;
// 秒开参数(旧版)
PlayerPreloadParams player_preload = 3;
// 秒开参数
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4;
// 是否选择本机的播放历史
bool is_local = 5;
}
// 获取历史记录列表-响应
message CursorV2Reply {
// 卡片内容
repeated CursorItem items = 1;
// 游标信息
Cursor cursor = 2;
// 是否未拉取完
bool hasMore = 3;
// 游标信息
message Cursor {
// 本页最大值游标值
int64 max = 1;
// 本页最大值游标类型
int32 maxTp = 2;
}
// 历史记录卡片信息
@@ -133,96 +167,29 @@ message CursorItem {
bool has_share = 14;
}
// ugc稿件卡片
message CardUGC {
// 封面url
string cover = 1;
// 观看进度
int64 progress = 2;
// 视频长度
int64 duration = 3;
// UP主昵称
string name = 4;
// UP主mid
int64 mid = 5;
// 是否展示关注按钮
bool display_attention = 6;
// 历史观看视频cid
int64 cid = 7;
// 历史观看视频分P
int32 page = 8;
// 历史观看视频分P的标题
string subtitle = 9;
// 关系信息
Relation relation = 10;
// 稿件bvid
string bvid = 11;
// 总分P数
int64 videos = 12;
// 短链接
string short_link = 13;
// 分享副标题
string share_subtitle = 14;
// 播放数
int64 view = 15;
// 获取历史记录列表(旧版)-响应
message CursorReply {
// 卡片内容
repeated CursorItem items = 1;
// 顶部tab
repeated CursorTab tab = 2;
// 游标信息
Cursor cursor = 3;
// 是否未拉取完
bool hasMore = 4;
}
// pgc稿件卡片
message CardOGV {
// 封面url
string cover = 1;
// 观看进度
int64 progress = 2;
// 总计时长
int64 duration = 3;
// 单集标题
string subtitle = 4;
}
// 专栏卡片
message CardArticle {
// 封面url
repeated string covers = 1;
// UP主昵称
string name = 2;
// UP主mid
int64 mid = 3;
// 是否展示关注按钮
bool displayAttention = 4;
// 角标
string badge = 5;
// 关系信息
Relation relation = 6;
}
// 直播卡片
message CardLive {
// 封面url
string cover = 1;
// 主播昵称
string name = 2;
// 主播mid
int64 mid = 3;
// 直播分区名
string tag = 4;
// 直播状态
int32 ststus = 5;
// 是否展示关注按钮
bool display_attention = 6;
// 关系信息
Relation relation = 7;
}
// 课程卡片
message CardCheese {
// 封面url
string cover = 1;
// 观看进度
int64 progress = 2;
// 总计时长
int64 duration = 3;
// 单集标题
string subtitle = 4;
// 获取历史记录列表(旧版)-请求
message CursorReq {
// 游标信息
Cursor cursor = 1;
// 业务类型
// all:全部 archive:视频 live:直播 article:专栏
string business = 2;
// 秒开参数(旧版)
PlayerPreloadParams player_preload = 3;
// 秒开参数
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4;
}
// 业务分类表
@@ -237,41 +204,34 @@ message CursorTab {
bool focus = 4;
}
// 游标信息
message Cursor {
// 本页最大值游标值
int64 max = 1;
// 本页最大值游标类型
int32 maxTp = 2;
// 获取历史记录列表-响应
message CursorV2Reply {
// 卡片内容
repeated CursorItem items = 1;
// 游标信息
Cursor cursor = 2;
// 是否未拉取完
bool hasMore = 3;
//
string empty_link = 4;
}
// 删除历史记录-请求
message DeleteReq {
// 历史记录信息
HisInfo his_info = 1;
}
// 历史记录信息
message HisInfo {
// 获取历史记录列表-请求
message CursorV2Req {
// 游标信息
Cursor cursor = 1;
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 1;
// 历史记录id
int64 kid = 2;
string business = 2;
// 秒开参数(旧版)
PlayerPreloadParams player_preload = 3;
// 秒开参数
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4;
// 是否选择本机的播放历史
bool is_local = 5;
}
// 空响应
message NoReply {}
// 设备类型
message DeviceType {
// 设备标识代码
DT type = 1;
// 图标url
string icon = 2;
}
//设备标识代码
// 设备标识代码
enum DT {
Unknown = 0; // 未知
Phone = 1; // 手机端
@@ -283,36 +243,76 @@ enum DT {
AndPad = 7; // apad端
}
// 关系信息
message Relation {
// 关系状态
// 1:未关注 2:已关注 3:被关注 4:互关
int32 status = 1;
// 用户关注UP主
int32 is_follow = 2;
// UP主关注用户
int32 is_followed = 3;
// 删除历史记录-请求
message DeleteReq {
// 历史记录信息
HisInfo his_info = 1;
}
// 搜索历史记录-请求
message SearchReq {
// 关键词
string keyword = 1;
// 页码
int64 pn = 2;
// 设备类型
message DeviceType {
// 设备标识代码
DT type = 1;
// 图标url
string icon = 2;
}
// 历史记录信息
message HisInfo {
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 3;
string business = 1;
// 历史记录id
int64 kid = 2;
}
// 搜索历史记录-响应
message SearchReply {
// 搜索历史记录来源
enum HistorySource {
history_VALUE = 0; // 主站历史记录页
shopping_VALUE = 1; // 会员购浏览记录
}
// 获取历史记录tab-响应
message HistoryTabReply {
// tab列表
repeated CursorTab tab = 1;
}
// 获取历史记录tab-请求
message HistoryTabReq {
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 1;
// 查询请求来源
HistorySource source = 2;
// 搜索关键词
string keyword = 3;
}
// 获取最新的历史记录-响应
message LatestHistoryReply {
// 卡片内容
repeated CursorItem items = 1;
// 是否未拉取完
bool hasMore = 2;
// 页面信息
Page page = 3;
CursorItem items = 1;
// 场景
string scene = 2;
// 弹窗停留时间
int64 rtime = 3;
// 分组的标志(客户端埋点上报)
string flag = 4;
}
// 获取最新的历史记录-请求
message LatestHistoryReq {
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 1;
// 秒开参数
PlayerPreloadParams player_preload = 2;
}
// 空响应
message NoReply {
}
// 页面信息
@@ -337,30 +337,34 @@ message PlayerPreloadParams {
int64 fourk = 5;
}
// 清空历史记录-请求
message ClearReq {
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 1;
// 关系信息
message Relation {
// 关系状态
// 1:未关注 2:已关注 3:被关注 4:互关
int32 status = 1;
// 用户关注UP主
int32 is_follow = 2;
// UP主关注用户
int32 is_followed = 3;
}
// 获取最新的历史记录-请求
message LatestHistoryReq {
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 1;
// 秒开参数
PlayerPreloadParams player_preload = 2;
}
// 获取最新的历史记录-响应
message LatestHistoryReply {
// 搜索历史记录-响应
message SearchReply {
// 卡片内容
CursorItem items = 1;
// 场景
string scene = 2;
// 弹窗停留时间
int64 rtime = 3;
// 分组的标志(客户端埋点上报)
string flag = 4;
repeated CursorItem items = 1;
// 是否未拉取完
bool hasMore = 2;
// 页面信息
Page page = 3;
}
// 搜索历史记录-请求
message SearchReq {
// 关键词
string keyword = 1;
// 页码
int64 pn = 2;
// 业务类型
// archive:视频 live:直播 article:专栏 goods:商品 show:展演
string business = 3;
}

View File

@@ -0,0 +1,115 @@
syntax = "proto3";
package bilibili.app.interfaces.v1;
import "bilibili/app/archive/middleware/v1/preload.proto";
import "bilibili/app/archive/v1/archive.proto";
import "bilibili/app/dynamic/v2/dynamic.proto";
//
service Space {
//
rpc SearchTab(SearchTabReq) returns (SearchTabReply);
//
rpc SearchArchive(SearchArchiveReq) returns (SearchArchiveReply);
//
rpc SearchDynamic(SearchDynamicReq) returns (SearchDynamicReply);
}
//
message Arc {
//
bilibili.app.archive.v1.Arc archive = 1;
//
string uri = 2;
}
//
message Dynamic {
//
bilibili.app.dynamic.v2.DynamicItem dynamic = 1;
}
enum From {
ArchiveTab = 0; //
DynamicTab = 1; //
}
//
message OfficialVerify {
//
int32 type = 1;
//
string desc = 2;
}
//
message SearchTabReply {
//
int64 focus = 1;
//
repeated Tab tabs = 2;
}
//
message SearchTabReq {
//
string keyword = 1;
//
int64 mid = 2;
//
int32 from = 3;
}
//
message SearchArchiveReply {
//
repeated Arc archives = 1;
//
int64 total = 2;
}
//
message SearchArchiveReq {
//
string keyword = 1;
//
int64 mid = 2;
//
int64 pn = 3;
//
int64 ps = 4;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5;
}
//
message SearchDynamicReply {
//
repeated Dynamic dynamics = 1;
//
int64 total = 2;
}
//
message SearchDynamicReq {
//
string keyword = 1;
//
int64 mid = 2;
//
int64 pn = 3;
//
int64 ps = 4;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5;
}
//
message Tab {
//
string title = 1;
//
string uri = 2;
}

View File

@@ -0,0 +1,928 @@
syntax = "proto3";
package bilibili.app.listener.v1;
import "google/protobuf/empty.proto";
import "bilibili/app/archive/middleware/v1/preload.proto";
// 听视频
service Listener {
//
rpc Ping (google.protobuf.Empty) returns (google.protobuf.Empty);
// 获取音频URL
rpc PlayUrl (PlayURLReq) returns (PlayURLResp);
//
rpc BkarcDetails (BKArcDetailsReq) returns (BKArcDetailsResp);
//
rpc Playlist (PlaylistReq) returns (PlaylistResp);
//
rpc PlaylistAdd (PlaylistAddReq) returns (google.protobuf.Empty);
//
rpc PlaylistDel (PlaylistDelReq) returns (google.protobuf.Empty);
// 推荐列表
rpc RcmdPlaylist (RcmdPlaylistReq) returns (RcmdPlaylistResp);
//
rpc PlayHistory (PlayHistoryReq) returns (PlayHistoryResp);
// 添加历史记录
rpc PlayHistoryAdd (PlayHistoryAddReq) returns (google.protobuf.Empty);
//
rpc PlayHistoryDel (PlayHistoryDelReq) returns (google.protobuf.Empty);
// 播放上报
rpc PlayActionReport (PlayActionReportReq) returns (google.protobuf.Empty);
// 三联
rpc TripleLike (TripleLikeReq) returns (TripleLikeResp);
// 点赞
rpc ThumbUp (ThumbUpReq) returns (ThumbUpResp);
// 投币
rpc CoinAdd (CoinAddReq) returns (CoinAddResp);
//
rpc FavItemAdd (FavItemAddReq) returns (FavItemAddResp);
//
rpc FavItemDel (FavItemDelReq) returns (FavItemDelResp);
// 批量处理收藏
rpc FavItemBatch (FavItemBatchReq) returns (FavItemBatchResp);
//
rpc FavoredInAnyFolders (FavoredInAnyFoldersReq) returns (FavoredInAnyFoldersResp);
// 用户收藏夹列表
rpc FavFolderList (FavFolderListReq) returns (FavFolderListResp);
// 收藏夹详细信息
rpc FavFolderDetail (FavFolderDetailReq) returns (FavFolderDetailResp);
// 创建收藏夹
rpc FavFolderCreate (FavFolderCreateReq) returns (FavFolderCreateResp);
//
rpc FavFolderDelete (FavFolderDeleteReq) returns (FavFolderDeleteResp);
// 每日播单列表
rpc PickFeed (PickFeedReq) returns (PickFeedResp);
// 每日播单详情
rpc PickCardDetail (PickCardDetailReq) returns (PickCardDetailResp);
}
//
message Author {
//
int64 mid = 1;
//
string name = 2;
//
string avatar = 3;
//
FollowRelation relation = 4;
}
//
message BKArcDetailsReq {
//
repeated PlayItem items = 1;
//
bilibili.app.archive.middleware.v1.PlayerArgs playerArgs = 2;
}
//
message BKArcDetailsResp {
//
repeated DetailItem list = 1;
}
//
message BKArchive {
//
int64 oid = 1;
//
string title = 2;
//
string cover = 3;
//
string desc = 4;
//
int64 duration = 5;
//
int32 rid = 6;
//
string rname = 7;
//
int64 publish = 8;
//
string displayed_oid = 9;
//
int32 copyright = 10;
//
BKArcRights rights = 11;
}
//
message BKArcPart {
//
int64 oid = 1;
//
int64 sub_id = 2;
//
string title = 3;
//
int64 duration = 4;
//
int32 page = 5;
}
//
message BKArcRights {
//
int32 no_reprint = 1;
}
//
message BKStat {
//
int32 like = 1;
//
int32 coin = 2;
//
int32 favourite = 3;
//
int32 reply = 4;
//
int32 share = 5;
//
int32 view = 6;
//
bool has_like = 7;
//
bool has_coin = 8;
//
bool has_fav = 9;
}
//
message CardModule {
//
int32 module_type = 1;
oneof module {
//
PkcmHeader module_header = 2;
//
PkcmArchive module_archive = 3;
//
PkcmCenterButton module_cbtn = 4;
}
}
//
enum CardModuleType {
Module_invalid = 0;
Module_header = 1;
Module_archive = 2;
Module_cbtn = 3;
}
//
message CoinAddReq {
//
PlayItem item = 1;
//
int32 num = 2;
//
bool thumb_up = 3;
}
//
message CoinAddResp {
//
string message = 1;
}
//
message DashItem {
//
int32 id = 1;
//
string base_url = 2;
//
repeated string backup_url = 3;
//
int32 bandwidth = 4;
//
string mime_type = 5;
//
string codecs = 6;
//
DashSegmentBase segment_base = 12;
//
int32 codecid = 13;
//
string md5 = 14;
//
int64 size = 15;
}
//
message DashSegmentBase {
//
string initialization = 1;
//
string index_range = 2;
}
//
message DetailItem {
//
PlayItem item = 1;
//
BKArchive arc = 2;
//
repeated BKArcPart parts = 3;
//
Author owner = 4;
//
BKStat stat = 5;
//
int64 last_part = 6;
//
int64 progress = 7;
//
int32 playable = 8;
//
string message = 9;
//
map<int64,PlayInfo> player_info = 10;
}
//
message EventTracking {
//
string operator = 1;
//
string batch = 2;
//
string track_id = 3;
//
string entity_type = 4;
//
string entity_id = 5;
}
//
message FavFolder {
//
int64 fid = 1;
//
int32 folder_type = 2;
//
FavFolderAuthor owner = 3;
//
string name = 4;
//
string cover = 5;
//
string desc = 6;
//
int32 count = 7;
//
int32 attr = 8;
//
int32 state = 9;
//
int32 favored = 10;
//
int64 ctime = 11;
//
int64 mtime = 12;
//
int32 stat_fav_cnt = 13;
//
int32 stat_share_cnt = 14;
//
int32 stat_like_cnt = 15;
//
int32 stat_Play_cnt = 16;
//
int32 stat_reply_cnt = 17;
//
int32 fav_state = 18;
}
//
message FavFolderAction {
//
int64 fid = 1;
//
int32 folder_type = 2;
//
int32 action = 3;
}
//
message FavFolderAuthor {
//
int64 mid = 1;
//
string name = 2;
}
//
message FavFolderCreateReq {
//
string name = 1;
//
string desc = 2;
//
int32 public = 3;
//
int32 folder_type = 4;
}
//
message FavFolderCreateResp {
//
int64 fid = 1;
//
int32 folder_type = 2;
//
string message = 3;
}
//
message FavFolderDeleteReq {
//
int64 fid = 1;
//
int32 folder_type = 2;
}
//
message FavFolderDeleteResp {
//
string message = 1;
}
//
message FavFolderDetailReq {
//
int64 fid = 1;
//
int32 folder_type = 2;
//
int64 fav_mid = 3;
//
FavItem last_item = 4;
//
int32 page_size = 5;
//
bool need_folder_info = 6;
}
//
message FavFolderDetailResp {
//
int32 total = 1;
//
bool reach_end = 2;
//
repeated FavItemDetail list = 3;
//
FavFolder folder_info = 4;
}
//
message FavFolderListReq {
//
repeated int32 folder_types = 1;
//
PlayItem item = 2;
}
//
message FavFolderListResp {
//
repeated FavFolder list = 1;
}
//
message FavFolderMeta {
//
int64 fid = 1;
//
int32 folder_type = 2;
}
//
message FavItem {
//
int32 item_type = 1;
//
int64 oid = 2;
//
int64 fid = 3;
//
int64 mid = 4;
//
int64 mtime = 5;
//
int64 ctime = 6;
//
EventTracking et = 7;
}
//
message FavItemAddReq {
//
int64 fid = 1;
//
int32 folder_type = 2;
oneof item {
//
PlayItem play = 3;
//
FavItem fav = 4;
}
}
//
message FavItemAddResp {
//
string message = 1;
}
//
message FavItemAuthor {
//
int64 mid = 1;
//
string name = 2;
}
//
message FavItemBatchReq {
//
repeated FavFolderAction actions = 1;
oneof item {
//
PlayItem play = 2;
//
FavItem fav = 3;
}
}
//
message FavItemBatchResp {
//
string message = 1;
}
//
message FavItemDelReq {
//
int64 fid = 1;
//
int32 folder_type = 2;
oneof item {
//
PlayItem play = 3;
//
FavItem fav = 4;
}
}
//
message FavItemDelResp {
//
string message = 1;
}
//
message FavItemDetail {
//
FavItem item = 1;
//
FavItemAuthor owner = 2;
//
FavItemStat stat = 3;
//
string cover = 4;
//
string name = 5;
//
int64 duration = 6;
//
int32 state = 7;
//
string message = 8;
//
int32 parts = 9;
}
//
message FavItemStat {
//
int32 view = 1;
//
int32 reply = 2;
}
//
message FavoredInAnyFoldersReq {
//
repeated int32 folder_types = 1;
//
PlayItem item = 2;
}
//
message FavoredInAnyFoldersResp {
//
repeated FavFolderMeta folders = 1;
//
PlayItem item = 2;
}
//
message FollowRelation {
//
int32 status = 1;
}
//
message FormatDescription {
//
int32 quality = 1;
//
string format = 2;
//
string description = 3;
//
string display_desc = 4;
//
string superscript = 5;
}
//
message PageOption {
//
int32 page_size = 1;
//
int32 direction = 2;
//
PlayItem last_item = 3;
}
//
message PickArchive {
//
PlayItem item = 1;
//
string title = 2;
//
PickArchiveAuthor owner = 3;
//
string cover = 4;
//
int64 duration = 5;
//
int32 parts = 6;
//
int32 stat_view = 7;
//
int32 stat_reply = 8;
//
int32 state = 9;
//
string message = 10;
}
//
message PickArchiveAuthor {
//
int64 mid = 1;
//
string name = 2;
}
//
message PickCard {
//
int64 pick_id = 1;
//
int64 card_id = 2;
//
string card_name = 3;
//
repeated CardModule modules = 4;
}
//
message PickCardDetailReq {
//
int64 card_id = 1;
//
int64 pick_id = 2;
}
//
message PickCardDetailResp {
//
int64 card_id = 1;
//
int64 pick_id = 2;
//
repeated CardModule modules = 3;
}
//
message PickFeedReq {
//
int64 offset = 1;
}
//
message PickFeedResp {
//
int64 offset = 1;
//
repeated PickCard cards = 2;
}
//
message PkcmArchive {
//
PickArchive arc = 1;
//
string pick_reason = 2;
}
//
message PkcmCenterButton {
//
string icon_head = 1;
//
string icon_tail = 2;
//
string title = 3;
//
string uri = 4;
}
//
message PkcmHeader {
//
string title = 1;
//
string desc = 2;
//
string btn_icon = 3;
//
string btn_text = 4;
//
string btn_uri = 5;
}
//
message PlayActionReportReq {
//
PlayItem item = 1;
}
//
message PlayDASH {
//
int32 duration = 1;
//
float min_buffer_time = 2;
//
repeated DashItem audio = 3;
}
//
message PlayHistoryAddReq {
//
PlayItem item = 1;
//
int64 progress = 2;
//
int64 duration = 3;
//
int32 play_style = 4;
}
//
message PlayHistoryDelReq {
//
repeated PlayItem items = 1;
//
bool truncate = 2;
}
//
message PlayHistoryReq {
PageOption page_opt = 1;
}
//
message PlayHistoryResp {
//
int32 total = 1;
//
bool reach_end = 2;
//
repeated DetailItem list = 3;
}
//
message PlayInfo {
//
int32 qn = 1;
//
string format = 2;
//
int32 qn_type = 3;
oneof info {
//
PlayURL play_url = 4;
//
PlayDASH play_dash = 5;
}
int32 fnver = 6;
//
int32 fnval = 7;
//
repeated int32 formats = 8;
//
int32 video_codecid = 9;
//
int64 length = 10;
//
int32 code = 11;
//
string message = 12;
}
//
message PlayItem {
//
int32 item_type = 1;
//
int64 oid = 3;
//
repeated int64 sub_id = 4;
//
EventTracking et = 5;
}
//
message PlaylistAddReq {
//
repeated PlayItem items = 1;
oneof pos {
//
PlayItem after = 2;
//
bool head = 3;
//
bool tail = 4;
}
}
//
message PlaylistDelReq {
//
repeated PlayItem items = 1;
//
bool truncate = 2;
}
//
message PlaylistReq {
//
int32 from = 1;
//
int64 id = 2;
//
PlayItem anchor = 3;
//
PageOption page_opt = 4;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 5;
//
int64 extra_id = 6;
}
//
message PlaylistResp {
//
int32 total = 1;
//
bool reach_start = 2;
//
bool reach_end = 3;
//
repeated DetailItem list = 4;
//
PlayItem last_play = 5;
//
int64 last_progress = 6;
}
//
enum PlaylistSource {
DEFAULT = 0;
MEM_SPACE = 1;
AUDIO_COLLECTION = 2;
AUDIO_CARD = 3;
USER_FAVOURITE = 4;
UP_ARCHIVE = 5;
AUDIO_CACHE = 6;
PICK_CARD = 7;
}
//
message PlayURL {
//
repeated ResponseUrl durl = 1;
}
//
message PlayURLReq {
//
PlayItem item = 1;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 2;
}
//
message PlayURLResp {
//
PlayItem item = 1;
//
int32 playable = 2;
//
string message = 3;
//
map<int64,PlayInfo> playerInfo = 4;
}
//
message RcmdPlaylistReq {
//
int32 from = 1;
//
int64 id = 2;
//
bool need_history = 3;
}
//
message RcmdPlaylistResp {
//
repeated DetailItem list = 1;
//
int64 history_len = 2;
}
//
message ResponseUrl {
//
int32 order = 1;
//
int64 length = 2;
//
int64 size = 3;
//
string ahead = 4;
//
string vhead = 5;
//
string url = 6;
//
repeated string backup_url = 7;
//
string md5 = 8;
}
//
message ThumbUpReq {
//
PlayItem item = 1;
//
int32 action = 2;
}
//
message ThumbUpResp {
//
string message = 1;
}
//
message TripleLikeReq {
//
PlayItem item = 1;
}
//
message TripleLikeResp {
//
string message = 1;
//
bool thumb_ok = 2;
//
bool coin_ok = 3;
//
bool fav_ok = 4;
}

View File

@@ -0,0 +1,816 @@
syntax = "proto3";
package bilibili.app.nativeact.v1;
import "google/protobuf/any.proto";
import "bilibili/app/dynamic/v2/dynamic.proto";
import "bilibili/app/archive/middleware/v1/preload.proto";
//
message Badge {
//
string text = 1;
//
string bg_color = 2;
//
string bg_color_night = 3;
}
//
message CarouselImgCard {
//
int64 content_style = 1;
//
repeated CarouselImgItem images = 2;
}
//
message CarouselImgItem {
//
string image = 1;
//
string uri = 2;
//
int64 length = 3;
//
int64 width = 4;
//
TopTab top_tab = 5;
//
int64 height = 6;
}
//
message CarouselWordCard {
//
int64 content_style = 1;
//
int64 scroll_type = 2;
//
repeated CarouselWordItem words = 3;
}
//
message CarouselWordItem {
//
string content = 1;
}
//
message Color {
//
string bg_color = 1;
//
string title_color = 2;
//
string top_font_color = 3;
//
string bottom_font_color = 4;
//
string font_color = 5;
//
string text_title_font_color = 6;
//
string indicator_color = 7;
//
string card_bg_color = 8;
//
string card_title_font_color = 9;
//
string card_title_bg_color = 10;
//
string view_more_font_color = 11;
//
string view_more_bg_color = 12;
//
string timeline_color = 13;
//
string rcmd_font_color = 14;
//
string subtitle_font_color = 15;
//
string selected_font_color = 16;
//
string selected_bg_color = 17;
//
string unselected_font_color = 18;
//
string unselected_bg_color = 19;
//
string nt_selected_font_color = 20;
//
string nt_selected_bg_color = 21;
//
string nt_unselected_font_color = 22;
//
string nt_unselected_bg_color = 23;
//
string progress_bar_color = 24;
}
//
message DynamicActMoreCard {
//
string text = 1;
//
string uri = 2;
//
SubpageData subpage_data = 3;
}
//
message DynamicCard {
//
bilibili.app.dynamic.v2.DynamicItem dynamic = 1;
}
//
message DynamicMoreCard {
//
string text = 1;
//
string uri = 2;
//
SubpageData subpage_data = 3;
}
//
message DynamicParams {
//
google.protobuf.Any feed_offset = 1;
//
int64 offset = 2;
//
int64 last_group = 3;
//
int64 module_id = 4;
//
int64 sort_type = 5;
}
//
message DynamicReq {
//
string raw_params = 1;
//
DynamicParams params = 2;
//
string from_spmid = 3;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4;
//
int32 local_time = 5;
//
bool is_cold_start = 6;
//
int64 primary_page_id = 7;
}
//
message DynamicResp {
//
Module module = 1;
}
//
message EditorParams {
//
int64 offset = 1;
//
int64 module_id = 2;
}
//
message EditorRecommendCard {
//
string top_icon = 1;
//
string top_content = 2;
//
string bottom_icon = 3;
//
string bottom_content = 4;
//
string cover_image_uri = 5;
//
string title = 6;
//
string uri = 7;
//
string position1 = 8;
//
string position2 = 9;
//
string position3 = 10;
//
string position4 = 11;
//
string position5 = 12;
//
Share share = 13;
//
Badge badge = 14;
//
ReportDic report_dic = 15;
//
Setting setting = 16;
//
string middle_icon = 17;
//
string resource_type = 18;
}
//
message EditorReq {
//
string raw_params = 1;
//
EditorParams params = 2;
//
int64 primary_page_id = 3;
}
//
message EditorResp {
//
Module module = 1;
}
//
message GameCard {
//
string image = 1;
//
string title = 2;
//
string uri = 3;
//
string subtitle = 4;
//
string content = 5;
}
//
message HeaderCard {
//
string user_image = 1;
//
string user_name = 2;
//
string sponsor_content = 3;
//
string high_light_image = 4;
//
string low_light_image = 5;
//
string uri = 6;
//
string view_num = 7;
//
string discuss_num = 8;
//
bool is_subscribed = 9;
}
//
message ImageTitleCard {
//
string image = 1;
}
//
message IndexReq {
//
int64 page_id = 1;
//
string activity_from = 2;
//
int64 dynamic_id = 3;
//
string share_origin = 4;
//
int64 tab_id = 5;
//
int64 tab_module_id = 6;
//
int32 https_url_req = 7;
//
string from_spmid = 8;
//
string current_tab = 9;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 10;
//
int32 local_time = 11;
//
bool is_cold_start = 12;
//
int64 primary_page_id = 13;
//
string tab_from = 14;
}
//
message InlineIndexReq {
int64 page_id = 1;
//
int32 https_url_req = 2;
//
string from_spmid = 3;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4;
//
int32 local_time = 5;
//
bool is_cold_start = 6;
}
//
message LayerDynamic {
//
string title = 1;
//
bilibili.app.dynamic.v2.DynamicItem dynamic = 2;
}
//
message LiveCard {
//
int32 has_live = 1;
//
LiveItem content = 2;
}
//
message LiveItem {
//
int64 room_id = 1;
//
int64 uid = 2;
//
int64 live_status = 3;
//
int64 room_type = 4;
//
int64 play_type = 5;
//
string title = 6;
//
string cover = 7;
//
int64 online = 8;
//
int64 area_id = 9;
//
string area_name = 10;
//
int64 parent_area_id = 11;
//
string parent_area_name = 12;
//
int64 live_screen_type = 13;
//
int64 last_end_time = 14;
//
string link = 15;
//
int64 live_id = 16;
}
//
message Module {
//
string module_type = 1;
//
int64 module_id = 2;
//
Color module_color = 3;
//
Setting module_setting = 4;
//
repeated ModuleItem module_items = 5;
//
string subpage_params = 6;
//
string module_ukey = 7;
//
bool has_more = 8;
//
bool is_feed = 9;
}
//
message ModuleItem {
//
string card_type = 1;
//
string card_id = 2;
oneof card_detail {
//
EditorRecommendCard editor_recommend_card = 10;
//
ParticipationCard participation_card = 11;
//
HeaderCard header_card = 12;
//
DynamicCard dynamic_card = 13;
//
TextCard text_card = 14;
//
TextTitleCard text_title_card = 15;
//
ImageTitleCard image_title_card = 16;
//
DynamicMoreCard dynamic_more_card = 17;
//
DynamicActMoreCard dynamic_act_more_card = 18;
//
LiveCard live_card = 19;
//
CarouselImgCard carousel_img_card = 20;
//
CarouselWordCard carousel_word_card = 21;
//
ResourceCard resource_card = 22;
//
ResourceMoreCard resource_more_card = 23;
//
GameCard game_card = 24;
//
VideoCard video_card = 25;
//
VideoMoreCard video_more_card = 26;
}
}
//
message PageResp {
//
bool is_online = 1;
//
bool ignore_app_dark_theme = 2;
//
Color page_color = 3;
//
PageShare page_share = 4;
//
Module page_header = 5;
//
Module participation = 6;
//
repeated Module module_list = 7;
//
bool is_dynamic_feed = 8;
//
LayerDynamic layer_dynamic = 9;
//
bool is_editor_feed = 10;
//
int64 sponsor_type = 11;
//
TopTab top_tab = 12;
}
//
message PageShare {
//
int64 type = 1;
//
string title = 2;
//
string desc = 3;
//
string image = 4;
//
string inside_uri = 5;
//
string outside_uri = 6;
}
//
message ParticipationCard {
//
string image = 1;
//
string selected_image = 2;
//
repeated ParticipationCardItem items = 3;
}
//
message ParticipationCardItem {
//
string image = 1;
//
string uri = 2;
//
string title = 3;
//
string type = 4;
}
//
message PlayerDimension {
//
int64 width = 1;
//
int64 height = 2;
//
bool rotate = 3;
}
//
message ReportDic {
//
string biz_type = 1;
//
string season_type = 2;
//
int64 aid = 3;
//
int64 cid = 4;
//
int32 sub_type = 5;
//
int64 ep_id = 6;
//
int32 is_preview = 7;
//
int64 season_id = 8;
//
string author_name = 9;
}
//
message ResourceCard {
//
string title = 1;
//
string cover_image_uri = 2;
//
string uri = 3;
//
string cover_right_text = 4;
//
string cover_left_text1 = 5;
//
int64 cover_left_icon1 = 6;
//
string cover_left_text2 = 7;
//
int64 cover_left_icon2 = 8;
//
Badge badge = 9;
//
ReportDic report_dic = 10;
//
string resource_type = 11;
}
//
message ResourceMoreCard {
//
string text = 1;
//
string uri = 2;
//
SubpageData subpage_data = 3;
}
//
message ResourceParams {
//
int64 offset = 1;
//
string topic_offset = 2;
//
int64 module_id = 3;
//
int64 sort_type = 4;
}
//
message ResourceReq {
//
string raw_params = 1;
//
ResourceParams params = 2;
//
int64 primary_page_id = 3;
}
//
message ResourceResp {
//
Module module = 1;
}
//
message Setting {
//
bool display_more_button = 1;
//
bool display_title = 2;
//
bool auto_carousel = 3;
//
bool top_tab_follow_img = 4;
//
bool top_tab_fade_away = 5;
//
bool auto_play = 6;
//
bool display_unfold_button = 7;
//
bool display_num = 8;
//
bool display_view_num = 9;
//
bool display_subscribe_btn = 10;
//
bool unfold_rest = 11;
//
bool display_progress_num = 12;
//
bool display_node_num = 13;
//
bool display_node_desc = 14;
}
//
message Share {
//
bool display_later = 1;
//
int64 oid = 2;
//
string share_origin = 3;
//
int64 share_type = 4;
}
//
message SubpageData {
//
string title = 1;
//
string params = 2;
//
repeated SubpageTab tabs = 3;
}
//
message SubpageTab {
//
string name = 1;
//
string params = 2;
}
//
message TabIndexReq {
//
int64 page_id = 1;
//
int32 https_url_req = 2;
//
string from_spmid = 3;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 4;
//
int64 primary_page_id = 5;
//
int32 local_time = 6;
//
bool is_cold_start = 7;
}
//
message TextCard {
//
string text = 1;
}
//
message TextTitleCard {
//
string title = 1;
}
//
message TopTab {
//
string bg_image1 = 1;
//
string bg_image2 = 2;
//
string tab_top_color = 3;
//
string tab_middle_color = 4;
//
string tab_bottom_color = 5;
//
string font_color = 6;
//
int64 bar_type = 7;
}
//
message TopicIndexReq {
//
int64 page_id = 1;
//
string activity_from = 2;
//
int64 dynamic_id = 3;
//
string share_origin = 4;
//
int64 tab_id = 5;
//
int64 tab_module_id = 6;
//
int32 https_url_req = 7;
//
string from_spmid = 8;
//
string current_tab = 9;
//
bilibili.app.archive.middleware.v1.PlayerArgs player_args = 10;
//
int32 local_time = 11;
//
bool is_cold_start = 12;
}
//
message VideoCard {
//
string title = 1;
//
string cover_image_uri = 2;
//
string cover_left_text1 = 3;
//
string cover_left_text2 = 4;
//
string cover_left_text3 = 5;
//
string uri = 6;
//
Badge badge = 7;
//
VideoRights rights = 8;
//
PlayerDimension dimension = 9;
//
ReportDic report_dic = 10;
//
string resource_type = 11;
}
//
message VideoMoreCard {
string text = 1;
//
string uri = 2;
//
SubpageData subpage_data = 3;
}
//
message VideoParams {
//
int64 offset = 1;
//
string topic_offset = 2;
//
int64 module_id = 3;
//
int64 sort_type = 4;
}
message VideoReq {
//
string raw_params = 1;
//
VideoParams params = 2;
//
int64 primary_page_id = 3;
}
//
message VideoResp {
//
Module module = 1;
}
//
message VideoRights {
//
bool ugc_pay = 1;
//
bool is_cooperation = 2;
//
bool is_pgc = 3;
}

View File

@@ -0,0 +1,33 @@
syntax = "proto3";
package bilibili.app.playeronline.v1;
// 在线人数
service PlayerOnline {
// 获取在线人数
rpc GetPlayerOnline (PlayerOnlineReq) returns (PlayerOnlineReply);
}
// 获取在线人数-请求
message PlayerOnlineReq {
// 稿件 avid
int64 aid = 1;
// 视频 cid
int64 cid = 2;
//
bool play_open = 3;
}
// 获取在线人数-回复
message PlayerOnlineReply {
//
string total_text = 1;
//
int64 sec_next = 2;
//
bool bottom_show = 3;
//
bool sdm_show = 4;
//
string sdm_text = 5;
}

View File

@@ -16,30 +16,329 @@ service PlayURL {
rpc PlayConf (PlayConfReq) returns (PlayConfReply);
}
// 视频地址-请求
message PlayURLReq {
// 稿件avid
int64 aid = 1;
// 视频cid
int64 cid = 2;
//
message AB {
//
Glance glance = 1;
//
int32 group = 2;
}
// 配置项
message ArcConf {
// 是否支持
bool is_support = 1;
//
bool disabled = 2;
//
ExtraContent extra_content = 3;
}
// 业务类型
enum Business {
UNKNOWN = 0; // 未知类型
STORY = 1; // story业务
}
// Chronos灰度管理
message Chronos {
// 资源md5
string md5 = 1;
// 资源文件
string file = 2;
}
//
message CloudConf {
// 是否展示功能
bool show = 1;
// 设置类型
ConfType conf_type = 2;
//
FieldValue field_value = 3;
//
ConfValue conf_value = 4;
}
// 编码类型
enum CodeType {
NOCODE = 0; // 默认
CODE264 = 1; // H.264
CODE265 = 2; // H.265
}
// 设置类型
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; //
}
//
message ConfValue {
oneof value {
bool switch_val = 1;
int64 selected_val = 2;
}
}
// dash条目
message DashItem {
// 清晰度
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;
uint32 id = 1;
// 主线流
string baseUrl = 2;
// 备用流
repeated string backup_url = 3;
// 带宽
uint32 bandwidth = 4;
// 编码id
uint32 codecid = 5;
// md5
string md5 = 6;
// 大小
uint64 size = 7;
// 帧率
string frame_rate = 8;
}
// 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 audioId = 7;
// 是否非全二压
bool no_rexcode = 8;
// 码率
string frame_rate = 9;
// 宽度
int32 width = 10;
// 高度
int32 height = 11;
}
// 杜比伴音信息
message DolbyItem {
enum Type {
NONE = 0; // NONE
COMMON = 1; // 普通杜比音效
ATMOS = 2; // 全景杜比音效
}
// 杜比类型
Type type = 1;
// 音频流
DashItem audio = 2;
}
// 事件
message Event {
// 震动
Shake shake = 1;
}
//
message ExtraContent {
//
string disabled_reason = 1;
//
int64 disabled_code = 2;
}
// 配置字段值
message FieldValue {
oneof value {
// 开关
bool switch = 1;
}
}
// 清晰度描述
message FormatDescription {
// 清晰度
int32 quality = 1;
// 清晰度格式
string format = 2;
// 清晰度描述
string description = 3;
// 新描述
string new_description = 4;
// 选中态的清晰度描述
string display_desc = 5;
// 选中态的清晰度描述的角标
string superscript = 6;
}
//
message Glance {
//
bool can_watch = 1;
//
int64 times = 2;
//
int64 duration = 3;
}
//
enum Group {
UnknownGroup = 0; //
A = 1; //
B = 2; //
C = 3; //
}
// 禁用功能配置
message PlayAbilityConf {
CloudConf background_play_conf = 1; // 后台播放
CloudConf flip_conf = 2; // 镜像反转
CloudConf cast_conf = 3; // 投屏
CloudConf feedback_conf = 4; // 反馈
CloudConf subtitle_conf = 5; // 字幕
CloudConf playback_rate_conf = 6; // 播放速度
CloudConf time_up_conf = 7; // 定时停止
CloudConf playback_mode_conf = 8; // 播放方式
CloudConf scale_mode_conf = 9; // 画面尺寸
CloudConf like_conf = 10; // 赞
CloudConf dislike_conf = 11; // 踩
CloudConf coin_conf = 12; // 投币
CloudConf elec_conf = 13; // 充电
CloudConf share_conf = 14; // 分享
CloudConf screen_shot_conf = 15; // 截图
CloudConf lock_screen_conf = 16; // 锁定
CloudConf recommend_conf = 17; // 相关推荐
CloudConf playback_speed_conf = 18; // 播放速度
CloudConf definition_conf = 19; // 清晰度
CloudConf selections_conf = 20; // 选集
CloudConf next_conf = 21; // 下一集
CloudConf edit_dm_conf = 22; // 编辑弹幕
CloudConf small_window_conf = 23; // 小窗
CloudConf shake_conf = 24; // 震动
CloudConf outer_dm_conf = 25; // 外层面板弹幕设置
CloudConf innerDmDisable = 26; // 三点内弹幕设置
CloudConf inner_dm_conf = 27; // 一起看入口
CloudConf dolby_conf = 28; // 杜比音效
CloudConf color_filter_conf = 29; //
}
// 播放控件稿件配置
message PlayArcConf {
ArcConf background_play_conf = 1; // 后台播放
ArcConf flip_conf = 2; // 镜像反转
ArcConf cast_conf = 3; // 投屏
ArcConf feedback_conf = 4; // 反馈
ArcConf subtitle_conf = 5; // 字幕
ArcConf playback_rate_conf = 6; // 播放速度
ArcConf time_up_conf = 7; // 定时停止
ArcConf playback_mode_conf = 8; // 播放方式
ArcConf scale_mode_conf = 9; // 画面尺寸
ArcConf like_conf = 10; // 赞
ArcConf dislike_conf = 11; // 踩
ArcConf coin_conf = 12; // 投币
ArcConf elec_conf = 13; // 充电
ArcConf share_conf = 14; // 分享
ArcConf screen_shot_conf = 15; // 截图
ArcConf lock_screen_conf = 16; // 锁定
ArcConf recommend_conf = 17; // 相关推荐
ArcConf playback_speed_conf = 18; // 播放速度
ArcConf definition_conf = 19; // 清晰度
ArcConf selections_conf = 20; // 选集
ArcConf next_conf = 21; // 下一集
ArcConf edit_dm_conf = 22; // 编辑弹幕
ArcConf small_window_conf = 23; // 小窗
ArcConf shake_conf = 24; // 震动
ArcConf outer_dm_conf = 25; // 外层面板弹幕设置
ArcConf inner_dm_conf = 26; // 三点内弹幕设置
ArcConf panorama_conf = 27; // 一起看入口
ArcConf dolby_conf = 28; // 杜比音效
ArcConf screen_recording_conf = 29; //
ArcConf color_filter_conf = 30; //
}
// 编辑播放界面配置-响应
message PlayConfEditReply {
}
// 编辑播放界面配置-请求
message PlayConfEditReq {
// 播放界面配置
repeated PlayConfState play_conf = 1;
}
// 获取播放界面配置-响应
message PlayConfReply {
//播放控件用户自定义配置
PlayAbilityConf play_conf = 1;
}
// 获取播放界面配置-请求
message PlayConfReq {
}
// 播放界面配置
message PlayConfState {
// 设置类型
ConfType conf_type = 1;
// 是否隐藏
bool show = 2;
// 配置字段值
FieldValue field_value = 3;
//
ConfValue conf_value = 4;
}
// 错误码
enum PlayErr {
NoErr = 0; //
WithMultiDeviceLoginErr = 1; // 管控类型的错误码
}
// 视频地址-回复
@@ -72,84 +371,87 @@ message PlayURLReply {
VideoType type = 13;
}
// 分段流条目
message ResponseUrl {
// 分段序号
uint32 order = 1;
// 分段时长
uint64 length = 2;
// 分段大小
uint64 size = 3;
// 主线流
string url = 4;
// 备用流
repeated string backup_url = 5;
// md5
string md5 = 6;
}
// dash数据
message ResponseDash {
// dash视频流
repeated DashItem video = 1;
// dash伴音流
repeated DashItem audio = 2;
}
// dash条目
message DashItem {
// 视频地址-请求
message PlayURLReq {
// 稿件avid
int64 aid = 1;
// 视频cid
int64 cid = 2;
// 清晰度
uint32 id = 1;
// 主线流
string baseUrl = 2;
// 备用流
repeated string backup_url = 3;
// 带宽
uint32 bandwidth = 4;
// 编码id
uint32 codecid = 5;
// md5
string md5 = 6;
// 大小
uint64 size = 7;
// 帧率
string frame_rate = 8;
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;
}
// 互动视频升级提示
message UpgradeLimit {
// 错误码
int32 code =1;
// 错误信息
string message =2;
// 图片url
string image =3;
// 按钮信息
UpgradeButton button=4;
// 播放页信息-回复
message PlayViewReply {
// 视频流信息
VideoInfo video_info = 1;
// 播放控件用户自定义配置
PlayAbilityConf play_conf = 2;
// 互动视频升级提示
UpgradeLimit upgrade_limit = 3;
// Chronos灰度管理
Chronos chronos = 4;
// 播放控件稿件配置
PlayArcConf play_arc = 5;
// 事件
Event event = 6;
//
AB ab = 7;
}
// 互动视频升级按钮信息
message UpgradeButton {
// 标题
string title = 1;
// 链接
string link = 2;
}
// 清晰度描述
message FormatDescription {
// 播放页信息-请求
message PlayViewReq {
// 稿件avid
int64 aid = 1;
// 视频cid
int64 cid = 2;
// 清晰度
int32 quality = 1;
// 清晰度格式
string format = 2;
// 清晰度描述
string description = 3;
// 新描述
string new_description = 4;
// 选中态的清晰度描述
string display_desc = 5;
// 选中态的清晰度描述的角标
string superscript = 6;
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;
// 业务类型
Business business = 13;
//
int64 voice_balance = 14;
}
// 投屏地址-响应
message ProjectReply {
PlayURLReply project = 1;
}
// 投屏地址-请求
@@ -184,76 +486,34 @@ message ProjectReq {
int32 device_type = 12;
}
// 投屏地址-响应
message ProjectReply {
PlayURLReply project = 1;
// dash数据
message ResponseDash {
// dash视频流
repeated DashItem video = 1;
// dash伴音流
repeated DashItem audio = 2;
}
// 播放页信息-请求
message PlayViewReq {
// 稿件avid
int64 aid = 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;
// 业务类型
Business business = 13;
// 分段流条目
message ResponseUrl {
// 分段序号
uint32 order = 1;
// 分段时长
uint64 length = 2;
// 分段大小
uint64 size = 3;
// 主线流
string url = 4;
// 备用流
repeated string backup_url = 5;
// md5
string md5 = 6;
}
// 业务类型
enum Business {
UNKNOWN = 0; // 未知类型
STORY = 1; // story业务
}
// 编码类型
enum CodeType {
NOCODE = 0; // 默认
CODE264 = 1; // H.264
CODE265 = 2; // H.265
}
// 播放页信息-回复
message PlayViewReply {
// 视频流信息
VideoInfo video_info = 1;
// 播放控件用户自定义配置
PlayAbilityConf play_conf = 2;
// 互动视频升级提示
UpgradeLimit upgrade_limit = 3;
// Chronos灰度管理
Chronos chronos = 4;
// 播放控件稿件配置
PlayArcConf play_arc = 5;
// 事件
Event event = 6;
}
// 事件
message Event {
// 震动
Shake shake = 1;
//分段视频流
message SegmentVideo {
//分段视频流列表
repeated ResponseUrl segment = 1;
}
// 震动
@@ -262,176 +522,6 @@ message Shake {
string file = 1;
}
// Chronos灰度管理
message Chronos {
// 资源md5
string md5 = 1;
// 资源文件
string file = 2;
}
// 获取播放界面配置-请求
message PlayConfReq {}
// 获取播放界面配置-响应
message PlayConfReply {
//播放控件用户自定义配置
PlayAbilityConf play_conf = 1;
}
// 禁用功能配置
message PlayAbilityConf {
CloudConf background_play_conf = 1; // 后台播放
CloudConf flip_conf = 2; // 镜像反转
CloudConf cast_conf = 3; // 投屏
CloudConf feedback_conf = 4; // 反馈
CloudConf subtitle_conf = 5; // 字幕
CloudConf playback_rate_conf = 6; // 播放速度
CloudConf time_up_conf = 7; // 定时停止
CloudConf playback_mode_conf = 8; // 播放方式
CloudConf scale_mode_conf = 9; // 画面尺寸
CloudConf like_conf = 10; // 赞
CloudConf dislike_conf = 11; // 踩
CloudConf coin_conf = 12; // 投币
CloudConf elec_conf = 13; // 充电
CloudConf share_conf = 14; // 分享
CloudConf screen_shot_conf = 15; // 截图
CloudConf lock_screen_conf = 16; // 锁定
CloudConf recommend_conf = 17; // 相关推荐
CloudConf playback_speed_conf = 18; // 播放速度
CloudConf definition_conf = 19; // 清晰度
CloudConf selections_conf = 20; // 选集
CloudConf next_conf = 21; // 下一集
CloudConf edit_dm_conf = 22; // 编辑弹幕
CloudConf small_window_conf = 23; // 小窗
CloudConf shake_conf = 24; // 震动
CloudConf outer_dm_conf = 25; // 外层面板弹幕设置
CloudConf innerDmDisable = 26; // 三点内弹幕设置
CloudConf inner_dm_conf = 27; // 一起看入口
CloudConf dolby_conf = 28; // 杜比音效
}
// 播放控件稿件配置
message PlayArcConf {
ArcConf background_play_conf = 1; // 后台播放
ArcConf flip_conf = 2; // 镜像反转
ArcConf cast_conf = 3; // 投屏
ArcConf feedback_conf = 4; // 反馈
ArcConf subtitle_conf = 5; // 字幕
ArcConf playback_rate_conf = 6; // 播放速度
ArcConf time_up_conf = 7; // 定时停止
ArcConf playback_mode_conf = 8; // 播放方式
ArcConf scale_mode_conf = 9; // 画面尺寸
ArcConf like_conf = 10; // 赞
ArcConf dislike_conf = 11; // 踩
ArcConf coin_conf = 12; // 投币
ArcConf elec_conf = 13; // 充电
ArcConf share_conf = 14; // 分享
ArcConf screen_shot_conf = 15; // 截图
ArcConf lock_screen_conf = 16; // 锁定
ArcConf recommend_conf = 17; // 相关推荐
ArcConf playback_speed_conf = 18; // 播放速度
ArcConf definition_conf = 19; // 清晰度
ArcConf selections_conf = 20; // 选集
ArcConf next_conf = 21; // 下一集
ArcConf edit_dm_conf = 22; // 编辑弹幕
ArcConf small_window_conf = 23; // 小窗
ArcConf shake_conf = 24; // 震动
ArcConf outer_dm_conf = 25; // 外层面板弹幕设置
ArcConf inner_dm_conf = 26; // 三点内弹幕设置
ArcConf panorama_conf = 27; // 一起看入口
ArcConf dolby_conf = 28; // 杜比音效
}
// 设置类型
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; // 杜比
}
//
message CloudConf {
// 是否展示功能
bool show = 1;
// 设置类型
ConfType conf_type = 2;
//
FieldValue field_value = 3;
}
// 配置字段值
message FieldValue {
//
oneof value {
// 开关
bool switch = 1;
}
}
// 配置项
message ArcConf {
// 是否支持
bool is_support = 1;
}
// 视频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;
}
// 视频流信息
message Stream {
// 元数据
@@ -445,18 +535,6 @@ message Stream {
}
}
//分段视频流
message SegmentVideo {
//分段视频流列表
repeated ResponseUrl segment = 1;
}
// 错误码
enum PlayErr {
NoErr = 0; //
WithMultiDeviceLoginErr = 1; // 管控类型的错误码
}
// 流媒体元数据
message StreamInfo {
// 清晰度
@@ -497,43 +575,45 @@ message StreamLimit {
string msg = 3;
}
// 编辑播放界面配置-请求
message PlayConfEditReq {
// 播放界面配置
repeated PlayConfState play_conf = 1;
// 互动视频升级按钮信息
message UpgradeButton {
// 标题
string title = 1;
// 链接
string link = 2;
}
// 编辑播放界面配置-响应
message PlayConfEditReply {}
// 播放界面配置
message PlayConfState {
// 设置类型
ConfType conf_type = 1;
// 是否隐藏
bool show = 2;
// 配置字段值
FieldValue field_value = 3;
// 互动视频升级提示
message UpgradeLimit {
// 错误码
int32 code = 1;
// 错误信息
string message = 2;
// 图片url
string image = 3;
// 按钮信息
UpgradeButton button = 4;
}
// 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 audioId = 7;
// 是否非全二压
bool no_rexcode = 8;
// 视频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;
//
VolumeInfo volume = 8;
}
// 视频类型
@@ -543,3 +623,21 @@ enum VideoType {
DASH_VALUE = 2; // dash格式
MP4_VALUE = 3; // mp4格式
}
//
message VolumeInfo {
//
double measured_i = 1;
//
double measured_lra = 2;
//
double measured_tp = 3;
//
double measured_threshold = 4;
//
double target_offset = 5;
//
double target_i = 6;
//
double target_tp = 7;
}

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,8 @@ service DM {
rpc DmSegOtt(DmSegOttReq) returns(DmSegOttReply);
// SDK弹幕列表
rpc DmSegSDK(DmSegSDKReq) returns(DmSegSDKReply);
//
rpc DmExpoReport (DmExpoReportReq) returns (DmExpoReportRes);
}
// 弹幕SDK-请求

View File

@@ -0,0 +1,35 @@
syntax = "proto3";
package bilibili.community.service.govern.v1;
import "google/protobuf/empty.proto";
//
service Qoe {
//
rpc QoeReport (QoeReportReq) returns (google.protobuf.Empty);
}
//
message QoeReportReq {
//
int64 id = 1;
//
int64 scene = 2;
//
int32 type = 3;
//
bool cancel = 4;
//
string business_type = 5;
//
QoeScoreResult score_result = 6;
//
string business_data = 7;
}
//
message QoeScoreResult {
//
float score = 1;
}

View File

@@ -0,0 +1,25 @@
syntax = "proto3";
package bilibili.pangu.gallery.v1;
import "google/protobuf/empty.proto";
//
service GalleryInterface {
//
rpc Ping (google.protobuf.Empty) returns (google.protobuf.Empty);
//
rpc UserInfo (GetUserInfoReq) returns (GetUserInfoReply);
//
rpc ListNFTByMid (ListNFTByMidReq) returns (ListNFTByMidReply);
//
rpc ListOrderByMid (ListOrderByMidReq) returns (ListOrderByMidReply);
//
rpc BasicInfo (BasicInfoReq) returns (BasicInfoReply);
//
rpc UserCheck (UserCheckReq) returns (UserCheckReply);
//
rpc AgreePolicy (AgreePolicyReq) returns (AgreePolicyReply);
//
rpc GetLastPolicy (GetLastPolicyReq) returns (GetLastPolicyReply);
}

View File

@@ -0,0 +1,9 @@
syntax = "proto3";
package bilibili.vega.deneb.v1;
//
service VegaDenebRPC {
//
rpc MessagePulls (MessagePullsReq) returns (MessagePullsReply);
}