终端抓视频,不必再开网页下载器
一个 TypeScript 写的小命令 yoink,可以把网页里的视频流抽出来下载到本地,主打不弹广告、不装额外软件。

适合:经常保存公开教学视频、演讲片段和社媒素材的开发者与内容创作者。
先说结论
yoinks 是一个跑在命令行里的视频抓取工具。它做的事很直接:给你一个网页链接,工具自己去把页面里的视频源找出来,合并成可播放的本地文件。整套流程在终端里完成,没有网页下载器常见的弹窗、广告和捆绑安装。对经常要保存教程片段、社媒素材或会议回放的人来说,比装一桌面客户端省事得多。
它不是万能下载器,也不做格式转换,更不会帮你绕开付费墙。它就是把“网页里的视频文件”老老实实拿回来。
真正的问题
日常想保存一段网页视频,麻烦点其实在工具选择上。浏览器扩展装多了会拖慢页面,点开不明来源的下载站又要担心广告插件和诱导安装。系统自带的录屏也能用,但录出来的画质跟着编码走,遇到加密流直接黑屏。
更糟的是版权和合规。看到一段可下载的视频不代表可以随便转存分发,有些平台明确禁止离线下载,绕过保护本身就有合规风险。任何号称“万能下载”的工具,遇到付费内容和 DRM 加密都会失灵,这时候硬上只会浪费时间。
yoinks 的定位就卡在这个缝隙里:处理公开页面里常规的视频文件,前提是用户自己有保存和使用权限。
怎么做更省力
工具本身是 TypeScript 项目,安装和调用都走命令行,熟悉终端的人几行就能跑通。下面这套流程适合经常抓素材的朋友。
第一步,确认来源合法。教学站点、自家后台、公开演讲页面这类内容,保存下来做笔记一般没问题;会员专享视频、私密链接要先看授权条款。第二步,准备 Node 环境。TypeScript 项目通常需要 Node.js 18 及以上版本,本地装好后用包管理器拉代码、装依赖、构建产物。第三步,运行命令。
下面是常见的几类输入和对应的处理思路,可以对照自己的场景看一眼。
| 视频来源类型 | 工具表现 | 建议操作 |
|---|---|---|
| 公开教学页面 | 通常能识别到 mp4 或 m3u8 源 | 直接传链接,配合输出目录参数 |
| 视频流分片 | 支持合并分段流 | 预留磁盘空间,留足合并时间 |
| 加密会员内容 | 无法绕过 DRM | 改走官方下载或录屏授权版本 |
| 直播实时流 | 多数情况抓不到完整文件 | 改用官方回放或离线缓存功能 |
跑完命令后建议立刻播放检查,确认音画同步、时长完整,再把素材归类放到对应项目目录里。
哪些坑要避开
命令行工具看着简单,踩坑点不少。第一,别抓来源不明的内容。GitHub 上名字相近的项目很多,有些会附带挖矿脚本或后门,拉代码前先看仓库的提交记录、星标数和最近的 issue 反馈。第二,注意隐私输入。直接把带登录态的完整链接丢进工具,等于把会话信息交给本地进程,确认链接里没有 token、签名参数这类敏感字段。
第三,磁盘和带宽容易被忽略。一段两小时的高清讲座,原始文件可能几个 GB,SSD 空间要提前腾好;网络不稳定时合并分片会失败,可以加超时参数或换更稳定的时段再跑。第四,合规边界。下载到本地只是物理动作,公开分发还是要看平台授权和企业内部规定,尤其是公司素材和有版权水印的内容。
第五点最容易被忽视:版本更新快。开源工具迭代频繁,命令参数、依赖版本都会有变化,按官方文档为准,别死记网上过时的教程。
现在就能动手
今天就能做的事只有一件:打开 GitHub 仓库页面,看一眼 README、License 和最近一次提交时间,再决定要不要在本地跑一次试抓。判断标准很朴素——能说清来源、授权清晰、依赖干净,那就装一份;说不清就先放放。
跑通的最小流程:装好 Node 18 以上版本,克隆仓库,安装依赖,按文档里的命令传一个公开页面试试,成功后把素材归类存放。装好后顺手记一条笔记:哪些站点能用、哪些抓不下来、报错信息长什么样。下次再遇到类似需求,直接复用这套经验,不用从零猜起。