feat: 各种接口补充与错误修正 (#1066)

* fix(video/collection.md): unclosed xml tags

* feat(video/report.md): uuid not really random

* feat: b23.tv short link

* feat: login/moral/exp log

* feat: v_voucher

* feat: upload video cover & post

* feat(creativecenter/upload.md): upload octet-stream

* feat(creativecenter/upload.md): update some notes

* feat(clientinfo/ip.md): another from live

* feat: live web heartbeat

* feat: update popular series & precious

* fix(creativecenter/upload.md): mistakes in example

* feat: merge duplicate fav info

* feat(README.md): missing link to webmask

* feat(search/hot.md): word_type

* feat(login/login_action): recovery old api

* feat(video/collection.md):  series operation

* feat: video season operation

* feat: add & mod some links

* feat(search/suggest.md): up to date

* feat: web home header image

* feat(misc/sign/bili_ticket.md): demo for nodejs

* feat(creativecenter/upload.md): x-upos-auth validity period

* feat: add referer & buvid3 to request header

* feat: customer service message heartbeat & upload

* feat(customerservice/msg.md): upload code 1200201

* feat(video/report.md): click/web/h5

* feat(video/report.md): view count desc

* feat: laser2

* feat: wbi_key in bili_ticket

* fix: typo & unclosed XML tags

* feat(misc/sign/v_voucher): cookie x-bili-gaia-vtoken

* feat(search/hot.md): square

* feat(video/status_number.md): fold archive_stat/stat

* feat(fav/info.md): resource/infos invalid type 21

* feat: /x/activity/subject/info

* feat: lottery

* feat(docs/misc/b23.tv): remove some unnecessary fields

* feat(creativecenter/upload.md): types/predict

* fix(video/collection.md): invalid end tag

* feat: app version upgrade

* feat(creativecenter/upload.md): tag/recommend #528

* feat(user/status_number.md): navnum

* feat: /x/activity/page/list

* feat(comment/list.md): desc about pagination_str

* feat(comment/list.md): update example

* feat(dynamic/all.md): #1082

* fix(comment/list.md): -352 not -412

* feat: #700

* feat(video/video_stream.md): #606 & cv949156

* feat(message/private_msg.md): single_unread freq

* feat: getUserWallet

* fix: broken form

* feat(Layout.vue): copyright to 2024

* feat: /x/topic/pub/rcmd/search

* feat: #425

* feat(misc/time_stamp.md): rtc/getTimestamp

* fix(misc/time_stamp.md): missing end tag

* feat: #745

* feat(dynamic/all.md): update feed/all

* feat(danmaku/action.md): #220

* feat(live/info.md): gethistory from cv8186413

* fix(danmaku/action.md): missing end tag
This commit is contained in:
Session小胡
2024-08-21 19:02:39 +08:00
committed by GitHub
parent f7599fb693
commit 60a0c5d1a2
46 changed files with 18489 additions and 8207 deletions

View File

@@ -2,7 +2,7 @@
请注意区分 **合集(seasons_archives)****视频列表(seasons_series)**
合集是后加入的功能, 图标为立体叠放的正方形(.icon-heji), 可以在创作中心管理
合集是后加入的功能, 图标为立体叠放的正方形(.icon-heji), 可以在创作中心管理, 参见 [合集管理](../creativecenter/season.md)
列表即系列(series)或频道(channel), 图标为平面叠放的矩形且中央有播放按钮标识(.icon-ic_channel1), 在个人空间直接操作
@@ -1563,3 +1563,424 @@ curl -G "https://api.bilibili.com/x/series/archives" \
```
</details>
## 根据关键词查找视频
> https://api.bilibili.com/x/series/recArchivesByKeywords
*请求方式GET*
**URL参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| mid | num | 用户 mid | 必要 | |
| keywords | str | 关键词 | 必要 | 可为空, 即获取所有视频 |
| ps | num | 每页视频数 | 非必要 | 默认为 0, 留空为 20 |
| pn | num | 页码 | 非必要 | 留空为 1 |
| orderby | str | 排序方式 | 非必要 | 最新发布: pubdate(默认)<br />最多播放: views<br />senddate: 最新发布 |
| series_id | num | 系列 ID | 非必要 | 用于过滤结果, 即若某一视频包含在系列内则不返回该视频 |
**JSON回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------- |
| code | num | 返回值 | 0: 成功 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ------------ | ---- |
| archives | arr | 视频列表 | |
| page | obj | 页码信息 | |
`archives` 数组:
同[获取视频合集信息](#获取视频合集信息)中的`archives`数组
`page` 对象:
同[获取视频合集信息](#获取视频合集信息)中的`page`对象
**示例:**
查询用户 `mid=2` 关键词为 `幕` 的视频, 不限制每页视频数
```shell
curl -G "https://api.bilibili.com/x/series/recArchivesByKeywords" \
--data-urlencode "mid=2" \
--data-urlencode "keywords=幕" \
--data-urlencode "ps=0"
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"archives": [
{
"aid": 120040,
"title": "高级语言弹幕测试",
"pubdate": 1311616515,
"ctime": 1497344798,
"state": 0,
"pic": "http://i1.hdslb.com/bfs/archive/55a553659799d8a6fcb645d8f1f9df418ad6fe4e.jpg",
"duration": 911,
"stat": {
"view": 3584767
},
"bvid": "BV1Xx411c7cH",
"ugc_pay": 0,
"interactive_video": false,
"enable_vt": 0,
"vt_display": "",
"playback_position": 0
},
{
"aid": 2,
"title": "字幕君交流场所",
"pubdate": 1252458549,
"ctime": 1497344798,
"state": 0,
"pic": "http://static.hdslb.com/images/transparent.gif",
"duration": 2055,
"stat": {
"view": 4609291
},
"bvid": "BV1xx411c7mD",
"ugc_pay": 0,
"interactive_video": false,
"enable_vt": 0,
"vt_display": "",
"playback_position": 0
},
{
"aid": 271,
"title": "弹幕测试专用",
"pubdate": 1249886475,
"ctime": 1497344798,
"state": 0,
"pic": "http://i1.hdslb.com/bfs/archive/a5980672f3d03e8292148748a63de99cd45679d3.jpg",
"duration": 1213,
"stat": {
"view": 4857422
},
"bvid": "BV1xx411c7Xg",
"ugc_pay": 0,
"interactive_video": false,
"enable_vt": 0,
"vt_display": "",
"playback_position": 0
}
],
"page": {
"num": 1,
"size": 0,
"total": 3
}
}
}
```
</details>
## 创建视频列表
> https://api.bilibili.com/x/series/series/createAndAddArchives
*请求方式: POST*
认证方式: Cookie (SESSDATA)
**URL参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ----| ---- | ------ | ---- |
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
**正文参数 (multipart/form-data):**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| mid | num | 用户 mid | 必要 | |
| name | str | 标题 | 必要 | |
| keywords | str | 关键词 | 不必要 | |
| description | str | 简介 | 不必要 | |
| aids | str | 视频 aid 列表 | 不必要 | 以 `,` 分隔, 如 `2,112861,112861976201494,976201494` |
**JSON回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------- |
| code | num | 返回值 | 0: 成功 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 信息本体 | |
`data` 对象:
| 字段 | 类型 | 内容 | 备注 |
| --------- | ---- | ------------ | ---- |
| series_id | num | 视频列表 ID | |
**示例:**
`mid=616368979` 创建视频列表, 标题为 `NAME`, 视频为 `112861976201494`
```shell
curl -X POST --url "https://api.bilibili.com/x/series/series/createAndAddArchives" \
--url-query "csrf=xxxxxxxxxx" \
--data-urlencode "mid=616368979" \
--data-urlencode "name=NAME" \
--data-urlencode "aids=112861976201494" \
-b "SESSDATA=xxx"
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"series_id": 4269765
}
}
```
</details>
## 删除视频列表
> https://api.bilibili.com/x/series/series/delete
*请求方式: POST*
认证方式: Cookie (SESSDATA)
**URL参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ----| ---- | ------ | ---- |
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
| mid | num | 用户 mid | 必要 | |
| series_id | num | 视频列表 ID | 必要 | |
| aids | str | 空 | 不必要 | |
**JSON回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------- |
| code | num | 返回值 | 0: 成功 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 空 | |
**示例:**
`mid=616368979` 删除视频列表 `series_id=4269765`
```shell
curl -X POST --url "https://api.bilibili.com/x/series/series/delete" \
--url-query "csrf=xxxxxxxxxx" \
--url-query "series_id=4269765" \
--url-query "mid=616368979" \
-b "SESSDATA=xxx"
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 删除视频列表中的稿件
> https://api.bilibili.com/x/series/series/delArchives
*请求方式: POST*
认证方式: Cookie (SESSDATA)
**URL参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ----| ---- | ------ | ---- |
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
**正文参数 (application/x-www-form-urlencoded):**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| mid | num | 用户 mid | 必要 | |
| series_id | num | 视频列表 ID | 必要 | |
| aids | str | 视频 aid 列表 | 必要 | 以 `,` 分隔, 如 `2,112861,112861976201494,976201494` |
**JSON回复:**
根对象:
| 字段 | 类型 | 内容 | 备注 |
| ------- | ---- | -------- | ---------- |
| code | num | 返回值 | 0: 成功 |
| message | str | 错误信息 | 默认为 0 |
| ttl | num | 1 | |
| data | obj | 空 | |
**示例:**
`mid=616368979` 删除视频列表 `series_id=4269782` 中的 `112861976201494`
```shell
curl -X POST --url "https://api.bilibili.com/x/series/series/delArchives" \
--url-query "csrf=xxxxxxxxxx" \
--data-urlencode "mid=616368979" \
--data-urlencode "series_id=4269782" \
--data-urlencode "aids=112861976201494" \
-b "SESSDATA=xxx"
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 添加稿件至视频列表
> https://api.bilibili.com/x/series/series/addArchives
*请求方式: POST*
认证方式: Cookie (SESSDATA)
**URL参数:**
同[删除视频列表中的稿件](#删除视频列表中的稿件)
**正文参数 (application/x-www-form-urlencoded):**
同[删除视频列表中的稿件](#删除视频列表中的稿件)
**JSON回复:**
同[删除视频列表中的稿件](#删除视频列表中的稿件)
**示例:**
`mid=616368979` 添加视频 `112861976201494` 至视频列表 `series_id=4269782`
```shell
curl -X POST --url "https://api.bilibili.com/x/series/series/addArchives" \
--url-query "csrf=xxxxxxxxxx" \
--data-urlencode "mid=616368979" \
--data-urlencode "series_id=4269782" \
--data-urlencode "aids=112861976201494" \
-b "SESSDATA=xxx"
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>
## 编辑视频列表信息
> https://api.bilibili.com/x/series/series/update
*请求方式: POST*
认证方式: Cookie (SESSDATA)
**URL参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ----| ---- | ------ | ---- |
| csrf | str | CSRF Token (即 Cookies 中 bili_jct ) | 必要 | |
**正文参数 (application/x-www-form-urlencoded):**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| mid | num | 用户 mid | 必要 | |
| series_id | num | 视频列表 ID | 必要 | |
| name | str | 标题 | 必要 | |
| keywords | str | 关键词 | 不必要 | |
| description | str | 简介 | 不必要 | |
| add_aids | str | 视频 aid 列表 | 不必要 | 以 `,` 分隔 |
| del_aids | str | 视频 aid 列表 | 不必要 | |
| aids | str | 空 | 不必要 | |
**JSON回复:**
同[删除视频列表中的稿件](#删除视频列表中的稿件)
**示例:**
`mid=616368979` 编辑视频列表 `series_id=4269782`, 设置标题为 `NAME`, 设置简介为空, 设置关键词 `Telnet`, 添加视频 `112861976201494`
```shell
curl -X POST --url "https://api.bilibili.com/x/series/series/update" \
--url-query "csrf=xxxxxxxxxx" \
--data-urlencode "name=NAME" \
--data-urlencode "mid=616368979" \
--data-urlencode "series_id=4269782" \
--data-urlencode "keywords=Telnet" \
--data-urlencode "add_aids=112861976201494" \
-b "SESSDATA=xxx"
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {}
}
```
</details>

View File

@@ -1,4 +1,6 @@
# web 播放器信息
# 播放器
## web 播放器信息
web 播放器的信息接口,提供正常播放需要的元数据,包括:智能防挡弹幕、字幕、章节看点等。
@@ -16,7 +18,6 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
| w_rid | str | WBI 签名 | 不必要 | |
| wts | num | 当前 unix 时间戳 | 不必要 | |
**json 回复:**
根对象:
@@ -38,8 +39,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
|dm_mask | obj | | webmask 信息(如果没有这一项,说明这个视频没有防挡功能) |
|subtitle | obj | | 字幕信息(需要登录,不登录此项内容为 `[]` |
|view_points| array | | 章节看点信息 |
| 其他 | ... | | 主要是观看记录、使用者等级权限等个人信息 |
| 其他 | ... | | 主要是观看记录、使用者等级权限、背景音乐等信息 |
`dm_mask`对象(如果有):
@@ -58,7 +58,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
| --------- | ----- | -------- | ---- |
|allow_submit|bool | true | |
| lan | str | "" | |
|lan_doc | str | "" | | |
|lan_doc | str | "" | |
|subtitles| array | | 不登录为 `[]` |
`subtitles` 数组内的元素:
@@ -69,7 +69,7 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
| ai_type | num | | |
| id | num | | |
|id_str | str| | 和 id 不一样 |
| is_lock | bool | |
| is_lock | bool | | |
| lan | str | 语言类型英文字母缩写 ||
| lan_doc | str| 语言类型中文名称 | |
|subtitle_url|str| 资源 url 地址 | |
@@ -89,10 +89,10 @@ web 播放器的信息接口,提供正常播放需要的元数据,包括:
示例:
```shell
curl -G https://api.bilibili.com/x/player/wbi/v2?aid=515345690&cid=825851971
curl -G "https://api.bilibili.com/x/player/wbi/v2?aid=515345690&cid=825851971"
```
```json
```jsonc
{
"code": 0,
"message": "0",
@@ -149,5 +149,62 @@ curl -G https://api.bilibili.com/x/player/wbi/v2?aid=515345690&cid=825851971
}
```
## 播放反馈
> https://app.bilibili.com/x/resource/laser2
*请求方式: POST*
注: 该接口不传 Cookie
**URL参数:**
|参数名|类型|内容|必要性|备注|
|-|-|-|-|-|
|mid|num|当前用户 mid|不必要|未登录为空|
|buvid|str|BUVID (APP) 或 buvid3 (Web)|必要|可为任意非空字符串|
|app_key|str|APP 密钥|必要|Web: web_player<br />可为任意非空字符串|
|url|str|日志 URL|非必要|从 [上传接口](../creativecenter/upload.md#上传接口) 得到的 upos 协议 URL|
|task_type|num|任务类型|非必要|300: 播放卡顿<br />301: 进度条君无法调戏<br />354: 校园网无法访问<br />303: 弹幕无法显示<br />553: 跳过首尾时间有误<br />304: 出现浮窗广告<br />305: 无限小电视<br />302: 音画不同步<br />306: 黑屏<br />307: 其他|
**JSON回复:**
|字段|类型|内容|备注|
|-|-|-|-|
|code|num|返回值|0: 成功<br />-400: 请求错误|
|message|str|错误信息|默认为 0|
|ttl|num|1||
|data|obj|数据本体| |
`data` 对象:
|字段|类型|内容|备注|
|-|-|-|-|
|task_id|num|任务 ID?||
**示例:**
播放反馈无限小电视, 不登录, 不传文件, buvid 为 `chenrui-in-icu`
```shell
curl -X POST "https://app.bilibili.com/x/resource/laser2" \
--data-urlencode "buvid=chenrui-in-icu" \
--data-urlencode "app_key=web_player" \
--data-urlencode "task_type=305"
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1,
"data": {
"task_id": 850448532
}
}
```
</details>

View File

@@ -72,7 +72,7 @@ curl 'https://api.bilibili.com/x/v2/history/report' \
## 上报视频播放心跳web端
> https://api.bilibili.com/x/click-interface/web/heartbeat
> https://api.bilibili.com/x/click-interface/web/heartbeat
*请求方式POST*
@@ -80,8 +80,6 @@ curl 'https://api.bilibili.com/x/v2/history/report' \
默认间隔15秒一次, 亦可记录播放历史
尽管以下除正文 `aid` 以外的参数均为非必要, 但缺少可能会导致播放不被记录, 同一 IP/登陆用户 每五分钟最多记录一次播放
该接口较为复杂, 且参数计算方法均为推测, 实际过程不明, 可能含有错误, 若要正式使用可以把已播放的持续时间全都设为相同值
**URL参数:**
@@ -125,11 +123,11 @@ curl 'https://api.bilibili.com/x/v2/history/report' \
| dt | num | 2 | 非必要 | |
| outer | num | 0 | 非必要 | |
| spmid | str | 333.788.0.0 | 非必要 | 作用尚不明确 |
| from_spmid | str | 播放来源? | 非必要 | 也可为空, 如: 444.41.list.card_archive.click |
| session | str | 会话信息? | 非必要 | 每次刷新均不同, 生成原理尚不明确 |
| from_spmid | str | 播放来源? | 非必要 | 也可为空, 如: `444.41.list.card_archive.click` `333.999.0.0` |
| session | str | 会话信息? | 非必要 | 一串无分隔小写 UUID |
| extra | obj | 额外信息, 如播放器版本 | 非必要 | 如: `{"player_version":"4.8.36"}` |
| play_type | num | 播放动作 | 非必要 | 0播放中<br />1开始播放<br />2暂停<br />3继续播放<br />4: 结束播放 |
| csrf | str | CSRF Token即 Cookie 中 bili_jct) | 非必要 | |
| csrf | str | CSRF Token (即 Cookie 中 bili_jct) | 非必要 | |
**json回复**
@@ -172,3 +170,76 @@ curl 'https://api.bilibili.com/x/click-interface/web/heartbeat' \
```
</details>
## 开始观看视频 (web端)
> https://api.bilibili.com/x/click-interface/click/web/h5
*请求方式: POST*
认证方式: Cookie (SESSDATA)
该接口亦被用于计算播放量, 播放量更新不是实时的
**URL参数:**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| w_aid | num | 稿件 aid | 不必要 | |
| w_part | num | 视频分 P 编号 | 不必要 | |
| w_ftime | num | 点击时间戳? | 不必要 | UNIX 秒级时间戳 |
| w_stime | num | 开始播放时间戳? | 不必要 | UNIX 秒级时间戳 |
| w_type | num | 视频类型 | 不必要 | 见[上报视频播放心跳web端](#上报视频播放心跳web端) |
| web_location | num | 网页位置? | 不必要 | 1315873 |
| w_rid | num | WBI 签名 | 不必要 | 参见[WBI 签名](docs/misc/sign/wbi.md) |
| wts | num | UNIX 秒级时间戳 | 不必要 | 参见[WBI 签名](docs/misc/sign/wbi.md) |
**正文参数 (application/x-www-form-urlencoded):**
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
| ------ | ---- | -------- | ------ | ---- |
| mid | num | 当前用户 mid | 不必要 | |
| aid | num | 稿件 aid | 必要 | |
| cid | num | 视频 cid | 不必要 | |
| part | num | 视频分 P 编号 | 不必要 | |
| lv | num | 当前用户等级 | 不必要 | |
| ftime | num | 同 URL 参数中带有 `w_` 前缀的同名参数 | 不必要 | |
| stime | num | 同 URL 参数中带有 `w_` 前缀的同名参数 | 不必要 | |
| type | num | 视频类型 | 不必要 | 见[上报视频播放心跳web端](#上报视频播放心跳web端) |
| sub_type | num | 视频子类型 | 不必要 | 见[上报视频播放心跳web端](#上报视频播放心跳web端) |
| referer_url | str | 与请求头 Referer 字段相同 | 不必要 | |
| outer | num | 0 | 不必要 | |
| spmid | str | 333.788.0.0 | 不必要 | 作用尚不明确 |
| from_spmid | str | 播放来源? | 不必要 | 见[上报视频播放心跳web端](#上报视频播放心跳web端) |
| session | str | 会话信息? | 不必要 | 一串无分隔小写 UUID |
| csrf | str | CSRF Token (即 Cookie 中 bili_jct) | 不必要 | |
**JSON回复:**
根对象:
|字段|类型|内容|备注|
|-|-|-|-|
|code|num|返回值|0成功<br />-400请求错误|
|message|str|错误信息|默认为 `0`|
|ttl|num|1||
**示例:**
```shell
curl 'https://api.bilibili.com/x/click-interface/click/web/h5' \
--data-urlencode 'aid=2' \
```
<details>
<summary>查看响应示例:</summary>
```json
{
"code": 0,
"message": "0",
"ttl": 1
}
```
</details>

View File

@@ -1,6 +1,10 @@
# 视频状态数
## 视频状态数仅avid
<details>
<summary>该接口已失效</summary>
> https://api.bilibili.com/archive_stat/stat
*请求方式GET*
@@ -79,6 +83,8 @@ curl -G 'https://api.bilibili.com/archive_stat/stat' \
</details>
</details>
## 视频状态数bvid/avid
> https://api.bilibili.com/x/web-interface/archive/stat

View File

@@ -6,7 +6,9 @@
## qn视频清晰度标识
**注:该值在 DASH 格式下无效,因为 DASH 格式会取到所有分辨率的流地址**
注:该值在 DASH 格式下无效,因为 DASH 格式会取到所有分辨率的流地址
又注: B站对于新的视频更新了播放设置, 较高分辨率均采用 DASH, 较低分辨率与老视频还保留了 MP4, 这导致较新视频无法获取 MP4 格式的高分辨率视频, 参见 [#606](https://github.com/SocialSisterYi/bilibili-API-collect/issues/606) 或 [cv949156](https://www.bilibili.com/read/cv949156/)
| 值 | 含义 | 备注 |
| ---- | -------------- | ------------------------------------------------------------ |