go-common/app/interface/bbq/app-bbq/api/http/v1/api.md

455 lines
16 KiB
Markdown
Raw Normal View History

2019-04-22 10:49:16 +00:00
# HTTP API文档
导航
---
* [版本](#版本)
* [说明](#说明)
* [接口说明](#接口说明)
+ [[首页视频列表]](#首页视频列表)
+ [[批量视频地址]](#批量视频地址接口)
版本
---
| 版本 | 时间 | 修订者 | 备注 |
| :--- | :--------- | :----- | :------------- |
| v0.1 | 2018.10.12 | Cheney | 初始化接口列表 |
说明
---
BBQ视频相关接口
域名
---
* **线上:** bbq.bilibili.com
* **自动化文档路径:** http://172.16.38.91/swagger
接口说明
-------
### 首页视频列表
***接口说明***
提供视频列表相关基础信息和播放信息
***请求URL***
http://DOMAIN/bbq/app-bbq/sv/list
***请求方式***
HTTP/GET
***请求参数***
| 参数名 | 必选 | 类型 | 说明 |
| :------- | :--- | :--- | :---------------------- |
| qn | 是 | int | 首选清晰度 |
| pagesize | 是 | int | 返回数据量range:0-20) |
***qn参数枚举***
目前PlayUrl支持UGC、PGC和Mobile H5的业务, 对各个业务的支持情况如下:
***<span style="color:red">Note: 对于分组为同一个的清晰度, PlayUrl服务端只会给出其中一个清晰度作为结果返回.***
##### UGC
| 分组 | 清晰度qn | 类型 | 名称 | 描述 | 访问权限 |
| :--- | :------- | :--- | :--------- | :----------- | :------------------- |
| 1# | 116 | FLV | flv_p60 | 高清 1080P60 | 大会员或此视频的UP主 |
| 1# | 112 | FLV | hdflv2 | 高清 1080P+ | 大会员或此视频的UP主 |
| 2# | 74 | FLV | flv720_p60 | 高清 720P60 | 大会员或此视频的UP主 |
| 3# | 80 | FLV | flv | 高清 1080 | 都可访问 |
| 4# | 64 | FLV | flv720 | 高清 720P | 都可访问 |
| 4# | 48 | MP4 | hdmp4 | 高清 720P | 都可访问 |
| 5# | 32 | FLV | flv480 | 清晰 480P | 都可访问 |
| 6# | 15 | FLV | flv360 | 流畅 360P | 都可访问 |
| 6# | 16 | MP4 | mp4 | 流畅 360P | 都可访问 |
| 7# | 6 | MP4 | mp4 | 极速 240P | 当且仅当type=mp4访问 |
##### PGC
| 分组 | 清晰度qn | 类型 | 名称 | 描述 | 访问权限 |
| :--- | :------- | :--- | :----- | :---------- | :------------------- |
| 1# | 112 | FLV | hdflv2 | 高清 1080P+ | 都可访问 |
| 2# | 80 | FLV | flv | 高清 1080 | 都可访问 |
| 3# | 64 | FLV | flv720 | 高清 720P | 都可访问 |
| 3# | 48 | MP4 | hdmp4 | 高清 720P | 都可访问 |
| 4# | 32 | FLV | flv480 | 清晰 480P | 都可访问 |
| 5# | 15 | FLV | flv360 | 流畅 360P | 都可访问 |
| 5# | 16 | MP4 | mp4 | 流畅 360P | 都可访问 |
| 6# | 6 | MP4 | mp4 | 极速 240P | 当且仅当type=mp4访问 |
##### Mobile H5
| 分组 | 清晰度qn | 类型 | 名称 | 描述 | 访问权限 |
| :--- | :------- | :--- | :----- | :-------- | :------------------- |
| 1# | 15 | FLV | flv360 | 流畅 360P | 都可访问 |
| 1# | 16 | MP4 | mp4 | 流畅 360P | 都可访问 |
| 2# | 6 | MP4 | mp4 | 极速 240P | 当且仅当type=mp4访问 |
*** 返回字段说明 ***
| 字段名 | 字段类型 | 字段说明 |
| :-------: | :----------------------: | :--------------: |
| svid | int | bbq视频id |
| title | string | 视频标题 |
| mid | int | 发布用户uid |
| duration | int | 时长 |
| pubtime | string | 发布时间 |
| ctime | int | 创建时间 |
| avid | int | avid |
| cid | int | cid |
| from | int | 来源渠道 |
| tag | string | 后端首选tag |
| tags | [][VideoTag](#VideoTag) | 全部tag |
| pic | string | 图片预留字段 |
| like | int | 点赞数 |
| reply | int | 评论数 |
| share | int | 分享数 |
| user_info | *UserCard(object) | 发布用户信息 |
| play | *[VideoPlay](#VideoPlay) | 播放信息 |
| is_like | bool | 当前用户是否点赞 |
***返回字段示例***
```javascript
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"svid": 198,
"title": "体重88kg,深蹲200KG成功了,用了2年时间,记录一下",
"content": "",
"mid": 98628543,
"duration": 0,
"pubtime": "2018-10-12 12:45:51",
"ctime": 1539319551,
"avid": 27406598,
"cid": 47265445,
"from": 0,
"tag": "",
"tags": [],
"pic": "",
"like": 0,
"reply": 0,
"share": 0,
"user_info": {
"mid": 98628543,
"name": "笑圣贤",
"sex": "保密",
"rank": 10000,
"face": "http://i0.hdslb.com/bfs/face/fac0c8dc176ce9f8d3e176d759378233788994d4.jpg",
"sign": "一个练力量举的UP,1981年的大叔,体重88kg,三大项540KG",
"level": 0,
"vip_info": {
"type": 0,
"status": 0,
"due_date": 0
}
},
"play": {
"cid": 47265445,
"expire_time": 1539330912,
"file_info": [
{
"ahead": "Egg=",
"filesize": 2332329,
"timelength": 40128,
"vhead": "AWQAHv/hABpnZAAerNlBcFHlkhAAAAMAEAAAAwMg8WLZYAEABWjr7PI8"
}
],
"fnval": 0,
"fnver": 0,
"quality": 15,
"support_description": [
"高清 720P",
"清晰 480P",
"流畅 360P"
],
"support_formats": [
"flv720",
"flv480",
"flv360"
],
"support_quality": [
64,
32,
15
],
"url": "http://upos-hz-mirrorcos.acgvideo.com/upgcxcode/45/54/47265445/47265445-1-15.flv?um_deadline=1539334512&platform=&rate=98807&oi=0&um_sign=45b60b850c9e577261feb079ced1bb3d&gen=playurl&os=cos&trid=3db463de4aa2476cb56900e87f733323",
"video_codecid": 7,
"video_project": true,
"current_time": 1539327312
},
"is_like": false
},
{
"svid": 1740,
"title": "【朱一龙舔屏】全部都是你(๑> ᴗ<)竖屏丨手机福利",
"content": "手机观看效果最佳!送闺蜜@灰 的居仔舔屏视频,熬夜终于在七夕搞定了,就是想摸鱼剪剪竖屏玩。祝大家七夕情人节快乐!快点进来收获爱情吧!ヾ(๑╹◡╹)ノ\"",
"mid": 761997,
"duration": 0,
"pubtime": "2018-10-12 12:52:06",
"ctime": 1539319926,
"avid": 29574294,
"cid": 51427230,
"from": 0,
"tag": "",
"tags": [
{
"id": 797,
"name": "明星",
"type": 3
},
{
"id": 798,
"name": "娱乐",
"type": 1
},
{
"id": 805,
"name": "朱一龙",
"type": 3
},
{
"id": 1729,
"name": "剪辑",
"type": 3
},
{
"id": 4103,
"name": "七夕",
"type": 3
}
],
"pic": "",
"like": 0,
"reply": 0,
"share": 0,
"user_info": {
"mid": 761997,
"name": "無駄無駄",
"sex": "保密",
"rank": 10000,
"face": "http://i2.hdslb.com/bfs/face/fbe53ad204dd36d268a9e6e887918787956914fd.gif",
"sign": "【渣渣水平,蜗牛手速,感谢赏脸!】微博:@-6plus7- 【B站ID是抢注的舍不得改没错是隐藏的JOJO厨】",
"level": 0,
"vip_info": {
"type": 2,
"status": 1,
"due_date": 1570809600000
}
},
"play": {
"cid": 51427230,
"expire_time": 1539330912,
"file_info": [
{
"ahead": "EZA=",
"filesize": 6204058,
"timelength": 102254,
"vhead": "AWQAHv/hABlnZAAerNlBcFHl4QAAAwABAAADADwPFi2WAQAFaOvs8jw="
}
],
"fnval": 0,
"fnver": 0,
"quality": 15,
"support_description": [
"高清 1080P60",
"高清 720P60",
"高清 1080P",
"高清 720P",
"清晰 480P",
"流畅 360P"
],
"support_formats": [
"flv_p60",
"flv720_p60",
"flv",
"flv720",
"flv480",
"flv360"
],
"support_quality": [
116,
74,
80,
64,
32,
15
],
"url": "http://upos-hz-mirrorcos.acgvideo.com/upgcxcode/30/72/51427230/51427230-1-15.flv?um_deadline=1539334512&platform=&rate=103144&oi=0&um_sign=305264b6bc32d61fd1020a71c24f3544&gen=playurl&os=cos&trid=3db463de4aa2476cb56900e87f733323",
"video_codecid": 7,
"video_project": true,
"current_time": 1539327312
},
"is_like": false
}
]
}
```
### 批量视频地址接口
***接口说明***
提供可替换视频地址服务
***请求URL***
http://DOMAIN/bbq/app-bbq/sv/playlist
***请求方式***
HTTP/GET
***请求参数***
| 参数名 | 必选 | 类型 | 说明 |
| :----- | :--- | :----- | :------------------ |
| qn | 是 | int | 首选清晰度 |
| cids | 是 | string | 请求cid逗号分隔 |
*** 返回字段说明 ***
| 字段名 | 字段类型 | 字段说明 |
| :----: | :------------------------: | :---------------: |
| data | []*[VideoPlay](#VideoPlay) | bvc playurl 结构 |
***返回字段示例***
```javascript
{
"code": 0,
"message": "0",
"ttl": 1,
"data": [
{
"cid": 49159587,
"expire_time": 1539331184,
"file_info": [
{
"ahead": "EZBW5QA=",
"filesize": 12879106,
"timelength": 258118,
"vhead": "AWQAH//hAB1nZAAfrNnA2D3n//AoACfxAAADA+kAAOpgDxgxngEABWjpuyyL"
}
],
"fnval": 0,
"fnver": 0,
"quality": 32,
"support_description": [
"高清 1080P",
"高清 720P",
"清晰 480P",
"流畅 360P"
],
"support_formats": [
"flv",
"flv720",
"flv480",
"flv360"
],
"support_quality": [
80,
64,
32,
15
],
"url": "http://upos-hz-mirrorcos.acgvideo.com/upgcxcode/87/95/49159587/49159587-1-32.flv?um_deadline=1539334784&platform=&rate=84823&oi=0&um_sign=2969b624cf3abf67505e60d78babbc70&gen=playurl&os=cos&trid=60941200ead244fbbcbd6090c5b337d0",
"video_codecid": 7,
"video_project": true,
"current_time": 1539327585
},
{
"cid": 52172330,
"expire_time": 1539331184,
"file_info": [
{
"ahead": "EZA=",
"filesize": 2377519,
"timelength": 15181,
"vhead": "AWQAHv/hABlnZAAerNlA2D3n4QAAAwABAAADADIPFi2WAQAFaOvs8jw="
}
],
"fnval": 0,
"fnver": 0,
"quality": 32,
"support_description": [
"高清 1080P+",
"高清 1080P",
"高清 720P",
"清晰 480P",
"流畅 360P"
],
"support_formats": [
"hdflv2",
"flv",
"flv720",
"flv480",
"flv360"
],
"support_quality": [
112,
80,
64,
32,
15
],
"url": "http://upos-hz-mirrorcos.acgvideo.com/upgcxcode/30/23/52172330/52172330-1-32.flv?um_deadline=1539334784&platform=&rate=266239&oi=0&um_sign=1533acfdd923bffab96f65d63f64ad9c&gen=playurl&os=cos&trid=60941200ead244fbbcbd6090c5b337d0",
"video_codecid": 7,
"video_project": true,
"current_time": 1539327585
}
]
}
```
*附
--
***通用字段***
##### VideoPlay
| 字段名 | 字段类型 | 字段说明 |
| :-----------------: | :----------------------: | :-------------------------------------------------: |
| cid | int64 | cid |
| expire_time | int64 | 过期时间 |
| file_info | []*[FileInfo](#FileInfo) | 分片信息 |
| fnval | int64 | 播放器请求端使用的, 功能标识, 每位(为1)标识一个功能 |
| fnver | int64 | 播放器请求端使用的, 功能版本号 |
| quality | int64 | 清晰度 |
| support_description | []string | 支持清晰度描述 |
| support_formats | []string | 支持格式 |
| support_quality | []int64 | 支持清晰度 |
| url | string | 基础url |
| video_codecid | int64 | 对应视频调度的结果编码值 |
| video_project | bool | 是否可投影 |
| current_time | int64 | 当前时间戳 |
##### FileInfo
| 字段名 | 字段类型 | 字段说明 |
| :--------: | :------: | :----------------------------------: |
| ahead | int | 视频分片文件的音频头信息, BASE64编码 |
| filesize | int | 视频的对应分片文件的大小 |
| timelength | int | 视频的对应分片文件的时长 |
| vhead | int | 视频分片文件的视频头信息, BASE64编码 |
##### VideoTag
| 字段名 | 字段类型 | 字段说明 |
| :----: | :------: | :------: |
| id | int | tagid |
| name | int | tag名字 |
| type | int | tag类型 |