chen310 / plugin.video.bili

哔哩哔哩 Kodi 插件
24 stars 3 forks source link

为啥kodi自带播放器播放就是正常的,kodi播放器换成mpv就成了403了 #4

Closed WeihuaGu closed 9 months ago

WeihuaGu commented 10 months ago

这地址有校验还是?

chen310 commented 9 months ago

需要设置请求头

WeihuaGu commented 9 months ago

@chen310 header 在addon.py里定义的嘛,我没找到播放的地址的header定义,等于说这个用的是http_server.py提供的地址?:

video_url = {
                'path': 'http://{}:{}/{}.mpd'.format(ip_address, port, cid),
                'properties': {
                    'inputstream': 'inputstream.adaptive',
                    'inputstream.adaptive.manifest_type': 'mpd',
                    'inputstream.adaptive.manifest_headers': 'Referer=https://www.bilibili.com',
                    'inputstream.adaptive.stream_headers': 'Referer=https://www.bilibili.com'
                }
            }
chen310 commented 9 months ago

@WeihuaGu dash模式下确实是使用http_server.py服务器提供的mpd格式的文件链接,因为dash视频和音频文件是分离的,你给的代码就是提供了header。非dash模式使用的是视频直链

video_url = data['durl'][0]['url']
if video_url:
    video_url += '|Referer=https://www.bilibili.com'

这里的 Referer=https://www.bilibili.com 设置了header

如果要用mpv播放b站视频的话,mpv播放器的ytdl-hook插件提供了bilibili视频解析的功能,可以直接用于播放b站视频

WeihuaGu commented 9 months ago

@chen310 感谢,原来是这么简单的请求头。 mpv 'https://xy36x134x71x163xy.mcdn.bilivideo.cn:4483/upgcxcode/27/02/1342300227/1342300227-1-192.mp4?e=ig8euxZM2rNcNbR1hbdVhwdlhWRghwdVhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1701092656&gen=playurlv2&os=mcdn&oi=1863507614&trid=0000bc5f4768a9814f2c8f9355ce62e3822fu&mid=0&platform=pc&upsig=2ec3b7df62314aabae0d299149373d7d&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,mid,platform&mcdnid=11000633&bvc=vod&nettype=0&orderid=0,3&buvid=&build=0&f=u_0_0&agrr=0&bw=112671&logo=A0000400' --http-header-fields="referer: https://www.bilibili.com" 测试播放成功了