首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >yt-dlp 'rate-limit‘在Python脚本中不限制速度

yt-dlp 'rate-limit‘在Python脚本中不限制速度
EN

Stack Overflow用户
提问于 2021-11-07 10:36:22
回答 2查看 311关注 0票数 2

我已经实现了yt-dlp作为我的Python脚本的一部分,它工作得很好,但我无法让速率限制功能工作。如果您从CLI运行相同的命令,速率是正确的,谁能告诉我正确的语法?

我尝试了几种组合,如速率限制,限制速率0.5m,500k,500KiB,500,似乎都不起作用

代码语言:javascript
运行
复制
        ydl_opts = {
        'limit-rate': '500k',

    }

    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([link]) 

我在这里使用的是文档;https://github.com/yt-dlp/yt-dlp,但我感到困惑,因为CLI命令可以工作,而不是嵌入式脚本版本。

我也试过将-替换为_,但仍然没有效果,你有什么想法吗?ydl_opts中的其他选项可以正常工作

希望我们可以解决正确的语法,而不是必须实现滴流或节流套接字

如果你能帮上忙,谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-07 17:07:44

查看source code,您会发现您正在寻找的选项名为ratelimit。它的值应该是一个浮点数:

代码语言:javascript
运行
复制
ydl_opts = {
        'ratelimit': 500000
    }

with yt_dlp.YoutubeDL(params=ydl_opts) as ydl:
    ydl.download([link]) 
票数 1
EN

Stack Overflow用户

发布于 2021-11-16 17:18:52

crawfr的答案是正确的。但是,不是随机地搜索源代码,所有的选项都是由doscstrings记录的。可以在docstring of FileDownloader class中找到ratelimit

因为它在文档字符串中,所以如果您不想手动遍历源文件,也可以使用python help来检索它

代码语言:javascript
运行
复制
>>> from yt_dlp import FileDownloader
>>> help(FileDownloader)
Help on class FileDownloader in module yt_dlp.downloader.common:

class FileDownloader(builtins.object)
 |  FileDownloader(ydl, params)
 |
 |  File Downloader class.
...
 |  ratelimit:          Download speed limit, in bytes/sec.
...

附言:写作作为答案,因为没有足够的声誉来评论

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69871651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档