乐于分享
好东西不私藏

终于不用网页下载视频了!GitHub 17 万 Star,让 AI 帮你下载全网视频

终于不用网页下载视频了!GitHub 17 万 Star,让 AI 帮你下载全网视频

 事情是这样的。上周我想把一个B站教程下载到电脑上,以免哪天就给下架了。打开浏览器,搜「B站视频下载」——好家伙,出来七八个网页工具,每个都要你复制链接→粘贴→等缓冲→下载,中间弹两次广告。 

 后来我在GitHub找到了这个项目于。它叫 yt-dlp。GitHub 17.4w万 Stars。

yt-dlp~$ yt-dlp “your video link”A feature-rich command-line audio/video downloader

 一条命令,把网上几乎所有视频变成你的本地文件 

这东西到底是什么

 yt-dlp 是一个命令行视频下载工具。你给一个链接,它给你一个文件。 

 支持的网站列表有——怎么说呢——1000+。YouTube、B站、抖音、Twitter、Twitch、TikTok、Instagram、Facebook……你去 GitHub 看了一眼它的 extractors 列表,会发现你认识的那几个视频网站只是冰山一角。 

1000+ 网站支持YouTube · B站 · TikTok · Twitter · Twitch · Instagram · FacebookYTBTTTWTV还有 990+ 个在等你发现

 yt-dlp 支持的网站超过 1000 个,常见的都在列表里 

 它的前身是 youtube-dl,那个项目后来更新慢了,社区 fork 了 youtube-dlc,然后又 fork 成现在的 yt-dlp。开源项目就是这点有意思——烂掉的项目不会真的死,它会以另一种方式活过来。 

装一个试试?真的就两步

 我坦率地说,安装 yt-dlp 这件事本身可能是整个使用过程中最「技术」的一步。但也没有你想象的那么难。 

Windows 用户最简单:

 去 GitHub Releases 下载 yt-dlp.exe,扔到任何一个文件夹里,打开命令行就能用了。 

 或者用 winget(Windows 自带的包管理器): 

winget install yt-dlp

macOS:

brew install yt-dlp

 装完之后再装个 ffmpeg(yt-dlp 用它来合并视频和音频),三条命令你的dlp就完整了。 

 我自己刚装完的时候也愣住了——这就好了?

一条命令够你用到80%的场景

 装好之后,打开终端,输入: 

yt-dlp "视频链接"

 等它跑完,当前目录下就多了一个视频文件。 

 我仔细想了一下,这个命令覆盖了我日常 90% 的需求。YouTube 的、B站的、Twitter 上的视频……全都可以。 

要用用不惯,甚至可以让ai帮你下载

进阶:变成你的形状

选画质:

 先看看这个视频有哪些格式可以用: 

yt-dlp -F "视频链接"

 你会看到一长串列表,格式代码从 137、140 到 247、251……然后挑你想要的格式来下载: 

yt-dlp -f "bestvideo[height<=1080]+bestaudio" "视频链接"

 这条命令的意思是:最高 1080p 的视频 + 最好的音频轨道,然后自动合并。 

只想听,不想看:

yt-dlp -x --audio-format mp3 "视频链接"

批量下载整个播放列表:

yt-dlp "播放列表链接"

 它会自动遍历所有视频,一个个下载。你要是跟我一样有「先收藏等有空再看」的毛病,这个命令能帮你把整个收藏夹存回硬盘。 

指定输出文件名:

yt-dlp -o "%(title)s【%(id)s】.%(ext)s" "视频链接"

 默认的文件名就是视频标题,但你也可以按自己的习惯来。按日期分文件夹?可以。按上传者建子目录?也可以。 

真正让我觉得「哇塞」的地方

 如果只是能下载,那它和那些网页工具没有本质区别。yt-dlp 让我服气的是三个细节: 

1. SponsorBlock 集成

 看过 YouTube 视频中间突然插一句「今天这期视频由XXXX赞助」吧?yt-dlp 可以自动把这些段落标记出来,甚至直接跳过。你下载的视频里,没有「别走开广告之后更精彩」——因为根本没有广告。 

yt-dlp --sponsorblock-remove all "视频链接"

2. 从浏览器直接拿登录态

 有些视频需要登录才能看。你不需要手动复制 cookie,一条命令就能把浏览器的登录状态借过来: 

yt-dlp --cookies-from-browser chrome "需要登录的视频链接"

3. 并发下载,快到离谱

yt-dlp -N 5 "视频链接"

 这条命令用 5 个线程同时下载一个视频的分段。如果网络情况好,下载速度可以直接起飞。我刚试的时候以为自己错觉——同样的视频,之前要 40 秒,现在 8 秒钟搞定。 

并发下载效果之前 40 秒现在 8 秒单线程下载-N 5 五线程并发快了 5 倍

 -N 参数开启多线程并发下载,速度直接起飞 

我真心想说的

 yt-dlp,它没有让我失望。 不是因为它功能多强大——当然它的确强大。而是因为它让我对「网上的视频」这件事有了一种掌控感。那些平台规则、版权限制、区域封锁——不是它们不存在了,而是你有了一个选择权。你想在线看就在线看,你想存下来就存下来。你能决定。 

     这大概就是开源软件最质朴的魅力:它不会因为公司战略调整而砍掉你想要的功能,不会因为商业变现而塞广告,不会在某一天通知你「根据相关规定,下载功能已下线」。

     它就在那里,永远是你的。   

项目地址:github.com/yt-dlp/yt-dlp

Jim Gadgets  

Jim 发掘好用工具,探索有趣项目