返回提交历史
Modified
bangumi/videostream_url.md
+140
-105
Modified
video/videostream_url.md
+20
-20
XFEstudio/bilibili-API-collect
补充剧集相关字段 (#484)
8ff33f2
代码差异
2 个文件
+160
-125
@@ -17,20 +17,20 @@ B站的番剧视频为http流媒体,需要对应的api以视频id获取取流u
17
17
18
18
**注:该值在dash模式且非下载模式时无效**
19
19
20
| 值 | 含义 | 备注 |
21
| ---- | -------------- | ------------------------------------------------------------ |
22
| 6 | 240P 极速 | 仅mp4方式支持 |
23
| 16 | 360P 流畅 | |
24
| 32 | 480P 清晰 | |
25
| 64 | 720P 高清 | web端默认值<br />B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到720P的取流地址<br />**无720P时则为720P60** |
26
| 74 | 720P60 高帧率 | 需要认证登录账号 |
27
| 80 | 1080P 高清 | TV端与APP端默认值<br />需要认证登录账号 |
28
| 112 | 1080P+ 高码率 | 大多情况需求认证大会员账号 |
29
| 116 | 1080P60 高帧率 | 大多情况需求认证大会员账号 |
30
| 120 | 4K 超清 | 需要`fnval&128=128`且`fourk=1`<br />大多情况需求认证大会员账号 |
31
| 125 | HDR 真彩色 | 仅支持dash方式<br />需要`fnval&64=64`<br />大多情况需求认证大会员账号 |
32
| 126 | 杜比视界 | 仅支持dash方式<br />需要`fnval&512=512`<br />大多情况需求认证大会员账号 |
33
| 127 | 8K 超高清 | 仅支持dash方式<br />需要`fnval&1024=1024`<br />大多情况需求认证大会员账号 |
20
| 值 | 含义 | 备注 |
21
|-----|-------------|-----------------------------------------------------------------------------|
22
| 6 | 240P 极速 | 仅mp4方式支持 |
23
| 16 | 360P 流畅 | |
24
| 32 | 480P 清晰 | |
25
| 64 | 720P 高清 | web端默认值<br />B站前端需要登录才能选择,但是直接发送请求可以不登录就拿到720P的取流地址<br />**无720P时则为720P60** |
26
| 74 | 720P60 高帧率 | 需要认证登录账号 |
27
| 80 | 1080P 高清 | TV端与APP端默认值<br />需要认证登录账号 |
28
| 112 | 1080P+ 高码率 | 大多情况需求认证大会员账号 |
29
| 116 | 1080P60 高帧率 | 大多情况需求认证大会员账号 |
30
| 120 | 4K 超清 | 需要`fnval&128=128`且`fourk=1`<br />大多情况需求认证大会员账号 |
31
| 125 | HDR 真彩色 | 仅支持dash方式<br />需要`fnval&64=64`<br />大多情况需求认证大会员账号 |
32
| 126 | 杜比视界 | 仅支持dash方式<br />需要`fnval&512=512`<br />大多情况需求认证大会员账号 |
33
| 127 | 8K 超高清 | 仅支持dash方式<br />需要`fnval&1024=1024`<br />大多情况需求认证大会员账号 |
34
34
35
35
例如:请求1080P+的视频,则`qn=112`
36
36
@@ -42,24 +42,32 @@ B站的番剧视频为http流媒体,需要对应的api以视频id获取取流u
42
42
43
43
该代码为二进制属性位,如需组合功能需要使用`OR`运算结合一下数值
44
44
45
| 值 | 含义 | 备注 |
46
| ---- | ------------------ | ------------------------------------------------------------ |
47
| 0 | flv格式 | 仅H.264编码<br />部分老视频存在分段现象<br />与mp4格式及dash格式互斥 |
48
| 1 | mp4格式 | 仅H.264编码<br />不存在视频分段<br />与flv格式及dash格式互斥 |
49
| 16 | dash格式 | H.264编码或H.265编码<br />部分老视频的清晰度上限低于flv格式<br />与mp4格式及flv格式互斥 |
50
| 64 | 是否需求 HDR 视频 | 必须为dash格式<br />需要`qn=125`<br />大多情况需求认证大会员账号 |
51
| 128 | 是否需求 4K 分辨率 | 该值与`fourk`字段协同作用<br />需要`qn=120`<br />大多情况需求认证大会员账号 |
52
| 256 | 是否需求杜比音频 | 必须为dash格式<br />大多情况需求认证大会员账号 |
53
| 512 | 是否需求杜比视界 | 必须为dash格式<br />大多情况需求认证大会员账号 |
54
| 1024 | 是否需求 8K 分辨率 | 必须为dash格式<br />需要`qn=127`<br />大多情况需求认证大会员账号 |
55
| 2048 | 是否需求 av1 编码 | 必须为dash格式 |
45
| 值 | 含义 | 备注 |
46
|------|-------------|-------------------------------------------------------------|
47
| 0 | flv格式 | 仅H.264编码<br />部分老视频存在分段现象<br />与mp4格式及dash格式互斥 |
48
| 1 | mp4格式 | 仅H.264编码<br />不存在视频分段<br />与flv格式及dash格式互斥 |
49
| 16 | dash格式 | H.264编码或H.265编码<br />部分老视频的清晰度上限低于flv格式<br />与mp4格式及flv格式互斥 |
50
| 64 | 是否需求 HDR 视频 | 必须为dash格式<br />需要`qn=125`<br />大多情况需求认证大会员账号 |
51
| 128 | 是否需求 4K 分辨率 | 该值与`fourk`字段协同作用<br />需要`qn=120`<br />大多情况需求认证大会员账号 |
52
| 256 | 是否需求杜比音频 | 必须为dash格式<br />大多情况需求认证大会员账号 |
53
| 512 | 是否需求杜比视界 | 必须为dash格式<br />大多情况需求认证大会员账号 |
54
| 1024 | 是否需求 8K 分辨率 | 必须为dash格式<br />需要`qn=127`<br />大多情况需求认证大会员账号 |
55
| 2048 | 是否需求 av1 编码 | 必须为dash格式 |
56
56
57
57
例如:请求dash格式且需要HDR的视频流,则`fnval=16|64=80`
58
58
59
## 视频编码代码
60
61
| 值 | 含义 | 备注 |
62
|-----|--------|----------|
63
| 7 | AVC编码 | 8K视频无此格式 |
64
| 12 | HEVC编码 | |
65
| 13 | AV1编码 | |
66
59
67
## 视频伴音音质代码
60
68
61
| 值 | 含义 |
62
| ----- | ---- |
69
| 值 | 含义 |
70
|-------|------|
63
71
| 30216 | 64K |
64
72
| 30232 | 132K |
65
73
| 30280 | 192K |
@@ -92,17 +100,19 @@ B站的番剧视频为http流媒体,需要对应的api以视频id获取取流u
92
100
93
101
**url参数:**
94
102
95
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
96
| ------ | ---- | ---------------- | ------------ | ------------------------------------------------------------ |
97
| avid | num | 稿件avid | 非必要 | |
98
| bvid | str | 稿件bvid | 非必要 | |
99
| ep_id | num | 稿件epid | 必要(可选) | ep_id与cid任选一个 |
100
| cid | num | 视频cid | 必要(可选) | ep_id与cid任选一个 |
101
| qn | num | 视频清晰度选择 | 非必要 | 未登录默认32(480P)<br />登录默认64(720P)<br />**值含义见上表**<br />注:dash方式无效 |
102
| fnval | num | 视频获取方式选择 | 非必要 | 默认为0<br />0 2:flv方式(可能会有分段)<br />1:低清mp4方式(仅240P与360P,且限速65K/s)<br />16 80:dash方式(音视频分流,支持H.265) |
103
| fnver | num | 0 | 非必要 | 固定为0 |
104
| fourk | num | 是否允许4K视频 | 非必要 | 默认为0<br />画质最高1080P:0<br />画质最高4K:1 |
105
| session | str | | 非必要 | 从视频播放页的网页源码中获取 |
103
| 参数名 | 类型 | 内容 | 必要性 | 备注 |
104
|---------------|-----|----------|--------|--------------------------------------------------------------------------------------------------|
105
| avid | num | 稿件avid | 非必要 | |
106
| bvid | str | 稿件bvid | 非必要 | |
107
| ep_id | num | 稿件epid | 必要(可选) | ep_id与cid任选一个 |
108
| cid | num | 视频cid | 必要(可选) | ep_id与cid任选一个 |
109
| qn | num | 视频清晰度选择 | 非必要 | 未登录默认32(480P)<br />登录默认64(720P)<br />**值含义见上表**<br />注:dash方式无效 |
110
| fnval | num | 视频获取方式选择 | 非必要 | 默认为0<br />0 2:flv方式(可能会有分段)<br />1:低清mp4方式(仅240P与360P,且限速65K/s)<br />16 80:dash方式(音视频分流,支持H.265) |
111
| fnver | num | 0 | 非必要 | 固定为0 |
112
| fourk | num | 是否允许4K视频 | 非必要 | 默认为0<br />画质最高1080P:0<br />画质最高4K:1 |
113
| session | str | | 非必要 | 从视频播放页的网页源码中获取 |
114
| from_client | str | BROWSER | 非必要 | |
115
| drm_tech_type | num | 2 | 非必要 | |
106
116
107
117
108
118
@@ -110,74 +120,99 @@ B站的番剧视频为http流媒体,需要对应的api以视频id获取取流u
110
120
111
121
根对象:
112
122
113
| 字段 | 类型 | 内容 | 备注 |
114
| ------- | ----------------------------- | -------- | ---------------------------------------------- |
115
| code | num | 返回值 | 0:成功 <br />-400:请求错误<br />-404:无视频 |
116
| message | str | 错误信息 | 成功为success |
117
| result | 有效时:obj<br />无效时:null | 数据本体 | |
123
| 字段 | 类型 | 内容 | 备注 |
124
|---------|-----------------------|------|------------------------------------|
125
| code | num | 返回值 | 0:成功 <br />-400:请求错误<br />-404:无视频 |
126
| message | str | 错误信息 | 成功为success |
127
| result | 有效时:obj<br />无效时:null | 数据本体 | |
118
128
119
129
`result`对象:
120
130
121
| 字段 | 类型 | 内容 | 备注 |
122
| ------------------ | ------ | ------------------------ | ---------------------------------------- |
123
| from | str | local | 作用尚不明确 |
124
| result | str | suee | 作用尚不明确 |
125
| message | str | 空 | 作用尚不明确 |
126
| quality | num | 当前的视频分辨率代码 | **值含义见上表** |
127
| format | str | 视频格式 | |
128
| timelength | num | 视频长度 | 单位为毫秒<br />不同分辨率/格式可能有略微差异 |
129
| accept_format | str | 视频支持的全部格式 | 每项用`,`分隔 |
130
| accept_description | array | 视频支持的分辨率列表 | |
131
| accept_quality | array | 视频支持的分辨率代码列表 | **值含义见上表** |
132
| video_codecid | num | 固定值:7 | 作用尚不明确 |
133
| seek_param | str | 固定值:start | 作用尚不明确 |
134
| seek_type | str | 固定值:offset | 作用尚不明确 |
135
| durl | array | 视频分段 | **注:仅flv/mp4存在此项** |
136
| dash | obj | dash音视频流信息 | **注:仅dash存在此项** |
137
| support_formats | array | 支持格式的详细信息 | |
131
| 字段 | 类型 | 内容 | 备注 |
132
|--------------------|-------|-----------------------------------|----------------------------|
133
| code | num | 0 | 作用尚不明确 |
134
| is_preview | num | 0 | 作用尚不明确 |
135
| fnver | num | 请求时提供的fnver | |
136
| fnval | num | 请求时提供的fnval | |
137
| video_project | bool | true | |
138
| type | str | 视频流类型 | DASH |
139
| bp | num | 是否可以承包 | 0 |
140
| vip_type | num | 当前用户大会员类型 | |
141
| vip_status | num | 当前用户大会员状态 | |
142
| is_drm | bool | false | |
143
| no_rexcode | num | 0 | |
144
| has_paid | bool | false | |
145
| status | num | 2 | |
146
| from | str | local | 作用尚不明确 |
147
| result | str | suee | 作用尚不明确 |
148
| message | str | 空 | 作用尚不明确 |
149
| quality | num | 当前的视频分辨率代码 | **值含义见上表** |
150
| format | str | 视频格式 | |
151
| timelength | num | 视频长度 | 单位为毫秒<br />不同分辨率/格式可能有略微差异 |
152
| accept_format | str | 视频支持的全部格式 | 每项用`,`分隔 |
153
| accept_description | array | 视频支持的分辨率列表 | |
154
| accept_quality | array | 视频支持的分辨率代码列表 | **值含义见上表** |
155
| video_codecid | num | 默认选择视频流的编码id | 见**视频编码代码** |
156
| seek_param | str | 固定值:start | 作用尚不明确 |
157
| seek_type | str | offset(dash、flv)<br/> second(mp4) | 作用尚不明确 |
158
| durl | array | 视频分段 | **注:仅flv/mp4存在此项** |
159
| dash | obj | dash音视频流信息 | **注:仅dash存在此项** |
160
| support_formats | array | 支持格式的详细信息 | |
161
| clip_info_list | array | | 空,待补充 |
162
| record_info | obj | | 备案信息 |
138
163
139
164
`result`中的`accept_description`数组:
140
165
141
| 项 | 类型 | 内容 | 备注 |
142
| ---- | ---- | --------------- | ---- |
143
| 0 | str | 分辨率名称1 | |
144
| n | str | 分辨率名称(n+1) | |
145
| …… | str | …… | |
166
| 项 | 类型 | 内容 | 备注 |
167
|-----|-----|------------|-----|
168
| 0 | str | 分辨率名称1 | |
169
| n | str | 分辨率名称(n+1) | |
170
| …… | str | …… | |
146
171
147
172
`result`中的`accept_quality`数组:
148
173
149
| 项 | 类型 | 内容 | 备注 |
150
| ---- | ---- | --------------- | ---- |
151
| 0 | str | 分辨率代码1 | |
152
| n | str | 分辨率代码(n+1) | |
153
| …… | str | …… | |
174
| 项 | 类型 | 内容 | 备注 |
175
|-----|-----|------------|-----|
176
| 0 | str | 分辨率代码1 | |
177
| n | str | 分辨率代码(n+1) | |
178
| …… | str | …… | |
154
179
155
180
`result`中的`support_formats`数组:
156
181
157
| 项 | 类型 | 内容 | 备注 |
158
| ---- | ---- | --------------- | ---- |
159
| 0 | obj | 播放格式详细信息1 | |
160
| n | obj | 播放格式详细信息(n+1) | |
161
| …… | obj | …… | |
182
| 项 | 类型 | 内容 | 备注 |
183
|-----|-----|---------------|-----|
184
| 0 | obj | 播放格式详细信息1 | |
185
| n | obj | 播放格式详细信息(n+1) | |
186
| …… | obj | …… | |
162
187
163
188
`support_formats`数组中的对象:
164
189
165
| 字段 | 类型 | 内容 | 备注 |
166
| ---------- | ------ | ------------ | ---------------------------------- |
167
| quality | num | 视频清晰度代码 | |
168
| format | str | 视频格式 | |
169
| new_description | str | 格式描述 | |
170
| display_desc | str | 格式描述 | |
171
| superscript | str | (?) | |
172
| codecs | array | (?) | |
190
| 字段 | 类型 | 内容 | 备注 |
191
|-----------------|-------|---------|-----|
192
| quality | num | 视频清晰度代码 | |
193
| format | str | 视频格式 | |
194
| new_description | str | 格式描述 | |
195
| description | str | 格式描述 | |
196
| display_desc | str | 格式描述 | |
197
| superscript | str | (?) | |
198
| codecs | array | 编码格式列表 | |
199
| need_login | bool | 需要登录 | |
200
| need_vip | bool | 需要大会员 | |
201
| quality | num | 清晰度编号 | |
173
202
174
203
`support_formats`中的`codecs`数组:
175
204
176
| 项 | 类型 | 内容 | 备注 |
177
| ---- | ---- | --------------- | ---- |
178
| 0 | str | (?) | |
179
| 1 | str | (?) | |
205
| 项 | 类型 | 内容 | 备注 |
206
|-----|-----|------|-----------------------------|
207
| 0 | str | 编码格式 | 如:avc1.640032,意为AVC编码 |
208
| 1 | str | 编码格式 | 如:hev1.1.6.L153.90,意为HEVC编码 |
209
210
`result`中的`record_info`对象:
180
211
212
| 项 | 类型 | 内容 | 备注 |
213
|-------------|-----|------|-----------------------|
214
| record_icon | str | | |
215
| record | str | 显示文案 | 登记号:10417060172092207 |
181
216
182
217
---
183
218
@@ -185,30 +220,30 @@ B站的番剧视频为http流媒体,需要对应的api以视频id获取取流u
185
220
186
221
`result`中的`durl`数组:
187
222
188
| 项 | 类型 | 内容 | 备注 |
189
| ---- | ---- | ----------------- | ------------------------- |
190
| 0 | obj | 视频分段1信息 | **注:仅flv方式具有分段** |
191
| n | obj | 视频分段(n+1)信息 | |
192
| …… | obj | …… | |
223
| 项 | 类型 | 内容 | 备注 |
224
|-----|-----|-------------|------------------|
225
| 0 | obj | 视频分段1信息 | **注:仅flv方式具有分段** |
226
| n | obj | 视频分段(n+1)信息 | |
227
| …… | obj | …… | |
193
228
194
229
`durl`数组中的对象:
195
230
196
| 字段 | 类型 | 内容 | 备注 |
197
| ---------- | ------ | ------------ | ---------------------------------- |
198
| order | num | 视频分段序号 | 某些视频会分为多个片段(从1顺序增长) |
199
| length | num | 视频长度 | 单位为毫秒 |
200
| size | num | 视频大小 | 单位为Byte |
201
| vhead | str | 空 | 作用尚不明确 |
202
| url | str | 视频流url | **注:url内容存在转义符**<br />有效时间为120min |
203
| backup_url | array | 备用视频流 | |
231
| 字段 | 类型 | 内容 | 备注 |
232
|------------|-------|--------|-----------------------------------|
233
| order | num | 视频分段序号 | 某些视频会分为多个片段(从1顺序增长) |
234
| length | num | 视频长度 | 单位为毫秒 |
235
| size | num | 视频大小 | 单位为Byte |
236
| vhead | str | 空 | 作用尚不明确 |
237
| url | str | 视频流url | **注:url内容存在转义符**<br />有效时间为120min |
238
| backup_url | array | 备用视频流 | |
204
239
205
240
`durl`数组中的对象中的`backup_url`数组:
206
241
207
| 项 | 类型 | 内容 | 备注 |
208
| ---- | ---- | ------------------- | ----------------------------------------------- |
209
| 0 | str | 备用视频流url 1 | **注:url内容存在转义符**<br />有效时间为120min |
210
| n | str | 备用视频流url (n+1) | |
211
| …… | str | …… | |
242
| 项 | 类型 | 内容 | 备注 |
243
|-----|-----|----------------|-----------------------------------|
244
| 0 | str | 备用视频流url 1 | **注:url内容存在转义符**<br />有效时间为120min |
245
| n | str | 备用视频流url (n+1) | |
246
| …… | str | …… | |
212
247
213
248
**示例:**
214
249
@@ -129,26 +129,26 @@ B站的视频为http流媒体,需要对应的api以视频id获取取流url,
129
129
130
130
`data`对象:
131
131
132
| 字段 | 类型 | 内容 | 备注 |
133
| ------------------ | ------ | ------------------------ | ---------------------------------------- |
134
| from | str | local | 作用尚不明确 |
135
| result | str | suee | 作用尚不明确 |
136
| message | str | 空 | 作用尚不明确 |
137
| quality | num | 当前的视频分辨率代码 | **值含义见上表** |
138
| format | str | 视频格式 | |
139
| timelength | num | 视频长度(毫秒值) | 单位为毫秒<br />不同分辨率/格式可能有略微差异 |
140
| accept_format | str | 视频支持的全部格式 | 每项用`,`分隔 |
141
| accept_description | array | 视频支持的分辨率列表 | |
142
| accept_quality | array | 视频支持的分辨率代码列表 | **值含义见上表** |
143
| video_codecid | num | 固定值:7 | 作用尚不明确 |
144
| seek_param | str | 固定值:start | 作用尚不明确 |
145
| seek_type | str | offset(dash、flv)<br/> second(mp4) | 作用尚不明确 |
146
| durl | array | 视频分段**注:仅flv、mp4存在此项** | **注:仅flv/mp4存在此项** |
147
| dash | obj | dash音视频流信息 | **注:仅dash存在此项** |
148
| support_formats | array | 支持格式的详细信息 | |
149
| high_format | | null | |
150
| last_play_time | num | 上次播放进度 | 毫秒值 |
151
| last_play_cid | num | 上次播放分p的cid | |
132
| 字段 | 类型 | 内容 | 备注 |
133
|--------------------|-------|-----------------------------------|----------------------------|
134
| from | str | local | 作用尚不明确 |
135
| result | str | suee | 作用尚不明确 |
136
| message | str | 空 | 作用尚不明确 |
137
| quality | num | 当前的视频分辨率代码 | **值含义见上表** |
138
| format | str | 视频格式 | |
139
| timelength | num | 视频长度(毫秒值) | 单位为毫秒<br />不同分辨率/格式可能有略微差异 |
140
| accept_format | str | 视频支持的全部格式 | 每项用`,`分隔 |
141
| accept_description | array | 视频支持的分辨率列表 | |
142
| accept_quality | array | 视频支持的分辨率代码列表 | **值含义见上表** |
143
| video_codecid | num | 默认选择视频流的编码id | 见**视频编码代码** |
144
| seek_param | str | 固定值:start | 作用尚不明确 |
145
| seek_type | str | offset(dash、flv)<br/> second(mp4) | 作用尚不明确 |
146
| durl | array | 视频分段 | **注:仅flv/mp4存在此项** |
147
| dash | obj | dash音视频流信息 | **注:仅dash存在此项** |
148
| support_formats | array | 支持格式的详细信息 | |
149
| high_format | | null | |
150
| last_play_time | num | 上次播放进度 | 毫秒值 |
151
| last_play_cid | num | 上次播放分p的cid | |
152
152
153
153
`data`中的`accept_description`数组:
154
154