yt-dlp 技术文档yt-dlp 技术文档
首页
指南
安装
命令行使用
参数详解
支持网站
实战案例
联系我们
隐私权
  • 简体中文
  • English
  • 日本語
  • 한국어
GitHub
首页
指南
安装
命令行使用
参数详解
支持网站
实战案例
联系我们
隐私权
  • 简体中文
  • English
  • 日本語
  • 한국어
GitHub
  • 参数详解

    • yt-dlp 参数详解 - 完整命令行参数说明

参数详解

本章详细介绍 yt-dlp 的各种命令行参数及其用法。

通用选项

-h, --help

显示帮助信息并退出。

yt-dlp --help

--version

显示版本号并退出。

yt-dlp --version

-U, --update

更新 yt-dlp 到最新版本。

yt-dlp -U

--no-update

不检查更新(某些安装方法需要)。

yt-dlp --no-update "URL"

网络选项

--proxy URL

使用指定的代理服务器。

# HTTP 代理
yt-dlp --proxy "http://127.0.0.1:8080" "URL"

# HTTPS 代理
yt-dlp --proxy "https://127.0.0.1:8080" "URL"

# SOCKS5 代理
yt-dlp --proxy "socks5://127.0.0.1:1080" "URL"

# 带认证的代理
yt-dlp --proxy "socks5://user:password@127.0.0.1:1080" "URL"

--socket-timeout SECONDS

设置套接字超时时间(秒)。

yt-dlp --socket-timeout 30 "URL"

--source-address IP

设置客户端 IP 地址。

yt-dlp --source-address 192.168.1.100 "URL"

--force-ipv4

强制使用 IPv4。

yt-dlp --force-ipv4 "URL"

--force-ipv6

强制使用 IPv6。

yt-dlp --force-ipv6 "URL"

视频选择选项

--playlist-start NUMBER

指定播放列表开始位置(默认为 1)。

# 从第 5 个视频开始下载
yt-dlp --playlist-start 5 "PLAYLIST_URL"

--playlist-end NUMBER

指定播放列表结束位置(默认为最后一个)。

# 下载到第 10 个视频
yt-dlp --playlist-end 10 "PLAYLIST_URL"

--playlist-items ITEM_SPEC

指定播放列表中要下载的项目。

# 下载第 1、3、5 个视频
yt-dlp --playlist-items 1,3,5 "PLAYLIST_URL"

# 下载第 1 到第 5 个视频
yt-dlp --playlist-items 1-5 "PLAYLIST_URL"

# 下载第 1 到第 3 个和第 7 个视频
yt-dlp --playlist-items 1-3,7 "PLAYLIST_URL"

--match-title REGEX

下载标题匹配正则表达式的视频。

# 下载标题包含"tutorial"的视频
yt-dlp --match-title "tutorial" "PLAYLIST_URL"

# 使用正则表达式
yt-dlp --match-title "(?i)python|java" "PLAYLIST_URL"

--reject-title REGEX

跳过标题匹配正则表达式的视频。

# 跳过标题包含"trailer"的视频
yt-dlp --reject-title "trailer" "PLAYLIST_URL"

--max-downloads NUMBER

下载指定数量的视频后停止。

# 只下载前 5 个视频
yt-dlp --max-downloads 5 "PLAYLIST_URL"

--min-filesize SIZE

不下载小于指定大小的文件。

# 不下载小于 10MB 的文件
yt-dlp --min-filesize 10M "URL"

--max-filesize SIZE

不下载大于指定大小的文件。

# 不下载大于 1GB 的文件
yt-dlp --max-filesize 1G "URL"

--date DATE

下载指定日期上传的视频。

# 下载 2024年1月1日的视频
yt-dlp --date 20240101 "URL"

# 下载 2024年1月的视频
yt-dlp --date 20240101-20240131 "URL"

--datebefore DATE

下载指定日期之前上传的视频。

# 下载 2024年1月1日之前的视频
yt-dlp --datebefore 20240101 "URL"

--dateafter DATE

下载指定日期之后上传的视频。

# 下载 2024年1月1日之后的视频
yt-dlp --dateafter 20240101 "URL"

下载选项

-r, --limit-rate RATE

限制下载速度。

# 限制为 1MB/s
yt-dlp --limit-rate 1M "URL"

# 限制为 500KB/s
yt-dlp --limit-rate 500K "URL"

# 限制为 2.5MB/s
yt-dlp --limit-rate 2.5M "URL"

-R, --retries RETRIES

重试次数(默认为 10)。

# 重试 5 次
yt-dlp --retries 5 "URL"

# 无限重试
yt-dlp --retries infinite "URL"

--fragment-retries RETRIES

片段重试次数。

yt-dlp --fragment-retries 10 "URL"

--skip-unavailable-fragments

跳过不可用的片段。

yt-dlp --skip-unavailable-fragments "URL"

--abort-on-unavailable-fragment

遇到不可用片段时中止下载。

yt-dlp --abort-on-unavailable-fragment "URL"

--keep-fragments

下载完成后保留片段。

yt-dlp --keep-fragments "URL"

--buffer-size SIZE

设置缓冲区大小(默认为 1024)。

yt-dlp --buffer-size 16K "URL"

--no-resize-buffer

不自动调整缓冲区大小。

yt-dlp --no-resize-buffer "URL"

--http-chunk-size SIZE

设置 HTTP 块大小。

yt-dlp --http-chunk-size 1M "URL"

--continue

恢复中断的下载(默认开启)。

yt-dlp --continue "URL"

--no-continue

不恢复中断的下载。

yt-dlp --no-continue "URL"

文件系统选项

-a, --batch-file FILE

从文件读取要下载的 URL。

# 从 urls.txt 读取 URL
yt-dlp -a urls.txt

# 批量下载
yt-dlp --batch-file urls.txt

--id

仅使用视频 ID 作为文件名。

yt-dlp --id "URL"

-o, --output TEMPLATE

输出文件名模板。

# 基本用法
yt-dlp -o "%(title)s.%(ext)s" "URL"

# 包含路径
yt-dlp -o "~/Downloads/%(title)s.%(ext)s" "URL"

# 复杂命名
yt-dlp -o "%(uploader)s/%(upload_date)s - %(title)s.%(ext)s" "URL"

# 播放列表编号
yt-dlp -o "%(playlist_index)03d - %(title)s.%(ext)s" "PLAYLIST_URL"

--output-na-placeholder PLACEHOLDER

指定当字段不可用时的占位符。

yt-dlp -o "%(title)s.%(ext)s" --output-na-placeholder "Unknown" "URL"

--autonumber-size NUMBER

指定自动编号的位数。

yt-dlp -o "%(autonumber)03d-%(title)s.%(ext)s" --autonumber-size 3 "URL"

--autonumber-start NUMBER

指定自动编号的起始值。

yt-dlp -o "%(autonumber)d-%(title)s.%(ext)s" --autonumber-start 100 "URL"

--restrict-filenames

限制文件名只包含 ASCII 字符。

yt-dlp --restrict-filenames "URL"

--no-restrict-filenames

允许文件名包含 Unicode 字符(默认)。

yt-dlp --no-restrict-filenames "URL"

--windows-filenames

强制使用 Windows 兼容的文件名。

yt-dlp --windows-filenames "URL"

--trim-filenames LENGTH

限制文件名长度。

# 限制文件名最多 100 个字符
yt-dlp --trim-filenames 100 "URL"

-w, --overwrite

覆盖已存在的文件。

yt-dlp --overwrite "URL"

--no-overwrites

不覆盖已存在的文件。

yt-dlp --no-overwrites "URL"

--skip-download

不下载视频,只执行其他操作(如下载字幕、缩略图等)。

yt-dlp --skip-download --write-subs "URL"

格式选择选项

-f, --format FORMAT

选择视频/音频格式。

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

# 下载最佳 MP4 格式
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]" "URL"

# 下载 1080p 或更低
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "URL"

# 下载特定分辨率
yt-dlp -f "bestvideo[height=720]+bestaudio/best[height=720]" "URL"

# 下载最小文件
yt-dlp -f "worst" "URL"

-S, --format-sort SORTORDER

按指定顺序排序格式。

# 优先选择分辨率,然后文件大小
yt-dlp -S "res,fps" "URL"

# 优先选择 MP4 格式
yt-dlp -S "ext" "URL"

# 优先选择更高分辨率
yt-dlp -S "res:1080" "URL"

--format-sort-force

强制使用格式排序,即使有更高质量的组合。

yt-dlp --format-sort-force -S "res" "URL"

-F, --list-formats

列出所有可用格式。

yt-dlp -F "URL"

--merge-output-format FORMAT

指定合并输出格式。

# 合并为 MP4
yt-dlp --merge-output-format mp4 "URL"

# 合并为 MKV
yt-dlp --merge-output-format mkv "URL"

字幕选项

--write-subs

下载字幕。

yt-dlp --write-subs "URL"

--write-auto-subs

下载自动生成的字幕。

yt-dlp --write-auto-subs "URL"

--all-subs

下载所有可用字幕。

yt-dlp --all-subs "URL"

--sub-langs LANGS

指定要下载的字幕语言。

# 下载中文字幕
yt-dlp --write-subs --sub-langs "zh-Hans" "URL"

# 下载英文字幕
yt-dlp --write-subs --sub-langs "en" "URL"

# 下载多个语言
yt-dlp --write-subs --sub-langs "en,zh-Hans,zh-Hant" "URL"

# 下载所有字幕
yt-dlp --write-subs --sub-langs "all" "URL"

# 下载所有字幕(包括自动生成)
yt-dlp --write-subs --sub-langs "all,-live_chat" "URL"

--sub-format FORMAT

字幕格式偏好。

# 优先选择 SRT 格式
yt-dlp --sub-format srt --write-subs "URL"

# 优先选择 ASS 格式
yt-dlp --sub-format ass --write-subs "URL"

--embed-subs

将字幕嵌入视频文件。

yt-dlp --embed-subs --sub-langs "zh-Hans" "URL"

音频选项

-x, --extract-audio

将视频转换为音频文件。

yt-dlp -x "URL"

--audio-format FORMAT

指定音频格式。

# 转换为 MP3
yt-dlp -x --audio-format mp3 "URL"

# 转换为 AAC
yt-dlp -x --audio-format aac "URL"

# 转换为 FLAC
yt-dlp -x --audio-format flac "URL"

# 转换为 M4A
yt-dlp -x --audio-format m4a "URL"

# 转换为 OPUS
yt-dlp -x --audio-format opus "URL"

# 转换为 VORBIS
yt-dlp -x --audio-format vorbis "URL"

# 转换为 WAV
yt-dlp -x --audio-format wav "URL"

--audio-quality QUALITY

指定音频质量。

# 最佳质量
yt-dlp -x --audio-format mp3 --audio-quality 0 "URL"

# 中等质量
yt-dlp -x --audio-format mp3 --audio-quality 5 "URL"

# 最小体积
yt-dlp -x --audio-format mp3 --audio-quality 9 "URL"

# 指定比特率
yt-dlp -x --audio-format mp3 --audio-quality 320K "URL"

视频选项

--recode-video FORMAT

将视频重新编码为指定格式。

# 转换为 MP4
yt-dlp --recode-video mp4 "URL"

# 转换为 MKV
yt-dlp --recode-video mkv "URL"

# 转换为 AVI
yt-dlp --recode-video avi "URL"

--postprocessor-args ARGS

传递参数给后处理器。

# 传递参数给 FFmpeg
yt-dlp --postprocessor-args "ffmpeg:-crf 23" "URL"

-k, --keep-video

保留中间视频文件。

yt-dlp --keep-video "URL"

缩略图选项

--write-thumbnail

下载缩略图。

yt-dlp --write-thumbnail "URL"

--write-all-thumbnails

下载所有格式的缩略图。

yt-dlp --write-all-thumbnails "URL"

--list-thumbnails

列出所有可用缩略图。

yt-dlp --list-thumbnails "URL"

--embed-thumbnail

将缩略图嵌入音频文件。

yt-dlp -x --audio-format mp3 --embed-thumbnail "URL"

元数据选项

--write-description

下载视频描述。

yt-dlp --write-description "URL"

--write-info-json

下载视频元数据为 JSON 格式。

yt-dlp --write-info-json "URL"

--write-annotations

下载视频注释。

yt-dlp --write-annotations "URL"

--embed-metadata

嵌入元数据到视频文件。

yt-dlp --embed-metadata "URL"

--add-metadata

添加元数据到视频文件。

yt-dlp --add-metadata "URL"

身份验证选项

-u, --username USERNAME

身份验证用户名。

yt-dlp -u "username" -p "password" "URL"

-p, --password PASSWORD

身份验证密码。

yt-dlp -u "username" -p "password" "URL"

--two-factor TWO_FACTOR

两步验证码。

yt-dlp -u "username" -p "password" --two-factor "123456" "URL"

--video-password PASSWORD

视频密码(针对密码保护的视频)。

yt-dlp --video-password "mypassword" "URL"

--cookies FILE

使用 Cookie 文件进行身份验证。

yt-dlp --cookies cookies.txt "URL"

--cookies-from-browser BROWSER

从浏览器导入 Cookie。

# 从 Chrome 导入
yt-dlp --cookies-from-browser chrome "URL"

# 从 Firefox 导入
yt-dlp --cookies-from-browser firefox "URL"

# 从 Edge 导入
yt-dlp --cookies-from-browser edge "URL"

# 从 Safari 导入
yt-dlp --cookies-from-browser safari "URL"

# 从 Opera 导入
yt-dlp --cookies-from-browser opera "URL"

# 从 Brave 导入
yt-dlp --cookies-from-browser brave "URL"

# 指定配置文件
yt-dlp --cookies-from-browser "chrome:profile_name" "URL"

代理选项

--geo-verification-proxy URL

使用此代理验证地理限制。

yt-dlp --geo-verification-proxy "http://proxy.example.com:8080" "URL"

--geo-bypass

绕过地理限制。

yt-dlp --geo-bypass "URL"

--no-geo-bypass

不绕过地理限制。

yt-dlp --no-geo-bypass "URL"

--geo-bypass-country CODE

使用指定国家绕过地理限制。

# 使用美国 IP
yt-dlp --geo-bypass-country US "URL"

# 使用英国 IP
yt-dlp --geo-bypass-country GB "URL"

# 使用日本 IP
yt-dlp --geo-bypass-country JP "URL"

输出选项

-q, --quiet

静默模式。

yt-dlp -q "URL"

--no-warnings

忽略警告。

yt-dlp --no-warnings "URL"

-s, --simulate

模拟下载,不实际下载文件。

yt-dlp --simulate "URL"

--ignore-errors

忽略下载错误。

yt-dlp --ignore-errors "URL"

--no-ignore-errors

不忽略下载错误(默认)。

yt-dlp --no-ignore-errors "URL"

--dump-json

以 JSON 格式输出视频信息。

yt-dlp --dump-json "URL"

--print TEMPLATE

打印视频信息而不下载。

# 打印标题
yt-dlp --print "%(title)s" "URL"

# 打印 ID 和标题
yt-dlp --print "%(id)s: %(title)s" "URL"

# 打印多个信息
yt-dlp --print "%(id)s\n%(title)s\n%(duration)s" "URL"

-j, --dump-single-json

以 JSON 格式输出单个视频信息(不下载)。

yt-dlp -j "URL"

--get-title

打印视频标题。

yt-dlp --get-title "URL"

--get-id

打印视频 ID。

yt-dlp --get-id "URL"

--get-url

打印视频 URL。

yt-dlp --get-url "URL"

--get-description

打印视频描述。

yt-dlp --get-description "URL"

--get-filename

打印文件名。

yt-dlp --get-filename "URL"

--get-duration

打印视频时长。

yt-dlp --get-duration "URL"

其他选项

--exec CMD

下载完成后执行命令。

# 下载后播放视频
yt-dlp --exec "vlc {}" "URL"

# 下载后移动文件
yt-dlp --exec "mv {} ~/Videos/" "URL"

--convert-subs FORMAT

转换字幕格式。

# 转换为 SRT
yt-dlp --write-subs --convert-subs srt "URL"

# 转换为 ASS
yt-dlp --write-subs --convert-subs ass "URL"

--concat-playlist

将播放列表中的视频合并为一个文件。

yt-dlp --concat-playlist "PLAYLIST_URL"

--config-locations PATH

指定配置文件路径。

yt-dlp --config-locations ~/.config/yt-dlp/custom_config "URL"

--ignore-config

忽略配置文件。

yt-dlp --ignore-config "URL"

总结

以上是 yt-dlp 的主要参数介绍。实际使用时,可以根据需要组合多个参数。建议:

  1. 使用配置文件保存常用参数
  2. 使用 --simulate 参数先测试
  3. 查阅官方文档了解更多参数和用法
  4. 定期更新 yt-dlp 获得最新功能和修复

更多参数和详细信息,请参考:

  • yt-dlp 官方文档
  • 支持的网站列表
上次更新: 2026/4/23 03:23