diff --git a/user/space.md b/user/space.md index 15128c1..1e7f155 100644 --- a/user/space.md +++ b/user/space.md @@ -54,7 +54,7 @@ | dimension | obj | 视频1P分辨率 | | | bvid | str | 视频bvID | | | reason | str | 置顶视频备注 | | -| inter_video | bool | 是否为合作视频 | false:否
ture:是 | +| inter_video | bool | 是否为合作视频 | false:否
true:是 | `data`中的`rights`对象: diff --git a/video/videostream_url.md b/video/videostream_url.md index 18eea01..ce141fd 100644 --- a/video/videostream_url.md +++ b/video/videostream_url.md @@ -12,14 +12,18 @@ 获取的url有效时间为120min,超时失效需要重新获取 +**部分视频**会有**分段**,需要特别注意 + +若视频有分P,仅为单P的视频的url,换P则需更换CID重新获取 + **参数:** -| 参数名 | 类型 | 内容 | 必要性 | 备注 | -| ------ | ---- | -------------- | ------ | -------------------------------------------------- | -| aid | url | 视频avID | 非必要 | avID与bvID任选一个 | -| bvid | url | 视频bvID | 非必要 | avID与bvID任选一个 | -| cid | url | 视频CID | 必要 | | -| qn | url | 视频清晰度选择 | 非必要 | 未登录默认32
登录默认64
**值含义见下表** | +| 参数名 | 类型 | 内容 | 必要性 | 备注 | +| ------ | ---- | -------------- | ------ | ------------------------------------------------------------ | +| aid | url | 视频avID | 非必要 | avID与bvID任选一个 | +| bvid | url | 视频bvID | 非必要 | avID与bvID任选一个 | +| cid | url | 视频CID | 必要 | | +| qn | url | 视频清晰度选择 | 非必要 | 未登录默认32(480P)
登录默认64(720P)
**值含义见下表** | 分辨率代码: @@ -81,21 +85,23 @@ `data`中的`durl`数组: -| 项 | 类型 | 内容 | 备注 | -| ---- | ---- | -------------- | ---- | -| 0 | obj | 视频流地址信息 | | +| 项 | 类型 | 内容 | 备注 | +| ---- | ---- | ----------------- | ---- | +| 0 | obj | 视频分段1信息 | | +| n | obj | 视频分段(n+1)信息 | | +| …… | obj | …… | | `data`中的`durl`数组中的对象: -| 字段 | 类型 | 内容 | 备注 | -| ---------- | ------ | ---------- | ------------------------------ | -| order | num | 1 | 作用尚不明确 | -| length | num | 视频长度 | 单位为毫秒 | -| size | num | 视频大小 | 单位为Byte | -| ahead | str | ??? | 作用尚不明确 | -| vhead | str | ??? | 作用尚不明确 | -| url | str | 视频流url | **重要**
有效时间为120min | -| backup_url | arrary | 备用视频流 | | +| 字段 | 类型 | 内容 | 备注 | +| ---------- | ------ | ------------ | ---------------------------------- | +| order | num | 视频分段序号 | 某些视频会分为多个片段 | +| length | num | 视频长度 | 单位为毫秒 | +| size | num | 视频大小 | 单位为Byte | +| ahead | str | 空 | 作用尚不明确 | +| vhead | str | 空 | 作用尚不明确 | +| url | str | 视频流url | **重要**
链接有效时间为120min | +| backup_url | arrary | 备用视频流 | | `data`中的`durl`数组中的对象中的`backup_url`数组: @@ -105,6 +111,8 @@ **示例:** +**视频无分段时** + 获取视频`av99999999`/`BV1y7411Q7Eq`中的1P(CID=`171776208`)的视频流url,清晰度为1080P+ http://api.bilibili.com/x/player/playurl?avid=99999999&cid=171776208&qn=112 @@ -158,99 +166,104 @@ } ``` +**视频有分段时** + +获取视频`av138284`/`BV1Tx411w7PX`中的2P(CID=`872498`)的视频流url,清晰度为1080P + + http://api.bilibili.com/x/player/playurl?avid=138284&cid=872498&qn=80 + + 同http://api.bilibili.com/x/player/playurl?bvid=BV1Tx411w7PX&cid=872498&qn=80 + +```json +{ + "code": 0, + "message": "0", + "ttl": 1, + "data": { + "from": "local", + "result": "suee", + "message": "", + "quality": 16, + "format": "flv360", + "timelength": 1437918, + "accept_format": "flv,flv720,flv480,flv360", + "accept_description": [ + "高清 1080P", + "高清 720P", + "清晰 480P", + "流畅 360P" + ], + "accept_quality": [ + 80, + 64, + 32, + 16 + ], + "video_codecid": 7, + "seek_param": "start", + "seek_type": "offset", + "durl": [ + { + "order": 1, + "length": 364417, + "size": 23018310, + "ahead": "", + "vhead": "", + "url": "http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/98/24/872498/872498-1-15.flv?e=ig8euxZM2rNcNbRB7zUVhoM17WuBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=hwbv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=f99db2dc9b8c65c245515b29b9ca8b16&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000", + "backup_url": [ + "http://upos-sz-mirrorks3c.bilivideo.com/upgcxcode/98/24/872498/872498-1-15.flv?e=ig8euxZM2rNcNbRB7zUVhoM17WuBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=ks3cbv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=74d0d62697364346f88d9c39430ce23c&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=40000000" + ] + }, + { + "order": 2, + "length": 364395, + "size": 23694756, + "ahead": "", + "vhead": "", + "url": "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/98/24/872498/872498-2-15.flv?e=ig8euxZM2rNcNbRjhbUVhoM17bNBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=cosbv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=308c87c55f3325bdaac2a3e8632948ee&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000", + "backup_url": [ + "http://upos-sz-mirrorks3c.bilivideo.com/upgcxcode/98/24/872498/872498-2-15.flv?e=ig8euxZM2rNcNbRjhbUVhoM17bNBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=ks3cbv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=eb8f043e0f36f82ab9c62fd002143438&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=40000000" + ] + }, + { + "order": 3, + "length": 352333, + "size": 22835734, + "ahead": "", + "vhead": "", + "url": "http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/98/24/872498/872498-3-15.flv?e=ig8euxZM2rNcNbRjhwdVhoM17bdVhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=hwbv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=2685b7649f4bb6eb90f986f125432d78&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000", + "backup_url": [ + "http://upos-sz-mirrorks3c.bilivideo.com/upgcxcode/98/24/872498/872498-3-15.flv?e=ig8euxZM2rNcNbRjhwdVhoM17bdVhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=ks3cbv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=922543bfb26184f901187bf9c39c69b2&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=40000000" + ] + }, + { + "order": 4, + "length": 356773, + "size": 23466279, + "ahead": "", + "vhead": "", + "url": "http://upos-sz-mirrorkodo.bilivideo.com/upgcxcode/98/24/872498/872498-4-15.flv?e=ig8euxZM2rNcNbRjhbUVhoM17bNBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=kodobv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=9d29707faf012797ef2b6de21523fcf2&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000", + "backup_url": [ + "http://upos-sz-mirrorks3c.bilivideo.com/upgcxcode/98/24/872498/872498-4-15.flv?e=ig8euxZM2rNcNbRjhbUVhoM17bNBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1589874109&gen=playurl&os=ks3cbv&oi=1965551630&trid=ceac015d41e04a7b90ec972db710524fu&platform=pc&upsig=9ad4524d31c8d9695ae07b400b73ed29&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=40000000" + ] + } + ] + } +} +``` + ## 视频的获取 -将`data`.`durl`.`[0]`.`url`或`data`.`durl`.`[0]`.`backup_url`.`[0]`中的内容作为url进行GET操作 +将`data`.`durl`.`[1-n]`.`url`或`data`.`durl`.`[1-n]`.`backup_url`.`[0]`中的内容作为url进行GET操作, 如果有多个视频, 需要手动合并处理 -Header中的`referer`为 `http://www.bilibili.com`或`https://www.bilibili.com`域名下 +需要验证Header中`referer`在 `http://www.bilibili.com`或`https://www.bilibili.com`域名下 -以上述示例为例: +**无referer或错误的情况会返回403 Forbidden**故无法获取 -**无referer或错误的情况会返回403 Forbidden** +**以上述视频url为例:** -**发送:** - -```http -GET http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/08/62/171776208/171776208-1-112.flv?e=ig8euxZM2rNcNbhMnwhVhwdlhzK3hzdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1589565412&gen=playurl&os=hwbv&oi=606631998&trid=e0fa5f9a7610440a871279a28fae85aau&platform=pc&upsig=5f469cb4c190ed54b89bd40cc37eddff&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000 HTTP/1.1 -User-Agent: PostmanRuntime/7.24.1 -Accept: */* -Cache-Control: no-cache -Postman-Token: 7f6ab887-69da-400c-ba7d-f5c40f27e1c3 -Host: upos-sz-mirrorhw.bilivideo.com -Accept-Encoding: gzip, deflate, br -Connection: keep-alive - - -``` - -**回复:** - -```http -HTTP/1.1 403 Forbidden -Server: openresty -Date: Fri, 15 May 2020 16:09:34 GMT -Content-Type: video/x-flv -Content-Length: 166 -Connection: keep-alive -X-Upsig-Version: 190420 -via: CHN-SCchengdu-AREACT1-CACHE57[1] -Access-Control-Expose-Headers: Content-Length,Content-Range - - -403 Forbidden - -

403 Forbidden

-
- -``` - -**有referer时则验证通过** - -**发送:** - -```http -GET http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/08/62/171776208/171776208-1-112.flv?e=ig8euxZM2rNcNbhMnwhVhwdlhzK3hzdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1589565412&gen=playurl&os=hwbv&oi=606631998&trid=e0fa5f9a7610440a871279a28fae85aau&platform=pc&upsig=5f469cb4c190ed54b89bd40cc37eddff&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000 HTTP/1.1 -referer: http://www.bilibili.com/ -User-Agent: PostmanRuntime/7.24.1 -Accept: */* -Cache-Control: no-cache -Postman-Token: 9e409e47-dc77-4c40-8fe2-1ea7c0905961 -Host: upos-sz-mirrorhw.bilivideo.com -Accept-Encoding: gzip, deflate, br -Connection: keep-alive - - -``` - -**回复:** - -正文为视频内容 - -```http -HTTP/1.1 200 OK -Date: Fri, 15 May 2020 16:13:01 GMT -Content-Type: video/x-flv -Content-Length: 219827828 -Connection: keep-alive -X-Upsig-Version: 190420 -Server: openresty -x-reserved: amazon, aws and amazon web services are trademarks or registered trademarks of Amazon Technologies, Inc -x-amz-request-id: 00000171ED11F963915698CFDF24DE1C -ETag: "b5b14ac8295bf38b56650cc7660aa16b-5" -Last-Modified: Mon, 30 Mar 2020 16:50:07 GMT -x-amz-expiration: expiry-date="Sat, 30 May 2020 00:00:00 GMT", rule-id="rule-5d42" -x-amz-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCScDbHkW6YJFJqXuVozY87putiDpckA7 -X-CCDN-Expires: 2304606 -via: CHN-SCchengdu-AREACT1-CACHE66[6],CHN-SCchengdu-AREACT1-CACHE22[0,TCP_HIT,3],CHN-ZJwenzhou-AREACT1-CACHE29[20],CHN-ZJwenzhou-AREACT1-CACHE22[0,TCP_HIT,17],CHN-SH-GLOBAL1-CACHE28[24],CHN-SH-GLOBAL1-CACHE21[0,TCP_HIT,22] -x-hcs-proxy-type: 1 -X-CCDN-CacheTTL: 2592000 -nginx-hit: 1 -Age: 287667 -Accept-Ranges: bytes -Access-Control-Expose-Headers: Content-Length,Content-Range - -………… -``` +wget --referer "http://www.bilibili.com" "http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/08/62/171776208/171776208-1-112.flv?e=ig8euxZM2rNcNbhMnwhVhwdlhzK3hzdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1589565412&gen=playurl&os=hwbv&oi=606631998&trid=e0fa5f9a7610440a871279a28fae85aau&platform=pc&upsig=5f469cb4c190ed54b89bd40cc37eddff&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=293793435&logo=80000000" -O video.flv +回复正文将返回一个flv文件的数据 \ No newline at end of file