YouTube音源的歌无法播放
INFO: (spawn) running yt-dlp -f 140 --dump-json ytsearch1:HUMAN LOST - Fox loco phantom INFO: (spawn) running yt-dlp -f 140 --dump-json https://www.youtube.com/watch?v=uzGORjZR1cU WARN: (request) The request timed out, or the requester didn't handle the response. url: "http://kuwo.cn/search/list?key=HUMAN%20LOSTFox%20loco%20phantom" ERROR: (provider/match) connect ETIMEDOUT xx.xx.xx.xx:443 Error: connect ETIMEDOUT xx.xx.xx.xx:443 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) errno: -4039 code: ETIMEDOUT syscall: connect address: xx.xx.xx.xx port: 443 ERROR: (hook) All promises were rejected AggregateError: All promises were rejected
直接使用yt-dlp下载https://www.youtube.com/watch?v=uzGORjZR1cU 是没问题的
INFO: (spawn) running yt-dlp -f 140 --dump-json ytsearch1:HUMAN LOST - Fox loco phantom INFO: (spawn) running yt-dlp -f 140 --dump-json https://www.youtube.com/watch?v=uzGORjZR1cU WARN: (request) The request timed out, or the requester didn't handle the response. url: "http://kuwo.cn/search/list?key=HUMAN%20LOSTFox%20loco%20phantom" ERROR: (provider/match) connect ETIMEDOUT xx.xx.xx.xx:443 Error: connect ETIMEDOUT xx.xx.xx.xx:443 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) errno: -4039 code: ETIMEDOUT syscall: connect address: xx.xx.xx.xx port: 443 ERROR: (hook) All promises were rejected AggregateError: All promises were rejected
直接使用yt-dlp下载https://www.youtube.com/watch?v=uzGORjZR1cU 是没问题的
我這裡簡單測試了一下,似乎無法復現。先標 help wanted。
一样有这个问题,, 大佬解决了不
我更改了yt-dlp.js
18行改为
const dlArguments = (query) => ['-f', '140', '--dump-json', query,'--proxy','http://127.0.0.1:7890'];
运行的时候依旧timeout 7890是我本地的clash代理
同样,对yt-dlp使用了代理,
不过问题好像是出现在provider/match里面的request没有走代理?看不懂
對,應該是 provider/match 的問題。我這裡確認一下。
请问这个问题解决了么?
根据我个人的研究,并不是获取json(即匹配歌曲的时候出现bug),而是已经获取到音源url,下载文件的时候出现bug。~~我个人怀疑是YouTube加强了防火墙,请求直接被拦截了~~我在香港的服务器上通过docker搭建是可以用的,说明可能还是代理问题。这个请求由match.js调用request.js里的函数实现的。
#1355 临时使用可以看看我的修改方案