Streamlink 7.2.0版本发布:流媒体下载工具的重大更新
Streamlink是一款强大的命令行工具,它能够从各种流媒体平台提取视频流,并将其转换为可通过播放器直接观看的格式。该项目的最新版本7.2.0带来了一系列功能改进和问题修复,进一步提升了用户体验和稳定性。
核心功能增强
本次更新对Streamlink的几个核心功能进行了重要改进:
-
依赖管理优化:新增了
decompress额外标记,明确区分了brotli和zstandard这两个解压缩依赖项。这两个库之前是通过urllib3间接引入的,现在被明确标记为可选依赖,使依赖关系更加清晰。 -
重试机制改进:
--retry-streams参数现在支持设置为0,这意味着用户可以取消之前设置的任何重试次数限制,为流媒体连接问题提供了更灵活的解决方案。 -
输出控制增强:
--quiet参数的行为得到了扩展,现在它不仅会抑制日志输出,还会抑制所有文本输出(包括错误信息),这对于完全静默的操作场景非常有用。
用户体验优化
7.2.0版本在用户体验方面做出了多项改进:
-
日志文件处理:修复了
--logfile参数影响控制台输出流的问题,确保日志记录不会干扰正常的控制台输出。 -
交互式输入:改进了用户输入提示在非交互式环境或缺少输入输出流时的行为,使工具在各种环境下都能稳定运行。
-
语言选择:修复了
--hls-audio-select参数的大小写敏感性问题,并改进了语言代码的解析和比较逻辑,使音频轨道选择更加准确可靠。
插件系统更新
Streamlink的插件系统在本版本中也得到了多项改进:
-
插件匹配强化:确保所有插件类都必须有匹配的匹配器,提高了插件系统的稳定性和一致性。
-
特定插件改进:
- euronews插件完全重写并修复了已知问题
- kick插件进行了重构,修复了剪辑匹配器和403 API响应问题
- nicolive插件现在能正确从WebSocket消息加载cookies,并始终过滤掉空白的HLS片段
- okru插件现在能规范化移动端URL
- tf1插件修复了流匹配器问题
-
插件移除:nowtvtr插件因不再需要而被移除。
技术细节更新
-
Chrome DevTools协议:更新了与Chromium最新版本匹配的Chrome DevTools协议接口,确保与最新浏览器版本的兼容性。
-
代码质量工具:多次更新了ruff工具版本(0.9.7→0.9.9→0.11.0→0.11.2),持续改进代码质量和一致性。
总结
Streamlink 7.2.0版本通过一系列功能增强和问题修复,进一步巩固了其作为流媒体下载工具的领先地位。从依赖管理的明确化到用户体验的优化,再到插件系统的改进,这次更新体现了开发团队对产品质量和用户体验的持续关注。对于需要从各种流媒体平台获取内容的用户来说,升级到7.2.0版本将带来更稳定、更灵活的体验。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0218
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0139
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03