yt-dlp一个命令行工具就支持1000多个视频网站,但90%的人只用到了它20%的功能,批量下载整频道、提取字幕、指定分辨率、限速防封这些操作一条命令就能搞定
做视频内容站的时候需要一批素材,打开了YouTube上某个科技频道,150多个视频,想着一个一个点下载。下了30个之后手指酸了,进度条显示还要2小时。这时候才知道有yt-dlp这个东西——一条命令,整频道150个视频全自动下载,该带字幕的带字幕,该4K的4K,连文件名都按发布时间排好了。之前那30个手动下载的下午,等于白费。
视频批量下载这个领域,工具不少但真正能打的就那几款。大部分人卡在"知道有工具但不知道怎么用对"这一步——下载报错、画质不对、没有字幕、下了一半被限速封IP,然后就放弃了。这篇文章把主流视频下载工具从"能下载"到"批量自动化"讲清楚,每个平台用什么工具、怎么配置才能稳定下载、批量操作时怎么不触发反爬。
视频批量下载,工具分三个梯队,选对梯队比折腾配置更重要
| 1 | yt-dlp:命令行全能引擎,支持1000+网站,批量下载、字幕提取、格式选择一条命令搞定 |
| 2 | 图形化工具(4K Video Downloader、Hitomi-Downloader、BilibiliDown):上手零门槛但支持的站点少 |
| 3 | 各平台专项工具(BBDown for B站、TikTokDownloader for 抖音):单一平台深度优化,稳定性更高 |
一、yt-dlp:一个命令行工具打通1000多个视频网站
yt-dlp是youtube-dl的活跃分支,GitHub上78K+星标,维护频率极高(几乎每周都有更新)。它的核心价值不是"能下载"——在线解析网站也能下载——而是批量操作、格式控制、元数据处理和自动化集成。支持YouTube、B站、抖音、TikTok、Twitter/X、Instagram、Pornhub、Twitch等1000多个网站,覆盖了你能想到的几乎所有视频平台。
安装方式(选一种即可):
· Windows:下载yt-dlp.exe放到某个目录,加到系统PATH环境变量
· Mac:brew install yt-dlp
· Linux:pip install yt-dlp 或用包管理器安装

· 安装后运行 yt-dlp -U 更新到最新版(这一步很重要,平台接口经常变)
下面是yt-dlp最实用的命令清单,从基础到进阶,按使用频率排列:
# 1. 基础下载:下载单个视频(默认最高画质)yt-dlp "https://www.youtube.com/watch?v=xxxxx"# 2. 指定输出格式为MP4(合并视频流+音频流)yt-dlp -f "bv*+ba/b" --merge-output-format mp4 "视频URL"# 3. 查看视频有哪些分辨率/格式可选yt-dlp -F "视频URL"# 4. 下载指定分辨率(比如1080P)yt-dlp -f "137+140" --merge-output-format mp4 "视频URL"# 5. 只下载音频,转成MP3yt-dlp -x --audio-format mp3 "视频URL"# 6. 下载字幕(如果有的话)yt-dlp --write-subs --sub-langs zh-Hans,en "视频URL"# 7. 嵌入字幕到视频文件yt-dlp --embed-subs --sub-langs zh-Hans "视频URL"以上是单个视频的基础操作。真正让yt-dlp变成"批量神器"的是下面这些命令:
# 8. 批量下载整个播放列表(自动按序号命名)yt-dlp -f "bv*+ba/b" --merge-output-format mp4 \-o "%(playlist_index)s - %(title)s.%(ext)s" \"https://www.youtube.com/playlist?list=xxxxx"# 9. 下载整个频道所有视频(从新到旧)yt-dlp -f "bv*+ba/b" --merge-output-format mp4 \-o "%(upload_date)s - %(title)s.%(ext)s" \"https://www.youtube.com/@频道名/videos"# 10. 限制下载数量(比如只下最近50个)yt-dlp --playlist-end 50 "播放列表URL"# 11. 只下载指定日期之后的视频yt-dlp --dateafter 20250101 "频道URL"# 12. 从txt文件批量下载(一行一个URL)yt-dlp -a urls.txt上面第9条命令是最常用的——一键下载整个频道的所有视频。做内容站需要某个垂类的素材时,找到该垂类的头部频道,一条命令把所有视频全部拉下来,文件名带发布日期,方便后续分类整理。
二、yt-dlp进阶:绕过反爬、登录态下载、限速防封
用yt-dlp批量下载最常遇到的三个问题:下载到一半报403、画质只能到720P不能到1080P以上、下载太快被平台限速或封IP。这三个问题都有标准解法。
| 问题 | 原因 | 解法 |
|---|---|---|
| 403 Forbidden | 平台检测到非浏览器请求,拒绝提供视频流 | 用 --cookies 参数导入浏览器的登录态 |
| 画质锁在720P | 部分平台(如YouTube)1080P以上需要登录才能获取DASH流 | 导出浏览器cookies + -f "bv*+ba/b" 选择最佳格式 |
| 被限速/封IP | 请求频率太高,触发了平台的速率限制 | 用 --limit-rate 限速 + --sleep-interval 加间隔 |
cookies是解决前两个问题的关键。yt-dlp最新版已经不能直接从Chrome/Edge浏览器读取cookies了(浏览器安全策略升级),需要用"Get cookies.txt LOCALLY"这个浏览器插件导出cookies.txt文件:
# 步骤1:在Chrome/Edge安装"Get cookies.txt LOCALLY"插件# 步骤2:打开目标视频网站,登录你的账号# 步骤3:点击插件图标 → Export → 保存cookies.txt到yt-dlp同目录# 步骤4:下载时带上cookiesyt-dlp --cookies cookies.txt -f "bv*+ba/b" --merge-output-format mp4 "视频URL"# 一次性解决:cookies + 限速 + 间隔 + 代理(全套防封配置)yt-dlp --cookies cookies.txt \-f "bv*+ba/b" --merge-output-format mp4 \--limit-rate 2M \--sleep-interval 5 \--sleep-requests 2 \--proxy "http://127.0.0.1:10809" \"播放列表URL"上面这条"全套防封配置"值得记住:--limit-rate 2M把下载速度限制在2MB/s(太快容易被识别为爬虫),--sleep-interval 5每个视频之间间隔5秒,--sleep-requests 2每个HTTP请求之间间隔2秒。这三个参数组合起来,模拟的是正常用户的观看节奏,平台的反爬系统基本不会触发。
代理的必要性:下载YouTube、TikTok等海外平台时,网络环境本身就需要代理。代理不仅解决网络访问问题,还能在一定程度上避免IP被封——yt-dlp通过代理访问,被封了换一个代理IP就行,不影响你的真实IP。
三、各平台专项工具:单一平台深度优化
yt-dlp虽然是万能工具,但有些平台用专项工具体验更好——专项工具针对单一平台做了深度优化,批量下载更稳定、配置更简单、出问题的概率更低。
B站:BBDown
· 命令行工具,专门为B站设计
· 支持4K、HDR、杜比视界
· 批量下载整个收藏夹/合集/番剧全集
· 登录后可下载大会员专属画质
B站备用:you-get + bilili
· you-get:Python写的通用下载器,B站支持好
· bilili:专门批量下载B站番剧/合集

· 两个都可以通过pip安装
· BBDown出问题时当备选方案
抖音/TikTok:TikTokDownloader
· GitHub开源,Python+Web界面
· 批量下载某个博主的所有作品
· 自动去除水印
· 支持抖音和TikTok双平台
图形化通用:4K Video Downloader+
· 付费软件(买断制),支持Win/Mac/Linux
· 粘贴播放列表链接自动解析全部视频
· 支持YouTube/B站/Vimeo等主流平台
· 不需要命令行,适合非技术用户
BBDown的一个特别实用的功能是下载整个合集——很多B站UP主会把系列教程做成合集,BBDown一条命令拉下整个合集所有视频,对于需要批量收集某个领域教程素材的人来说非常高效。使用方式也很简单:
# 下载单个视频(默认最高画质)BBDown "https://www.bilibili.com/video/BVxxxxx"# 批量下载整个合集BBDown --download-all "https://space.bilibili.com/xxxxx/channel/collectiondetail?sid=xxxxx"# 指定画质(如1080P高码率)BBDown -q 112 "视频URL"# 仅下载音频BBDown --audio-only "视频URL"四、三类工具怎么选:看你的下载量级和平台分布
| 场景 | 推荐工具 | 理由 |
|---|---|---|
| 偶尔下载几个视频 | 在线解析网站 + 4K Video Downloader | 不需要装环境,打开网页或软件就能用 |
| 每周几十个视频,多个平台 | yt-dlp(主力) + BBDown(B站专项) | 命令行一次配置终身使用,批量效率最高 |
| 每天上百个视频,需要自动化 | yt-dlp + Python脚本 + 定时任务 | 写一个Python脚本调用yt-dlp,crontab定时跑,全自动无人值守 |
| 只下载B站,其他平台不碰 | BBDown(主力) + you-get(备用) | 专项工具对B站的适配最好,画质选择最全 |
| 只下载抖音/TikTok | TikTokDownloader | 自动去水印、批量下载博主作品,比yt-dlp更稳定 |
如果你做的是多站点内容矩阵,需要持续批量获取视频素材,写一个Python脚本把yt-dlp包装成自动化流水线是最优解。核心逻辑就三步:从数据库/配置文件读取下载任务 → 调用yt-dlp执行下载 → 下载完成后更新任务状态并触发后续处理(如格式转换、字幕翻译、上传到素材库)。
这种自动化流水线用UC建站系统的内容中台可以实现——把视频下载任务配置成定时作业,下载完成后自动存入素材库,后续AI生成文章或视频二次创作时直接从素材库调取,不用每次手动下载再手动上传。
五、批量下载的五个实操细节
工具和命令都会了,实际跑起来还有几个细节决定成败:
文件命名要有规则
用yt-dlp的-o参数自定义文件名模板。推荐格式:%(upload_date)s - %(title).200s.%(ext)s(发布日期+标题前200字+扩展名)。按日期排序方便找,截断标题防止文件名过长。

下载前先预览列表
用--print-to-file或--simulate先列出会下载哪些视频,确认数量和内容无误再真正下载。下载整频道前先看列表能避免下了几百个不需要的视频。
字幕文件单独管理
用--write-subs --sub-langs all下载所有语言字幕,用--convert-subs srt统一转成srt格式。字幕是后续做翻译或文案参考的重要素材。
断点续传靠归档文件
yt-dlp默认会生成一个archive文件记录已下载的视频ID。批量下载中断后重新运行命令,已下载的会自动跳过。不要删掉这个文件。
另外有一个很多人不知道的技巧:yt-dlp支持下载直播回放。YouTube上很多频道会把直播内容保留为视频,用普通下载命令就能拉下来。但如果要下载正在直播的内容(边播边存),需要加上--live-from-start参数,从直播开始的位置持续下载。
六、版权边界:下载可以,怎么用是关键
这个章节很多人不爱看,但绕不过去。
绝对不能做的:
· 下载别人的视频后直接上传到自己的频道/账号(搬运侵权)
· 下载付费/会员专属内容后公开传播(侵犯商业利益)
· 下载视频后去掉原作者水印打上自己的水印(恶意侵权)
· 批量下载视频搭建镜像站(平台会直接起诉)
合规的使用方式:
· 下载自己的视频做备份或跨平台分发(自己创作的内容)
· 下载公开视频作为素材库,做二次创作(剪辑、混剪、解说,构成"转换性使用")
· 下载教程类视频用于个人学习参考(合理使用范畴)
· 下载无版权/CC协议的视频用于合法用途
一个实用的判断标准:你下载视频后的使用方式,是否对原视频构成了替代。如果用户看了你的内容就不需要看原视频了(比如直接搬运),这100%侵权。如果用户看了你的内容反而对原视频产生了兴趣(比如做了解说、测评、盘点),这属于合理使用。工具本身没有对错,怎么用决定了它是否合规。
视频批量下载这件事,核心就三个选择:用哪个工具、怎么配置不翻车、下载了怎么用才合规。偶尔下几个视频用在线工具或者4K Video Downloader就行,零学习成本。但一旦下载量上来——每天几十上百个视频,多个平台同时下——必须上yt-dlp,把cookies、限速、间隔这些参数配置好,配合archive文件做断点续传,再写个定时脚本自动化。花半小时把配置调通,后面几百个视频全自动跑,比手动一个一个点快不止十倍。
