Yt-dlp:YouTube下载即将新增要求

💡 原文中文,约3100字,阅读约需8分钟。
📝

内容提要

yt-dlp要求用户安装Deno等JavaScript运行时,以确保YouTube下载功能正常。由于YouTube的变更,内置JS解释器已无法满足需求。用户需根据安装方式进行相应配置,其他网站仍可正常使用yt-dlp。

🎯

关键要点

  • yt-dlp要求用户安装Deno等JavaScript运行时,以确保YouTube下载功能正常。
  • 由于YouTube的变更,内置JS解释器将无法满足需求。
  • 用户需根据安装方式进行相应配置,安装Deno或其他支持的JavaScript运行时。
  • yt-dlp仍可在其他网站上正常使用,无需JavaScript运行时。
  • yt-dlp与JS运行时的关系类似于与ffmpeg的关系,用户需自行准备ffmpeg。
  • yt-dlp放弃正则表达式方案,转而采用基于抽象语法树的方法以应对YouTube播放器JS的变更。
  • 选择Deno是因为其安全性和便于安装的特性。
  • 除了Deno,Node和Bun也被支持,但Deno是默认选项。
  • yt-dlp将停止使用PhantomJS,因其技术过时且存在安全隐患。
  • yt-dlp维护者不考虑使用Selenium或无头浏览器方案。
  • Deno的最低要求版本暂定为2.x,Node的最低要求版本为>=21。
  • 欢迎为其他JavaScript运行时添加支持,需符合现有框架规范。

延伸问答

为什么yt-dlp需要安装Deno?

yt-dlp需要安装Deno等JavaScript运行时,以应对YouTube的变更,确保下载功能正常运行。

如果不安装Deno,yt-dlp还能使用吗?

可以,yt-dlp在其他数千个网站上仍可正常使用,但YouTube下载功能将受到限制。

Deno的最低版本要求是什么?

Deno的最低要求版本暂定为2.x。

yt-dlp为何放弃使用PhantomJS?

yt-dlp放弃PhantomJS是因为该技术过时且存在安全隐患,调试难度高。

yt-dlp如何处理YouTube播放器的JS变更?

yt-dlp采用基于抽象语法树的方法来应对YouTube播放器JS的变更,放弃了正则表达式方案。

除了Deno,还有哪些JavaScript运行时被支持?

除了Deno,Node和Bun也被支持,但Deno是默认选项。

➡️

继续阅读