Open stevencsc opened 7 years ago
It seems that douyu have used new api interface.
https://github.com/streamlink/streamlink/pull/1015 may help. I didn't test it by myself.
It seems that streamlink/streamlink#1015 using urls which can only work for less than 10 minutes, then the server will close the connection.
可以试试 GO 语言, China 有些人 就是用go 语言写的 可以录。(现在的是用go语言写的 以前的是C#)
@lbcake Could you point out a link to the Douyu downloader in Go?
U try this。链接: https://pan.baidu.com/s/1o8dVgNo 密码: snjt This Go language。 and i dislike go。
confirmed that streamlink should have solved the problem as @kira1928 mentioned above.
Thanks @lbcake. As a reference: https://github.com/Baozisoftware/luzhibo/blob/master/api/getters/douyu.go
Thanks @lbcake. As a reference: https://github.com/Baozisoftware/luzhibo/blob/master/api/getters/douyu.go
@rosynirvana proposed a way to fix the 10 minutes download limit of streamlink/streamlink#1015 in this commit. The communication detail about that commit can be found here.
Now I can download douyu live stream by rosynirvana/douyu_cli for a long enough time.
I think youtube-dl can port that fixed method.
Thanks for the hint. rosynirvana's version is from debugzxcv, which is in turn created by spacemeowx2 (https://github.com/spacemeowx2/DouyuHTML5Player). To port that code, we'll need to ask for explicit permission (change the upstream license or add an exception for youtube-dl) from spacemeowx2.
His whole project is based on debugzxcv, but I think rosynirvana made that exact commit which fixed the 10 minutes limitation. Any way, the license is a problem for youtube-dl. Is it possible to rewrite the logic to avoid license? (I'm totally new about license problem, if that's a bad idea, I'm sorry :p)
First part of douyu's private cipher, dyprvt
in douyu_cli
or black box in DouyuHTML5Player
is a modified version of md5. But the second part is much harder to figure out.
@kira1928: I know clean room reverse engineering is legal (someone writes down how Douyu extracts a video and another turns the flow into Python). I'm not sure about rewriting,
Hi, sorry for bringing up this post, are there any updates on this? Not able to download the offline video https://v.douyu.com/show/o8KxjMdxGNOMVLwb nor download any of the streams on douyu.com. Thank you
youtube-dl https://www.douyu.com/t/shengdian10m67373
[DouyuTV] shengdian10m67373: Downloading webpage
ERROR: Unable to extract room id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Got this error when downloading from douyu. Can you kindly look into this? Thank you
See: #14692
Is there any progress on this? AFAIK, streamlink is able to stream Douyu properly.
Reraise this issue:
youtube-dl https://www.douyu.com/timelessX
[DouyuTV] timelessX: Downloading webpage
[DouyuTV] timelessX: Downloading room info
[DouyuTV] timelessX: Downloading video URL info
Traceback (most recent call last):
File "/usr/local/bin/youtube-dl", line 11, in
Confirmed on 2018.6.4
Apparently, streamlink is able to stream Douyu. # streamlink.exe https://www.douyu.com/timelessX source_http (Video plays...) # streamlink.exe --version streamlink-script.py 0.10.0
[DouyuTV] : Downloading video URL info Traceback (most recent call last): File "main.py", line 19, in
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl__init__.py", line 465, in main
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl__init__.py", line 455, in _real_main
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\YoutubeDL.py", line 1919, in download
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\YoutubeDL.py", line 762, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\extractor\common.py", line 433, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkyaecyzu\build\youtube_dl\extractor\douyutv.py", line 106, in _real_extract
TypeError: list indices must be integers, not str
unable to download the video from douyutv. I am using the latest version 2017.06.18