简介
yt-dlp 是一个功能丰富的命令行音频/视频下载器,支持数千个网站。该项目是 youtube-dl 的一个分支,基于现已不再活跃的 youtube-dlc。
源码:https://github.com/yt-dlp/yt-dlp
安装
下载地址:https://github.com/yt-dlp/yt-dlp/releases/latest
Windows
直接下载:点我下载最新版
安装方式:
- 新建目录
yt-dlp
- 移动下载的文件到新建的目录
- 将目录加入到
PATH环境变量
Linux
下载
1
|
curl -fsSL https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/
|
加入到 PATH环境变量
1
2
|
echo 'export PATH=$PATH:~/.local/bin >> ~/.bashrc'
source ~/.bashrc
|
查看版本
基本用法
语法:
1
|
yt-dlp [OPTIONS] URL [URL...]
|
默认下载最佳可用质量的视频和音频,并将它们合并成一个文件
查看下载链接包含的视频信息,如图:

- ID:每个视频在不同平台和不同质量下,都会有对应的格式代码。
对进行查找后的 ID,进行下载
1
|
yt-dlp -f ‘bv[ext=mp4]+ba[ext=m4a]’ –embed-metadata –merge-output-format mp4 URL
|
yt-dlp: 这是 youtube-dlp 工具的命令行调用。
-f ‘bv[ext=mp4]+ba[ext=m4a]’: 这是核心的格式选择部分。
-f 或 --format: 指定要下载的视频和音频格式。
‘bv[ext=mp4]+ba[ext=m4a]’: 这是格式选择器。
bv: 代表 “best video”(最佳视频)。它告诉 yt-dlp 选择可用的最佳画质的纯视频流(不含音频)。
[ext=mp4]: 这是一个过滤器。它进一步限制 bv 的选择,要求这个最佳视频流的文件扩展名必须是 mp4。这是为了确保下载的视频部分是 MP4 格式。
+: 这个符号表示将前面的视频流和后面的音频流合并。
ba: 代表 “best audio”(最佳音频)。它告诉 yt-dlp 选择可用的最佳音质的纯音频流(不含视频)。
[ext=m4a]: 这是对 ba 的过滤器。它限制最佳音频流的文件扩展名必须是 m4a。M4A 通常是 AAC 音频的容器格式,它与 MP4 视频非常兼容。
总结此部分:该命令会寻找并下载最佳的 MP4 格式的视频流(不含音频),以及最佳的 M4A 格式的音频流(不含视频),然后准备将它们合并。
–embed-metadata:
--embed-metadata: 这个选项告诉 yt-dlp 将视频的元数据(如标题、描述、上传者、上传日期、缩略图等)嵌入到下载的最终文件中。这样,当你在媒体播放器中播放视频时,可以显示这些信息。
–merge-output-format mp4:
--merge-output-format: 这个选项指定当 yt-dlp 需要合并单独的视频流和音频流时,最终合并输出文件的容器格式。
mp4: 明确指定合并后的文件格式为 MP4。这与你选择的 mp4 视频和 m4a 音频非常吻合,因为 MP4 容器可以很好地包含这两种流。
文档
中文版:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
使用:yt-dlp.exe [选项] URL [URL...]
选项:
通用选项:
-h, --help 打印此帮助文本并退出
--version 打印程序版本并退出
-U, --update 将此程序更新到最新稳定版本
--no-update 不检查更新(默认)
--update-to [CHANNEL]@[TAG] 升级/降级到特定版本。如果省略,CHANNEL和TAG默认为"stable"和"latest";有关详细信息,请参阅"UPDATE"。支持的通道:stable、nightly、master
-i, --ignore-errors 忽略下载和后处理错误。即使后处理失败,下载也将被视为成功
--no-abort-on-error 在下载错误时继续下一个视频;例如,在播放列表中跳过不可用的视频(默认)
--abort-on-error 如果出现错误,则中止进一步视频的下载(别名:--no-ignore-errors)
--dump-user-agent 显示当前用户代理并退出
--list-extractors 列出所有支持的提取器并退出
--extractor-descriptions 输出所有支持的提取器的描述并退出
--use-extractors NAMES 使用的提取器名称,用逗号分隔。您还可以使用正则表达式、"all"、"default"和"end"(结束URL匹配);例如 --ies "holodex.*,end,youtube"。用"-"前缀名称来排除它,例如 --ies default,-generic。使用 --list-extractors 列出提取器名称。(别名:--ies)
--default-search PREFIX 用于未经验证的URL的前缀。例如,"gvsearch2:python"为搜索词"python"从谷歌视频下载两个视频。使用值"auto"让yt-dlp猜测("auto_warning"在猜测时发出警告)。"error"会引发错误。默认值"fixup_error"修复损坏的URL,但如果无法修复则发出错误而不是搜索
--ignore-config 不加载除 --config-locations 给定的配置文件之外的任何配置文件。为了向后兼容,如果在系统配置文件中找到此选项,则不加载用户配置。(别名:--no-config)
--no-config-locations 不加载任何自定义配置文件(默认)。当在配置文件中给出时,忽略当前文件中定义的所有先前的 --config-locations
--config-locations PATH 主配置文件的位置;可以是配置的路径或其包含目录("-"为stdin)。可以多次使用,也可在其他配置文件中使用
--flat-playlist 不提取播放列表的视频,只列出它们
--no-flat-playlist 完全提取播放列表的视频(默认)
--live-from-start 从开始下载直播流。目前仅支持YouTube(实验性)
--no-live-from-start 从当前时间下载直播流(默认)
--wait-for-video MIN[-MAX] 等待计划直播流可用。传递最小秒数(或范围)以在重试之间等待
--no-wait-for-video 不等待计划的直播流(默认)
--mark-watched 标记视频为已观看(即使使用 --simulate)
--no-mark-watched 不标记视频为已观看(默认)
--color [STREAM:]POLICY 是否在输出中发出颜色代码,可选地以流(stdout或stderr)为前缀以应用设置。可以是"always"、"auto"(默认)、"never"或"no_color"(使用非彩色终端序列)。可以多次使用
--compat-options OPTS 选项可以帮助保持与youtube-dl或youtube-dlc配置的兼容性,通过恢复yt-dlp所做的一些更改。有关详细信息,请参阅 "默认行为的差异"
--alias ALIASES OPTIONS 为选项字符串创建别名。除非别名以破折号"-"开头,否则它将以"--"为前缀。根据Python字符串格式化迷你语言解析参数。例如 --alias get-audio,-X "-S=aext:{0},abr -x --audio-format {0}" 创建选项 "--get-audio" 和 "-X",它们接受一个参数(ARG0)并扩展为 "-S=aext:ARG0,abr -x --audio-format ARG0"。所有定义的别名都列在 --help 输出中。别名选项可能会触发更多别名;因此,请小心避免定义递归选项。作为安全措施,每个别名最多可触发100次。此选项可以多次使用
|