Yoinks 完全指南:终端视频下载神器,支持 1800+ 网站批量下载

Yoinks 完全指南:终端视频下载神器,支持 1800+ 网站批量下载

Yoinks 完全指南:终端视频下载神器,支持 1800+ 网站批量下载

如果你经常需要从 YouTube、TikTok、Instagram 等平台下载视频,大概率遇到过这些糟心事:网页版转换器满屏弹窗广告、浏览器插件一次只能处理一个视频、想批量保存某位创作者的全部内容却要点到手软。

Yoinks 就是为解决这些问题而生的。它是一个基于 yt-dlp 构建的终端视频下载工具,用 TypeScript 编写,提供友好的交互式界面,支持 1800+ 网站的视频下载。截至 2026 年 11 月,Yoinks 在 GitHub 上已获得超过 7000 颗星,成为终端视频下载领域的热门选择。

本文将带你从零开始掌握 Yoinks:安装配置、5 大实战场景、与同类工具的横向对比,以及常见问题解答。

Yoinks 是什么:终端视频下载的现代化方案

Yoinks 的核心理念很简单:粘贴 URL,选择画质,回车,搞定。没有弹窗,没有广告,没有假下载按钮。

核心特性

  • 1800+ 站点支持:YouTube、X/Twitter、TikTok、Instagram、Threads、Facebook 等主流平台全覆盖
  • 交互式界面:基于 Ink(React for Terminal)构建,支持键盘导航和鼠标点击
  • 自动选择最佳画质:智能识别可用分辨率,显示预估文件大小
  • 音频提取:支持提取 MP3 音频
  • 主题切换:支持 auto/light/dark 三种主题,自动适配终端配色
  • 开源免费:MIT 许可证,代码完全开放

技术架构

Yoinks 的技术栈值得关注:

  • 底层引擎:yt-dlp(20 万+ stars 的 Python 视频下载库)
  • UI 框架:Ink(React 的终端版本)
  • 语言:TypeScript
  • 依赖管理:首次运行自动下载 yt-dlp 独立二进制文件到 ~/.yoinks/bin,无需 Python 环境
  • FFmpeg 处理:自动查找系统 FFmpeg,找不到则使用内置的 ffmpeg-static 作为后备

这意味着你不需要安装 Python,也不需要手动配置 yt-dlp——Yoinks 把这些都封装好了。

安装与配置:3 分钟上手

系统要求

  • Node.js 18+(必须)
  • 操作系统:macOS、Linux、Windows 均支持
  • 可选:系统级 FFmpeg(用于合并高分辨率流和 MP3 提取)

安装方式

方式一:全局安装(推荐)

npm install -g yoinks

安装完成后,可以在任何目录直接使用 yoinks 命令。

方式二:免安装运行

npx yoinks

适合临时使用,不需要全局安装。

方式三:从源码构建(开发者)

git clone https://github.com/pablostanley/yoinks.git
cd yoinks
npm install
npm run build
node dist/cli.js <url>

首次运行

安装完成后,运行以下命令测试:

yoinks

Yoinks 会提示你输入 URL。首次运行时,它会自动下载 yt-dlp 二进制文件到 ~/.yoinks/bin 目录。这个过程只需要几秒钟。

配置选项

Yoinks 的设计哲学是”开箱即用”,配置选项相对简洁:

yoinks --theme light      # 强制使用浅色主题
yoinks --theme dark       # 强制使用深色主题
yoinks --theme auto       # 自动适配终端主题(默认)

主题设置也可以通过交互式界面切换:在运行过程中按 Ctrl+T 或点击底部的主题按钮。

5 大实战场景:从入门到精通

场景一:下载单个视频

最基础的使用场景——下载一个 YouTube 视频。

yoinks https://www.youtube.com/watch?v=dQw4w9WgXcQ

运行后,Yoinks 会:

  1. 解析视频信息
  2. 显示可用的分辨率列表(如 2160p、1080p、720p、480p)
  3. 显示每个分辨率的预估文件大小
  4. 等待你选择

使用键盘操作:

  • ↑/↓ 或 j/k:上下选择
  • 数字键:直接选择对应分辨率
  • Enter:确认下载
  • Esc:返回上一步
  • Ctrl+C:退出

也可以使用鼠标点击格式列表或底部的”Yoink”按钮。

文件默认保存到 ~/Downloads 目录,下载完成后会在终端显示完整路径。

场景二:批量下载多个视频

假设你有一个文本文件 urls.txt,里面包含多个视频链接:

https://www.youtube.com/watch?v=video1
https://www.youtube.com/watch?v=video2
https://www.tiktok.com/@user/video/123456

目前 Yoinks 的批量下载功能还在开发中(Roadmap 显示”Playlist / thread-with-multiple-videos support”),但你可以使用 shell 脚本实现:

while read url; do
  echo "Downloading: $url"
  yoinks "$url" --best  # 假设 --best 标志已实现
  sleep 2  # 避免请求过快
done < urls.txt

注意:截至 v0.3.1,Yoinks 尚未实现 --best 标志来跳过交互式选择器。批量下载需要手动确认每个视频的画质。

场景三:下载播放列表

Yoinks 的播放列表支持同样在开发路线图中。当前版本需要逐个处理播放列表中的视频。

临时解决方案:使用 yt-dlp 提取播放列表中的所有视频链接,然后交给 Yoinks 处理:

# 使用 yt-dlp 提取播放列表 URL
yt-dlp --flat-playlist --print webpage_url "https://www.youtube.com/playlist?list=PLxxxxxx" > playlist_urls.txt

# 然后使用脚本批量下载
while read url; do
  yoinks "$url"
done < playlist_urls.txt

场景四:选择特定画质

Yoinks 的交互式界面会显示所有可用的分辨率和对应的文件大小。例如:

Available formats:
  2160p (4K)  ~450 MB
  1080p       ~180 MB  ← 推荐
  720p        ~95 MB
  480p        ~45 MB
  Audio only  ~8 MB

使用数字键 2 直接选择 1080p,或者用方向键导航后按 Enter 确认。

如果你经常需要固定画质,可以关注 Yoinks 的更新——--best 标志实现后,可以直接使用:

yoinks <url> --best  # 自动选择最高画质

场景五:提取音频为 MP3

Yoinks 支持从视频中提取音频并保存为 MP3 格式。在格式选择界面,选择最后一项”Audio only”即可。

yoinks https://www.youtube.com/watch?v=music_video

在格式选择器中选择”Audio only”,Yoinks 会自动使用 FFmpeg 提取音频并转换为 MP3。

前提条件:系统需要安装 FFmpeg。如果 Yoinks 找不到系统 FFmpeg,会使用内置的 ffmpeg-static 作为后备。

Yoinks vs 同类工具:横向对比

终端视频下载领域有几个老牌工具:yt-dlp、you-get、lux。让我们从多个维度对比它们与 Yoinks 的差异。

1. yt-dlp:功能最全的底层引擎

GitHub Stars:207,000+
语言:Python
支持站点:1000+

yt-dlp 是 Yoinks 的底层引擎,也是目前功能最强大的视频下载工具。它支持几乎任何你能想到的视频网站,提供极其丰富的命令行参数。

优势:

  • 功能最全面,支持 Cookie 导入、代理设置、字幕下载等高级功能
  • 社区最活跃,更新最频繁
  • 被大量工具集成(包括 Yoinks)

劣势:

  • 命令行参数复杂,学习曲线陡峭
  • 需要 Python 环境
  • 没有交互式界面,纯命令行操作

适合人群:高级用户、需要批量自动化处理的场景。

2. you-get:老牌 Python 下载器

GitHub Stars:56,000+
语言:Python
支持站点:1000+

you-get 是一个历史悠久的视频下载工具,早期以支持国内视频网站(优酷、爱奇艺、腾讯视频)著称。

优势:

  • 对国内视频网站支持较好
  • 命令简单:you-get <url>
  • 支持代理设置

劣势:

  • 更新频率较低,部分站点支持失效
  • 没有交互式界面
  • 需要 Python 环境

适合人群:需要下载国内视频网站内容的用户。

3. lux:Go 语言的高速下载器

GitHub Stars:31,000+
语言:Go
支持站点:100+

lux(原名 annie)是用 Go 编写的视频下载工具,以速度快著称。

优势:

  • 下载速度快(Go 的并发优势)
  • 单二进制文件,无需依赖
  • API 友好,可作为库使用

劣势:

  • 支持站点数量较少(100+ vs Yoinks 的 1800+)
  • 没有交互式界面
  • 部分站点支持不稳定

适合人群:追求下载速度、主要使用主流平台的用户。

4. Yoinks:现代化的终端体验

GitHub Stars:7,000+
语言:TypeScript
支持站点:1800+

Yoinks 的核心优势在于用户体验。它把 yt-dlp 的强大功能封装在一个友好的交互式界面中,降低了使用门槛。

优势:

  • 交互式界面,支持键盘和鼠标
  • 无需 Python 环境(自动下载 yt-dlp 二进制)
  • 主题切换,适配终端配色
  • 显示预估文件大小,方便选择
  • 开源活跃,更新频繁

劣势:

  • 批量下载和播放列表支持尚未完善
  • 高级功能(Cookie、代理)不如 yt-dlp 丰富
  • 需要 Node.js 18+ 环境

适合人群:习惯在终端工作、追求简洁体验的用户。

对比总结

特性Yoinksyt-dlpyou-getlux
支持站点1800+1000+1000+100+
交互式界面✅❌❌❌
需要 Python❌✅✅❌
批量下载开发中✅✅✅
播放列表开发中✅✅✅
主题切换✅❌❌❌
学习曲线低高中中

结论:如果你需要最全面的功能,选 yt-dlp;如果你追求终端里的现代化体验,选 Yoinks。

常见问题解答(FAQ)

Q1: Yoinks 和 yt-dlp 是什么关系?

Yoinks 是基于 yt-dlp 构建的上层应用。yt-dlp 是一个功能强大的 Python 视频下载库(20 万+ stars),Yoinks 在它的基础上添加了交互式终端界面、自动依赖管理、主题切换等功能。

简单来说:yt-dlp 是引擎,Yoinks 是驾驶舱。Yoinks 首次运行时会自动下载 yt-dlp 的独立二进制文件,你不需要手动安装 Python 或 yt-dlp。

Q2: Yoinks 支持哪些操作系统?

Yoinks 支持所有主流操作系统:

  • macOS(Intel 和 Apple Silicon)
  • Linux(x86_64、ARM64)
  • Windows(通过 WSL 或原生 Node.js)

前提是安装了 Node.js 18 或更高版本。

Q3: 下载的视频保存在哪里?

默认情况下,Yoinks 将下载的视频保存到 ~/Downloads 目录。下载完成后,终端会显示完整的文件路径。

目前尚未支持自定义输出目录(-o <dir> 标志在开发路线图中)。

Q4: 为什么有些视频下载失败?

视频下载失败可能有以下原因:

  1. 地区限制:某些视频在特定国家/地区不可访问
  2. 需要登录:部分视频需要登录才能观看(如 YouTube 会员内容)
  3. 站点反爬:某些网站更新了反爬机制,yt-dlp 尚未适配
  4. 网络问题:网络连接不稳定或被防火墙拦截

解决方案:

  • 使用代理:export HTTP_PROXY=http://proxy:port 后运行 Yoinks
  • 更新 yt-dlp:Yoinks 会自动使用最新的 yt-dlp 二进制文件
  • 检查 URL:确保链接正确且视频仍然存在

Q5: Yoinks 是否支持下载字幕?

截至 v0.3.1,Yoinks 尚未提供字幕下载功能。这个功能在开发路线图中,但尚未实现。

如果你需要字幕,可以直接使用 yt-dlp:

yt-dlp --write-sub --sub-lang zh-CN,en <url>

Q6: 如何更新 Yoinks?

如果你使用 npm 全局安装:

npm update -g yoinks

Yoinks 本身会定期检查更新,但 yt-dlp 二进制文件的更新需要手动处理。未来版本会支持 yt-dlp -U 自更新功能(在开发路线图中)。

Q7: Yoinks 是否免费?有广告吗?

Yoinks 是完全免费的开源软件,采用 MIT 许可证。没有任何广告、弹窗或隐藏收费。

这也是 Yoinks 的核心卖点之一——“no shady ads”(没有可疑广告)。与那些满屏弹窗的网页版转换器不同,Yoinks 提供纯净的下载体验。

Q8: 下载视频是否合法?

这取决于你所在的国家和视频的使用方式。Yoinks 在 README 中明确指出:

yoinks is a personal-archiving tool. Downloading content may violate a platform’s terms of service — only download what you have the right to keep, and be excellent to creators.

翻译:Yoinks 是个人存档工具。下载内容可能违反平台的服务条款——只下载你有权保留的内容,并尊重创作者。

建议:

  • 只下载你拥有版权的内容
  • 只下载用于个人学习、研究的内容(合理使用)
  • 不要将下载的内容用于商业用途
  • 尊重创作者的劳动成果

结语

Yoinks 代表了终端工具的一个发展方向:把强大的功能封装在友好的界面中,降低使用门槛。它不是要取代 yt-dlp,而是让 yt-dlp 的强大功能更容易被普通用户接受。

如果你习惯在终端里工作,厌倦了网页版转换器的广告和限制,Yoinks 值得一试。它可能还不是最完善的工具(批量下载和播放列表支持仍在开发中),但它的用户体验和发展潜力令人期待。

相关链接:

希望这篇博客文章对您有所帮助!


相关文章推荐: