Python脚本中使用yt-dlp的rate-limit限速功能不生效如何解决
yt-dlp Python API限速功能正确配置方案
你之前配置不生效的核心原因是yt-dlp的Python API与CLI参数规则存在差异:CLI的--limit-rate参数对应API的配置键为ratelimit,且API侧不支持带单位的字符串格式,必须传入整数类型的字节每秒数值。
正确配置示例
以下为限速500KB/s的写法:
ydl_opts = { 'ratelimit': 512000 # 单位为字节/秒,500KB/s = 500 * 1024 = 512000 字节/秒 } with yt_dlp.YoutubeDL(ydl_opts) as ydl: ydl.download([link])
常用限速值换算参考
- 限速1MB/s:
'ratelimit': 1048576(1 * 1024 * 1024) - 限速250KB/s:
'ratelimit': 256000(250 * 1024) - 限速2Mbps:
'ratelimit': 262144(2Mbps = 256KB/s)
注意事项
该限速为单线程限速,如果你的配置中开启了多线程分片下载,总下载速度为单线程限速乘以线程数,需要对应调低ratelimit数值以达到预期总限速效果。
内容的提问来源于stack exchange,提问作者crawf
相关产品推荐
相关产品推荐

