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 会:
- 解析视频信息
- 显示可用的分辨率列表(如 2160p、1080p、720p、480p)
- 显示每个分辨率的预估文件大小
- 等待你选择
使用键盘操作:
↑/↓或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+ 环境
适合人群:习惯在终端工作、追求简洁体验的用户。
对比总结
| 特性 | Yoinks | yt-dlp | you-get | lux |
|---|---|---|---|---|
| 支持站点 | 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: 为什么有些视频下载失败?
视频下载失败可能有以下原因:
- 地区限制:某些视频在特定国家/地区不可访问
- 需要登录:部分视频需要登录才能观看(如 YouTube 会员内容)
- 站点反爬:某些网站更新了反爬机制,yt-dlp 尚未适配
- 网络问题:网络连接不稳定或被防火墙拦截
解决方案:
- 使用代理:
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 值得一试。它可能还不是最完善的工具(批量下载和播放列表支持仍在开发中),但它的用户体验和发展潜力令人期待。
相关链接:
希望这篇博客文章对您有所帮助!
相关文章推荐: