qtparam 签名:没带 cookie 时降级成 &platform=html5;有登录态则先打一次 /nav 看 vipStatus,VIP 追加 fnval=4048&fourk=1、非 VIP 追加 qn=64&fnval=16,wbi 签名基于未追加 fnval 的原始 URL。要高清档位就得带登录 cookie。ep_id 的 ep 前缀在发请求前剥掉,cid 是剧集分集的视频流 ID。curl --location 'http://localhost:4567/api/bilibili/fetch_bangumi_video_playurl?cid=undefined&ep_id=undefined'success 判别{
"success": true,
"data": {
"code": 0,
"message": "string",
"result": {
"accept_description": [
"string"
],
"accept_format": "string",
"accept_quality": [
0
],
"bp": 0,
"can_watch_reason": 0,
"clip_info_list": [
{
"clipType": "string",
"end": 0,
"materialNo": 0,
"start": 0,
"toastText": "string"
}
],
"code": 0,
"dash": {
"audio": [
{
"SegmentBase": {
"Initialization": "string",
"indexRange": "string"
},
"backupUrl": [
"string"
],
"backup_url": [
"string"
],
"bandwidth": 0,
"baseUrl": "string",
"base_url": "string",
"codecid": 0,
"codecs": "string",
"frameRate": "string",
"frame_rate": "string",
"height": 0,
"id": 0,
"md5": "string",
"mimeType": "string",
"mime_type": "string",
"sar": "string",
"segment_base": {
"index_range": "string",
"initialization": "string"
},
"size": 0,
"startWithSAP": 0,
"start_with_sap": 0,
"width": 0
}
],
"dolby": {
"audio": [
null
],
"type": 0
},
"duration": 0,
"minBufferTime": 0,
"min_buffer_time": 0,
"video": [
{
"SegmentBase": {
"Initialization": "string",
"indexRange": "string"
},
"backupUrl": [
"string"
],
"backup_url": [
"string"
],
"bandwidth": 0,
"baseUrl": "string",
"base_url": "string",
"codecid": 0,
"codecs": "string",
"frameRate": "string",
"frame_rate": "string",
"height": 0,
"id": 0,
"md5": "string",
"mimeType": "string",
"mime_type": "string",
"sar": "string",
"segment_base": {
"index_range": "string",
"initialization": "string"
},
"size": 0,
"startWithSAP": 0,
"start_with_sap": 0,
"width": 0
}
]
},
"durls": [
null
],
"dyeid": "string",
"error_code": 0,
"fnval": 0,
"fnver": 0,
"format": "string",
"from": "string",
"has_paid": true,
"is_drm": true,
"is_preview": 0,
"message": "string",
"no_rexcode": 0,
"quality": 0,
"record_info": {
"record": "string",
"record_icon": "string"
},
"result": "string",
"seek_param": "string",
"seek_type": "string",
"status": 0,
"support_formats": [
{
"attribute": 0,
"can_watch_qn_reason": 0,
"codecs": [
"string"
],
"description": "string",
"display_desc": "string",
"format": "string",
"has_preview": true,
"limit_watch_reason": 0,
"need_login": true,
"need_vip": true,
"new_description": "string",
"quality": 0,
"report_params": "string",
"sub_description": "string",
"superscript": "string"
}
],
"timelength": 0,
"type": "string",
"video_codecid": 0,
"video_project": true
}
},
"message": "获取成功",
"meta": {
"requestId": "string",
"clientId": "string",
"platform": "douyin",
"endpoint": "string",
"durationMs": 0,
"attempts": 0,
"trace": [
{
"url": "string",
"method": "string",
"status": 0,
"durationMs": 0,
"reason": "initial",
"retryOf": "string"
}
]
},
"requestPath": "/api/bilibili/fetch_one_video?bvid=BV1xx"
}