全部文章

yt-dlp 视频下载指南

yt-dlp 安装配置、常用命令、格式选择、字幕下载与批量操作

目录 23 节

yt-dlp 视频下载指南

yt-dlp 是最流行的命令行视频下载工具,支持数千个网站。

这页适合作为“视频下载与归档的通用入口”。真正影响体验的通常不是会不会下一条命令,而是格式选择、目录组织、字幕、Cookie 和批量归档有没有一起考虑。

先按目标选命令

  • 只想快速下一个视频:直接用默认命令
  • 只想要音频:用 -x --audio-format
  • 想控制清晰度和封装格式:先 -F 看格式,再精确选轨
  • 要保存字幕、元数据和封面:提前在配置文件里固化
  • 要长期批量抓频道或播放列表:一定配 --download-archive

安装

# Scoop
scoop install yt-dlp

# Winget
winget install yt-dlp.yt-dlp

# pip
pip install yt-dlp

确保同时安装 FFmpeg(合并音视频需要):

scoop install ffmpeg

基本用法

# 下载视频(自动选择最佳质量)
yt-dlp "https://www.youtube.com/watch?v=VIDEO_ID"

# 下载音频
yt-dlp -x --audio-format mp3 "URL"

# 下载最佳质量
yt-dlp -f "bestvideo+bestaudio" "URL"

推荐目录结构

如果你会长期下载内容,建议不要全部扔在同一个目录里。比较稳的做法是:

Downloads/
  video/
    youtube/
    bilibili/
    courses/
  audio/
  subtitles/
  archive/

再配合输出模板,把频道、日期、标题拆开,后期整理会轻松很多。

格式选择

# 查看可用格式
yt-dlp -F "URL"

# 下载指定格式
yt-dlp -f 137+140 "URL"

# 限制分辨率
yt-dlp -f "bestvideo[height<=1080]+bestaudio" "URL"

# 偏好 MP4
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]" --merge-output-format mp4 "URL"

字幕下载

# 下载字幕
yt-dlp --write-sub --sub-lang zh-Hans,en "URL"

# 下载自动生成字幕
yt-dlp --write-auto-sub --sub-lang zh-Hans "URL"

# 嵌入字幕到视频
yt-dlp --embed-subs --sub-lang zh-Hans,en "URL"

# 仅下载字幕
yt-dlp --skip-download --write-sub --sub-lang zh-Hans "URL"

播放列表与频道

# 下载播放列表
yt-dlp "PLAYLIST_URL"

# 下载播放列表中指定范围
yt-dlp --playlist-start 5 --playlist-end 10 "PLAYLIST_URL"

# 下载频道所有视频
yt-dlp "CHANNEL_URL"

# 仅下载最近 5 个视频
yt-dlp --playlist-end 5 "CHANNEL_URL"

输出模板

# 自定义文件名
yt-dlp -o "%(title)s.%(ext)s" "URL"

# 按频道分文件夹
yt-dlp -o "%(channel)s/%(title)s.%(ext)s" "URL"

# 带日期
yt-dlp -o "%(upload_date)s - %(title)s.%(ext)s" "URL"

更适合归档的模板示例

yt-dlp -o "%(uploader)s/%(upload_date)s - %(title)s [%(id)s].%(ext)s" "URL"

这样即使重名、删稿、改标题,后面也更容易核对来源。

配置文件

创建 %APPDATA%\yt-dlp\config.txt

# 默认最佳质量
-f bestvideo+bestaudio

# 输出模板
-o %(title)s.%(ext)s

# 嵌入缩略图和元数据
--embed-thumbnail
--embed-metadata

# 下载字幕
--write-sub
--sub-lang zh-Hans,en,ja

# 使用 aria2c 多线程下载
--downloader aria2c
--downloader-args aria2c:"-x 16 -s 16"

建议把常用选项放进配置文件,命令行只保留本次任务特有的部分。这样长期使用时不容易漏掉字幕、封面和元数据参数。

进阶用法

# 从浏览器导出 cookie
yt-dlp --cookies-from-browser chrome "URL"

# 使用 cookie 文件
yt-dlp --cookies cookies.txt "URL"

限速

yt-dlp --limit-rate 5M "URL"

批量下载

# 从文件读取 URL 列表
yt-dlp -a urls.txt

# 下载并归档(跳过已下载)
yt-dlp --download-archive archive.txt "PLAYLIST_URL"

推荐使用顺序

建议按这个顺序掌握:

  1. 先会下载单条视频和音频
  2. 再学会查看格式和精确选轨
  3. 再配置字幕、封面、元数据
  4. 再处理 Cookie 和登录站点
  5. 最后再做批量归档、定时任务和自动整理

常见问题

合并失败或没有声音

高频原因通常是:

  • 没装 FFmpeg
  • 选到了不兼容的音视频流
  • 目标站点返回了特殊封装格式

先确认 ffmpeg -version 正常,再检查 -F 输出和合并格式。

会员视频、年龄限制视频下不下来

优先尝试:

  • --cookies-from-browser
  • 导出 cookies.txt
  • 检查当前账号在浏览器里是否真的能播放该视频

播放列表重复下载很多次

给长期任务加上:

yt-dlp --download-archive archive.txt "PLAYLIST_URL"

这样再次执行时会自动跳过已记录条目。

下载很慢

先排查:

  • 是否被站点限速
  • 是否需要 aria2c
  • 当前格式是否本来就体积过大

风险提醒

  • 注意目标站点条款、版权和地区限制
  • 不要默认把浏览器 Cookie 暴露给不可信脚本
  • 批量下载前先拿一个小列表做验证,避免下错一整批
  • 长期归档建议保留原始链接、视频 ID 和下载记录

延伸阅读

参考链接

阅读建议
  • - 先读标题和摘要,再结合目录决定从哪个章节开始精读。
  • - 看到具体命令、配置或步骤时,尽量在自己的环境里同步验证。
  • - 如果你只是快速查资料,可先看目录和相关文档,再决定是否深入全文。
适合谁看
  • - 希望把零散经验整理成长期可复用工作流的人
  • - 需要处理图像、视频、音频或创作流水线的人
  • - 希望阅读时顺手建立自己的操作清单或收藏体系的人
执行前检查
  • - 先浏览标题、摘要和目录,带着问题阅读会更高效
  • - 确认素材路径、导出格式和磁盘空间是否满足当前任务
  • - 如果页面里提到相关文档,尽量一起打开对照,效果通常更完整
同类内容
← 上一篇Windows 快捷键大全