Closed jian-lin closed 3 years ago
用标准的链接试试
很迷,现在斗鱼也能正常播放了。
我刚才用qlphelper -d -u 'https://www.douyu.com/9999'
试了一下,发现卡在这里:
$ qlphelper -d -u qlphelper -d -u 'https://www.douyu.com/9999'
Finding stream...
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
和我之前用斗鱼9999试的输出不一样。之前用斗鱼9999试的时候,输出和我最开始发的类似。 感到有点奇怪,于是又试了一下B站直播。发现B站也会和斗鱼9999一样,卡在同一地方。 然后我重新编译,重启后,斗鱼、B站就都正常了。
最后,感谢作者写了这个项目,对我很有帮助。
找到原因了:默认的dns有问题,换了个dns服务器就正常了。
我测试斗鱼也遇到一样的错误,其他的直播都没有问题。
% qlphelper -d -u "https://www.douyu.com/9999"
Finding stream...
Playing: 出去旅游放松几天,24号回来直播 - yyfyyf
Debug: start ffmpeg proc (:0, )
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
我测试斗鱼也遇到一样的错误,其他的直播都没有问题。
% qlphelper -d -u "https://www.douyu.com/9999" Finding stream... Playing: 出去旅游放松几天,24号回来直播 - yyfyyf Debug: start ffmpeg proc (:0, ) Debug: streamer started (:0, ) Debug: danmaku launcher started (:0, ) Debug: ffmpeg started (:0, ) Debug: mpv started (:0, )
你这啥版本的?
我测试斗鱼也遇到一样的错误,其他的直播都没有问题。
% qlphelper -d -u "https://www.douyu.com/9999" Finding stream... Playing: 出去旅游放松几天,24号回来直播 - yyfyyf Debug: start ffmpeg proc (:0, ) Debug: streamer started (:0, ) Debug: danmaku launcher started (:0, ) Debug: ffmpeg started (:0, ) Debug: mpv started (:0, )
你这啥版本的?
4.1.0
之前的版本(4.0.1)也一样
之前的版本(4.0.1)也一样
你能具体一点描述一下错误吗?我这没有问题诶。
没有多余的错误信息,跟 @jian-lin 描述的一样。
我在美国,会不会是这个原因。
有没有办法显示streamfinder的错误信息。
没有多余的错误信息,跟 @jian-lin 描述的一样。
我在美国,会不会是这个原因。
有没有办法显示streamfinder的错误信息。
你上面贴的debug信息来看,在拿真实链接阶段没有问题,问题大概在播放上,我估计和你在美国有关。
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-MEDIA-SEQUENCE:1635031686
#EXT-X-TARGETDURATION:2
#EXTINF:2,
9999rKG98OZafBj1-1635031686.ts?wsAuth=fd6df6c447b5bf8eca35afafa2a4f149&token=web-cph-132466444-9999-aec4e8c4573d36ebfef7eae822b61ea21376ccfe28e19a0d&logo=0&expire=0&did=d3f6ed6c7e6a5f7574cc162400081501&pt=2&st=3&origin=tct&mix=0&isp=&pushdouyu=1&v=220120211024&did=d3f6ed6c7e6a5f7574cc162400081501&tt=1635046895&sign=6e55eca64bfd95989edb04c0878ec316&cdn=&rate=0&ver=Douyu_221102105&iar=1&ive=0&hevc=0&fa=0
#EXTINF:2,
9999rKG98OZafBj1-1635031687.ts?wsAuth=fd6df6c447b5bf8eca35afafa2a4f149&token=web-cph-132466444-9999-aec4e8c4573d36ebfef7eae822b61ea21376ccfe28e19a0d&logo=0&expire=0&did=d3f6ed6c7e6a5f7574cc162400081501&pt=2&st=3&origin=tct&mix=0&isp=&pushdouyu=1&v=220120211024&did=d3f6ed6c7e6a5f7574cc162400081501&tt=1635046895&sign=6e55eca64bfd95989edb04c0878ec316&cdn=&rate=0&ver=Douyu_221102105&iar=1&ive=0&hevc=0&fa=0
#EXTINF:2,
9999rKG98OZafBj1-1635031688.ts?wsAuth=fd6df6c447b5bf8eca35afafa2a4f149&token=web-cph-132466444-9999-aec4e8c4573d36ebfef7eae822b61ea21376ccfe28e19a0d&logo=0&expire=0&did=d3f6ed6c7e6a5f7574cc162400081501&pt=2&st=3&origin=tct&mix=0&isp=&pushdouyu=1&v=220120211024&did=d3f6ed6c7e6a5f7574cc162400081501&tt=1635046895&sign=6e55eca64bfd95989edb04c0878ec316&cdn=&rate=0&ver=Douyu_221102105&iar=1&ive=0&hevc=0&fa=0
可见所有的URL并不以http开头。我觉得这个可能是原因。
#EXTM3U #EXT-X-VERSION:3 #EXT-X-ALLOW-CACHE:NO #EXT-X-MEDIA-SEQUENCE:1635031686 #EXT-X-TARGETDURATION:2 #EXTINF:2, 9999rKG98OZafBj1-1635031686.ts?wsAuth=fd6df6c447b5bf8eca35afafa2a4f149&token=web-cph-132466444-9999-aec4e8c4573d36ebfef7eae822b61ea21376ccfe28e19a0d&logo=0&expire=0&did=d3f6ed6c7e6a5f7574cc162400081501&pt=2&st=3&origin=tct&mix=0&isp=&pushdouyu=1&v=220120211024&did=d3f6ed6c7e6a5f7574cc162400081501&tt=1635046895&sign=6e55eca64bfd95989edb04c0878ec316&cdn=&rate=0&ver=Douyu_221102105&iar=1&ive=0&hevc=0&fa=0 #EXTINF:2, 9999rKG98OZafBj1-1635031687.ts?wsAuth=fd6df6c447b5bf8eca35afafa2a4f149&token=web-cph-132466444-9999-aec4e8c4573d36ebfef7eae822b61ea21376ccfe28e19a0d&logo=0&expire=0&did=d3f6ed6c7e6a5f7574cc162400081501&pt=2&st=3&origin=tct&mix=0&isp=&pushdouyu=1&v=220120211024&did=d3f6ed6c7e6a5f7574cc162400081501&tt=1635046895&sign=6e55eca64bfd95989edb04c0878ec316&cdn=&rate=0&ver=Douyu_221102105&iar=1&ive=0&hevc=0&fa=0 #EXTINF:2, 9999rKG98OZafBj1-1635031688.ts?wsAuth=fd6df6c447b5bf8eca35afafa2a4f149&token=web-cph-132466444-9999-aec4e8c4573d36ebfef7eae822b61ea21376ccfe28e19a0d&logo=0&expire=0&did=d3f6ed6c7e6a5f7574cc162400081501&pt=2&st=3&origin=tct&mix=0&isp=&pushdouyu=1&v=220120211024&did=d3f6ed6c7e6a5f7574cc162400081501&tt=1635046895&sign=6e55eca64bfd95989edb04c0878ec316&cdn=&rate=0&ver=Douyu_221102105&iar=1&ive=0&hevc=0&fa=0
可见所有的URL并不以http开头。我觉得这个可能是原因。
qliveplayer不用hls的斗鱼直播流
但是我这里是连接的hls。Bilibili和huya都是flv。
emmmmm,你确定qlp拿的是hls流而不是flv?
上边那个URL就是qlib.get_url(room_url, QString());
返回的,我加了一行输出得到的。
那应该就是国外ip的原因了,正常情况下那里拿到的是flv流。
试着改了一下,果然可以了
diff -Naur a/src/qlphelper/streamer.cpp b/src/qlphelper/streamer.cpp
--- a/src/qlphelper/streamer.cpp 2021-10-24 00:28:27.638706870 -0400
+++ b/src/qlphelper/streamer.cpp 2021-10-24 00:32:59.603733066 -0400
@@ -266,6 +266,14 @@
} else {
++base_seq;
}
+ } else if (line.contains("douyu")) {
+ if (base_seq > hls_seg) {
+ line.prepend("https://hls1a-akm.douyucdn.cn/live/");
+ hls_seg_queue.enqueue(line);
+ hls_seg = base_seq++;
+ } else {
+ ++base_seq;
+ }
}
}
reply->deleteLater();
看来douyu的hls比较特别,我可以先这样用,反正douyu看的不多。
你好,我是gentoo系统。 编译安装后,能正常看B站,但是斗鱼看不了。ykdl能解析出斗鱼的链接。 用qlphelper会卡在这里:
此时能看到有mpv的进程
ctrl+c后的输出: