fython / BilibiliAPIDocs

哔哩哔哩开放接口第三方文档(仅提供官方曾公开接口)
2.41k stars 385 forks source link

如何获取直播、点播地址? #6

Closed HakuLess closed 8 years ago

HakuLess commented 8 years ago

目前根据URL分析 直播地址

http://live-play.acgvideo.com/live/856/live_14837663_7724658.flv 其中856猜测为服务随机数,14837663为视频mid,但最后7724658部分不清楚是什么加密还是什么

点播地址 http://cn-shcy3-dx.acgvideo.com/vg12/f/9a/3215566hd.mp4?expires=1457420100&ssig=Xr96D4B9sG2ZD2W99rOHng&oi=1961670062&appkey=f3bb208b3d081dc8&or=3026306825&rate=0 ssig是通过什么方式加密的?看22位可能是md5(base64),但参数试了几次不太对,不知道是加密方式搞错了,还是加密用数据不对...

cotaku commented 8 years ago

有相应的API获取直播/点播地址的,不需要这么猜吧?

cnbeining commented 8 years ago

少年 用API就好啦。。。

https://github.com/cnbeining/ABPlayerHTML5-Py/blob/master/live.py#L65-L78

HakuLess commented 8 years ago

这种方式应该是 通过网页抓取数据,我想在移动端(IOS、android)获取能够通过Ijkplayer播放的url ,所以通过移动端抓包 及 看Log抓的上述内容

HakuLess commented 8 years ago

live.bilibili.com/api/playurl?cid=23058&player=1&quality=0 通过这个API可以获取直播地址,感谢@cnbeining

HakuLess commented 8 years ago

还有一个疑问,通过charles截包,在B站官方Android客户端上播放操作,并没有截获到这个API,不太清楚这是什么情况,通过log打印能看到视频的url,不过没有看到获取url部分的操作...

cotaku commented 8 years ago

截不到可能是因为用的是https

HakuLess commented 8 years ago

导入的charles证书,截到了https,但其中没有这个请求... 见鬼了~

cnbeining commented 8 years ago

WS最近很坑爹 找不到踪影。

HakuLess commented 8 years ago

不好意思,再问一下,直播搞定了,点播的API没找到...

triwinds commented 8 years ago

点播可以用bilibili helper 的API: http://interface.bilibili.com/playurl?platform=bilihelper&otype=json&appkey=95acd7f6cc3392f3&cid=视频的CID&quality=4&type=flv

HakuLess commented 8 years ago

Thankyou 已经搞定