wbt5 / real-url

获取斗鱼&虎牙&哔哩哔哩&抖音&快手等 58 个直播平台的真实流媒体地址(直播源)和弹幕,直播源可在 PotPlayer、flv.js 等播放器中播放。
GNU General Public License v2.0
7.43k stars 1.54k forks source link

老哥虎牙失效了,有时间麻烦修复一下,挺着急的 #180

Open q448159774 opened 3 years ago

q448159774 commented 3 years ago

老哥虎牙失效了,有时间麻烦修复一下,挺着急的

dingzhengjie commented 3 years ago

确实失效了,播放几秒就卡住不动了

shuilingw commented 3 years ago

我用的没有问题。

zqs125 commented 3 years ago

就一起看有问题,我自用的已经修复了,可以发你

lppsuixn commented 3 years ago

就一起看有问题,我自用的已经修复了,可以发你

老哥贴一下代码,谢谢

q448159774 commented 3 years ago

就一起看有问题,我自用的已经修复了,可以发你

老哥贴下 代码吧

dingzhengjie commented 3 years ago

就一起看有问题,我自用的已经修复了,可以发你

老哥贴一下代码,谢谢

rain-dl commented 3 years ago
def live(e):
    i, b = e.split('?')
    r = i.split('/')
    s = re.sub(r'.(flv|m3u8)', '', r[-1])
    c = b.split('&')
    c = [i for i in c if i != '']
    n = {i.split('=')[0]: i.split('=')[1] for i in c}
    fm = urllib.parse.unquote(n['fm'])
    u = base64.b64decode(fm).decode('utf-8')
    p = u.split('_')[0]
    f = str(int(time.time() * 1e7))
    ctype = n['ctype']
    t = n['t']
    mf = hashlib.md5((f + '|' + ctype + '|' + t).encode('utf-8')).hexdigest()
    ll = n['wsTime']
    uid = '0'
    h = '_'.join([p, uid, s, mf, ll])
    m = hashlib.md5(h.encode('utf-8')).hexdigest()
    url = "{}?wsSecret={}&wsTime={}&uid={}&seqid={}&ctype={}&ver=1&t={}".format(i, m, ll, uid, f, ctype, t)
    return url
q448159774 commented 3 years ago
def live(e):
    i, b = e.split('?')
    r = i.split('/')
    s = re.sub(r'.(flv|m3u8)', '', r[-1])
    c = b.split('&')
    c = [i for i in c if i != '']
    n = {i.split('=')[0]: i.split('=')[1] for i in c}
    fm = urllib.parse.unquote(n['fm'])
    u = base64.b64decode(fm).decode('utf-8')
    p = u.split('_')[0]
    f = str(int(time.time() * 1e7))
    ctype = n['ctype']
    t = n['t']
    mf = hashlib.md5((f + '|' + ctype + '|' + t).encode('utf-8')).hexdigest()
    ll = n['wsTime']
    uid = '0'
    h = '_'.join([p, uid, s, mf, ll])
    m = hashlib.md5(h.encode('utf-8')).hexdigest()
    url = "{}?wsSecret={}&wsTime={}&uid={}&seqid={}&ctype={}&ver=1&t={}".format(i, m, ll, uid, f, ctype, t)
    return url

多谢

wbt5 commented 3 years ago

感谢各位,用上面老哥的方法可以获取。但”一起看“频道还是会有过期时间,目前没摸清规律,有时可以播几个小时,有时只能播两分钟。 Duplicate of #177

rain-dl commented 3 years ago

感谢各位,用上面老哥的方法可以获取。但”一起看“频道还是会有过期时间,目前没摸清规律,有时可以播几个小时,有时只能播两分钟。 Duplicate of #177

这个确实很奇怪,我尝试了截取网页端和移动端的地址,都存在短时间内失效的问题,flv和hls地址都一样。这个应该不是地址解析的错误,我尝试用mpv播放网页正常播放的地址也会出现同样的问题。 移动端的地址问题更严重,甚至出现了地址失效后,一段时间内获取的新地址仍然无法访问的情况。 我目前的解决方案是对m3u8采用完全代理,而不是用301或m3u8嵌套地址的方式了。每次客户端访问m3u8时都重新计算新的防盗链参数,下载m3u8内容后,修改其中所有的TS为完整地址,并返回客户端。

gsons commented 3 years ago

感谢各位,用上面老哥的方法可以获取。但”一起看“频道还是会有过期时间,目前没摸清规律,有时可以播几个小时,有时只能播两分钟。 Duplicate of #177

这个确实很奇怪,我尝试了截取网页端和移动端的地址,都存在短时间内失效的问题,flv和hls地址都一样。这个应该不是地址解析的错误,我尝试用mpv播放网页正常播放的地址也会出现同样的问题。 移动端的地址问题更严重,甚至出现了地址失效后,一段时间内获取的新地址仍然无法访问的情况。 我目前的解决方案是对m3u8采用完全代理,而不是用301或m3u8嵌套地址的方式了。每次客户端访问m3u8时都重新计算新的防盗链参数,下载m3u8内容后,修改其中所有的TS为完整地址,并返回客户端。

大佬方便免费提供个http接口吗,我不知怎么计算新的防盗链参数,感谢

rain-dl commented 3 years ago

感谢各位,用上面老哥的方法可以获取。但”一起看“频道还是会有过期时间,目前没摸清规律,有时可以播几个小时,有时只能播两分钟。 Duplicate of #177

这个确实很奇怪,我尝试了截取网页端和移动端的地址,都存在短时间内失效的问题,flv和hls地址都一样。这个应该不是地址解析的错误,我尝试用mpv播放网页正常播放的地址也会出现同样的问题。 移动端的地址问题更严重,甚至出现了地址失效后,一段时间内获取的新地址仍然无法访问的情况。 我目前的解决方案是对m3u8采用完全代理,而不是用301或m3u8嵌套地址的方式了。每次客户端访问m3u8时都重新计算新的防盗链参数,下载m3u8内容后,修改其中所有的TS为完整地址,并返回客户端。

大佬方便免费提供个http接口吗,我不知怎么计算新的防盗链参数,感谢

https://github.com/rain-dl/real-url-proxy-server

gsons commented 3 years ago

感谢各位,用上面老哥的方法可以获取。但”一起看“频道还是会有过期时间,目前没摸清规律,有时可以播几个小时,有时只能播两分钟。 Duplicate of #177

这个确实很奇怪,我尝试了截取网页端和移动端的地址,都存在短时间内失效的问题,flv和hls地址都一样。这个应该不是地址解析的错误,我尝试用mpv播放网页正常播放的地址也会出现同样的问题。 移动端的地址问题更严重,甚至出现了地址失效后,一段时间内获取的新地址仍然无法访问的情况。 我目前的解决方案是对m3u8采用完全代理,而不是用301或m3u8嵌套地址的方式了。每次客户端访问m3u8时都重新计算新的防盗链参数,下载m3u8内容后,修改其中所有的TS为完整地址,并返回客户端。

大佬方便免费提供个http接口吗,我不知怎么计算新的防盗链参数,感谢

https://github.com/rain-dl/real-url-proxy-server 老哥谢谢您亲测可用,方便提交个修复虎牙直播源的Pull requests给作者吗,万分感谢

rain-dl commented 3 years ago

感谢各位,用上面老哥的方法可以获取。但”一起看“频道还是会有过期时间,目前没摸清规律,有时可以播几个小时,有时只能播两分钟。 Duplicate of #177

这个确实很奇怪,我尝试了截取网页端和移动端的地址,都存在短时间内失效的问题,flv和hls地址都一样。这个应该不是地址解析的错误,我尝试用mpv播放网页正常播放的地址也会出现同样的问题。 移动端的地址问题更严重,甚至出现了地址失效后,一段时间内获取的新地址仍然无法访问的情况。 我目前的解决方案是对m3u8采用完全代理,而不是用301或m3u8嵌套地址的方式了。每次客户端访问m3u8时都重新计算新的防盗链参数,下载m3u8内容后,修改其中所有的TS为完整地址,并返回客户端。

大佬方便免费提供个http接口吗,我不知怎么计算新的防盗链参数,感谢

https://github.com/rain-dl/real-url-proxy-server 老哥谢谢您亲测可用,方便提交个修复虎牙直播源的Pull requests给作者吗,万分感谢

这个没办法。这个项目的目的是地址解析,是为了获取一个长时间有效的地址,而目前虎牙的防盗链机制还没完全搞清楚,仅能获取到短期有效的地址。我那个项目是代理,目的是为了通过代理直接观看,现在为了应对防盗链,每次访问都会重新计算防盗链参数,使用期不过几秒钟,才得以应对目前的防盗链机制。

rain-dl commented 3 years ago

dingzhengjie提供了一个新方法,见#203