用法:yt-dlp.exe [选项] URL [URL……]
选项:
- 通用选项:
-h
,--help
:打印此帮助文本并退出。--version
:打印程序版本并退出。-U
,--update
:将此程序更新到最新稳定版本。--no-update
:不检查更新(默认)。--update-to [频道]@[标签]
:升级 / 降级到特定版本。频道也可以是存储库。如果省略,频道和标签分别默认为 “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 名称
:用逗号分隔的要使用的提取器名称。你也可以使用正则表达式、“all”、“default” 和 “end”(匹配 URL 的结尾);例如,--ies "holodex.*,end,youtube"
。在名称前加上 “-” 以排除它,例如,--ies default,-generic
。使用--list-extractors
获取提取器名称列表。(别名:--ies
)。--default-search 前缀
:对于未限定的 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 路径
:主配置文件的位置;可以是配置文件的路径或其所在的目录(“-” 表示标准输入)。可以多次使用并在其他配置文件中使用。--flat-playlist
:不提取播放列表中的视频,只列出它们。--no-flat-playlist
:完全提取播放列表中的视频(默认)。--live-from-start
:从开始下载直播流。目前仅支持 YouTube(实验性)。--no-live-from-start
:从当前时间下载直播流(默认)。--wait-for-video 分钟数[-最大分钟数]
:等待预定的流变为可用。传递重试之间等待的最小秒数(或范围)。--no-wait-for-video
:不等待预定的流(默认)。--mark-watched
:将视频标记为已观看(即使使用--simulate
)。--no-mark-watched
:不将视频标记为已观看(默认)。--color [流:]策略
:是否在输出中发出颜色代码,可以选择在策略前加上流(stdout 或 stderr)以将设置应用于特定流。可以是 “always”、“auto”(默认)、“never” 或 “no_color”(使用非彩色终端序列)。使用 “auto-tty” 或 “no_color-tty” 仅根据终端支持来决定。可以多次使用。--compat-options 选项
:可以通过恢复 yt-dlp 中的一些更改来帮助保持与 youtube-dl 或 youtube-dlc 配置兼容性的选项。有关详细信息,请参阅 “默认行为的差异”。--alias 别名选项
:为选项字符串创建别名。除非别名以破折号 “-” 开头,否则它会以 “--” 为前缀。参数根据 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 次。此选项可以多次使用。
- 网络选项:
--proxy URL
:使用指定的 HTTP/HTTPS/SOCKS 代理。要启用 SOCKS 代理,请指定适当的方案,例如 socks5://user:pass@127.0.0.1:1080/。传递空字符串(--proxy ""
)进行直接连接。--socket-timeout 秒数
:在放弃之前等待的时间,以秒为单位。--source-address IP
:要绑定的客户端 IP 地址。--impersonate 客户端[:操作系统]
:要模拟的客户端以进行请求。例如,chrome、chrome-110、chrome:windows-10。传递--impersonate=""
以模拟任何客户端。请注意,强制对所有请求进行模拟可能会对下载速度和稳定性产生不利影响。--list-impersonate-targets
:列出可用于模拟的可用客户端。-4
,--force-ipv4
:通过 IPv4 进行所有连接。-6
,--force-ipv6
:通过 IPv6 进行所有连接。--enable-file-urls
:启用 file:// URL。出于安全原因,这在默认情况下是禁用的。
- 地理限制:
--geo-verification-proxy URL
:使用此代理来验证某些受地理限制的站点的 IP 地址。默认代理(由--proxy
指定,或者如果未提供该选项则为无)用于实际下载。--xff 值
:如何伪造 X-Forwarded-For HTTP 标头以尝试绕过地理限制。其中之一是 “default”(仅在已知有用时)、“never”、CIDR 表示法中的 IP 块或两个字母的 ISO 3166-2 国家代码。
- 视频选择:
-I
,--playlist-items 项目规格
:用逗号分隔的播放列表索引,以下载项目。你可以使用 “[开始]:[停止][: 步长]” 指定范围。出于向后兼容性,也支持 “开始 - 停止”。使用负索引从右侧计数,并使用负步长以相反顺序下载。例如,“-I 1:3,7,-5::2” 在大小为 15 的播放列表上使用将下载索引为 1、2、3、7、11、13、15 的项目。--min-filesize 大小
:如果文件大小小于指定大小,则中止下载,例如 50k 或 44.6M。--max-filesize 大小
:如果文件大小大于指定大小,则中止下载,例如 50k 或 44.6M。--date 日期
:仅下载在该日期上传的视频。日期可以是 “YYYYMMDD” 或格式为 [now|today|yesterday][-N [day|week|month|year]]。例如,“--date today-2weeks” 下载仅在两周前同一天上传的视频。--datebefore 日期
:仅下载在该日期或之前上传的视频。接受的日期格式与--date
相同。--dateafter 日期
:仅下载在该日期或之后上传的视频。接受的日期格式与--date
相同。--match-filters 过滤器
:通用视频过滤器。任何 “OUTPUT TEMPLATE” 字段都可以使用 “过滤格式” 中定义的运算符与数字或字符串进行比较。你也可以简单地指定一个字段以检查该字段是否存在,使用 “! 字段” 以检查该字段是否不存在,并使用 “&” 检查多个条件。如果需要,使用 “\” 转义 “&” 或引号。如果多次使用,过滤器在至少满足一个条件时匹配。例如,--match-filters!is_live --match-filters "like_count>?100 & description~='(?i)\bcats \& dogs\b'"
匹配仅那些不是直播的视频,或者那些点赞数超过 100(或者点赞字段不可用)并且描述中包含短语 “cats & dogs”(不区分大小写)的视频。使用 “--match-filters -” 以交互方式询问是否下载每个视频。--no-match-filters
:不使用任何--match-filters
(默认)。--break-match-filters 过滤器
:与 “--match-filters” 相同,但当视频被拒绝时停止下载过程。--no-break-match-filters
:不使用任何--break-match-filters
(默认)。--no-playlist
:如果 URL 引用视频和播放列表,则仅下载视频。--yes-playlist
:如果 URL 引用视频和播放列表,则下载播放列表。--age-limit 年龄
:仅下载适合给定年龄的视频。--download-archive 文件
:仅下载未在存档文件中列出的视频。将所有下载的视频的 ID 记录在其中。--no-download-archive
:不使用存档文件(默认)。--max-downloads 数量
:下载数量达到指定数量后中止。--break-on-existing
:当遇到存档中的文件时停止下载过程。--no-break-on-existing
:当遇到存档中的文件时不停止下载过程(默认)。--break-per-input
:更改--max-downloads
、--break-on-existing
、--break-match-filters
和自动编号以按每个输入 URL 重置。--no-break-per-input
:--break-on-existing
和类似选项终止整个下载队列。--skip-playlist-after-errors N
:在跳过播放列表的其余部分之前允许的失败次数。
- 下载选项:
-N
,--concurrent-fragments N
:应该同时下载的 dash/hlsnative 视频的片段数量(默认是 1)。-r
,--limit-rate 速率
:最大下载速率,以字节每秒为单位,例如 50K 或 4.2M。--throttled-rate 速率
:低于此速率时假定被节流并重新提取视频数据的最小下载速率,以字节每秒为单位,例如 100K。-R
,--retries 重试次数
:重试次数(默认是 10),或 “infinite”。--file-access-retries 重试次数
:文件访问错误时重试的次数(默认是 3),或 “infinite”。--fragment-retries 重试次数
:片段重试次数(默认是 10),或 “infinite”(DASH、hlsnative 和 ISM)。--retry-sleep [类型:]表达式
:重试之间的睡眠时间,以秒为单位(可选地)在表达式前加上重试类型(http(默认)、片段、文件访问、提取器)以应用睡眠时间。表达式可以是一个数字、linear=START [:END [:STEP=1]] 或 exp=START [:END [:BASE=2]]。此选项可以多次使用以设置不同重试类型的睡眠时间,例如,--retry-sleep linear=1::2 --retry-sleep fragment:exp=1:20
。--skip-unavailable-fragments
:跳过 DASH、hlsnative 和 ISM 下载中不可用的片段(默认)(别名:--no-abort-on-unavailable-fragments
)。--abort-on-unavailable-fragments
:如果片段不可用,则中止下载(别名:--no-skip-unavailable-fragments
)。--keep-fragments
:下载完成后在磁盘上保留下载的片段。--no-keep-fragments
:下载完成后删除下载的片段(默认)。--buffer-size 大小
:下载缓冲区的大小,例如 1024 或 16K(默认是 1024)。--resize-buffer
:缓冲区大小从--buffer-size
的初始值自动调整(默认)。--no-resize-buffer
:不自动调整缓冲区大小。--http-chunk-size 大小
:基于块的 HTTP 下载的块大小,例如 10485760 或 10M(默认是禁用的)。对于绕过网络服务器施加的带宽限制可能很有用(实验性)。--playlist-random
:以随机顺序下载播放列表视频。--lazy-playlist
:在接收播放列表条目时立即处理它们。这会禁用 n_entries、--playlist-random
和--playlist-reverse
。--no-lazy-playlist
:仅在解析完整个播放列表后才处理播放列表中的视频(默认)。--xattr-set-filesize
:设置文件 xattribute ytdl.filesize 为预期文件大小。--hls-use-mpegts
:对于 HLS 视频使用 mpegts 容器;允许某些播放器在下载时播放视频,并减少下载中断时文件损坏的机会。对于直播流,这是默认启用的。--no-hls-use-mpegts
:对于 HLS 视频不使用 mpegts 容器。这是在不下载直播流时的默认设置。--download-sections 正则表达式
:仅下载与正则表达式匹配的章节。“*” 前缀表示时间范围而不是章节。负时间戳从末尾计算。“*from-url” 可用于下载 URL 中提取的 “start_time” 和 “end_time” 之间的部分。需要 ffmpeg。此选项可以多次使用以下载多个部分,例如,--download-sections "*10:15-inf" --download-sections "intro"
。--downloader [协议:]名称
:要使用的外部下载器的名称或路径(可选地)在前面加上要使用它的协议(http、ftp、m3u8、dash、rstp、rtmp、mms)。目前支持 native、aria2c、avconv、axel、curl、ffmpeg、httpie、wget。你可以多次使用此选项为不同的协议设置不同的下载器。例如,--downloader aria2c --downloader "dash,m3u8:native"
将使用 aria2c 进行 http/ftp 下载,并使用本机下载器进行 dash/m3u8 下载(别名:--external-downloader
)。--downloader-args 名称:参数
:将这些参数提供给外部下载器。指定下载器名称和参数,用冒号 “:” 分隔。对于 ffmpeg,参数可以使用相同的语法传递到不同的位置,如--postprocessor-args
。你可以多次使用此选项为不同的下载器提供不同的参数(别名:--external-downloader-args
)。
- 文件系统选项:
-a
,--batch-file 文件
:包含要下载的 URL 的文件(“-” 表示标准输入),每行一个 URL。以 “#”、“;” 或 “]” 开头的行被视为注释并被忽略。--no-batch-file
:不从批处理文件中读取 URL(默认)。-P
,--paths [类型:]路径
:文件应下载到的路径。用冒号 “:” 分隔指定文件类型和路径。支持与--output
相同的所有类型。此外,你还可以提供 “home”(默认)和 “temp” 路径。所有中间文件首先下载到临时路径,然后在下载完成后将最终文件移动到主路径。如果--output
是绝对路径,则此选项将被忽略。-o
,--output [类型:]模板
:输出文件名模板;有关详细信息,请参阅 “OUTPUT TEMPLATE”。--output-na-placeholder 文本
:在--output
中不可用字段的占位符(默认:“NA”)。--restrict-filenames
:将文件名限制为仅 ASCII 字符,并避免在文件名中使用 “&” 和空格。--no-restrict-filenames
:允许在文件名中使用 Unicode 字符、“&” 和空格(默认)。--windows-filenames
:强制文件名与 Windows 兼容。--no-windows-filenames
:仅在使用 Windows 时使文件名与 Windows 兼容(默认)。--trim-filenames 长度
:将文件名长度(不包括扩展名)限制为指定的字符数。
--w
,--no-overwrites
:不覆盖任何文件。
---force-overwrites
:覆盖所有视频和元数据文件。此选项包括--no-continue
。
---no-force-overwrites
:不覆盖视频,但覆盖相关文件(默认)。
--c
,--continue
:恢复部分下载的文件/片段(默认)。
---no-continue
:不恢复部分下载的片段。如果文件不是分段的,则重新下载整个文件。
---part
:使用.part 文件而不是直接写入输出文件(默认)。
---no-part
:不使用.part 文件 - 直接写入输出文件。
---mtime
:使用 Last-modified 标头设置文件修改时间(默认)。
---no-mtime
:不使用 Last-modified 标头设置文件修改时间。
---write-description
:将视频描述写入.description 文件。
---no-write-description
:不写入视频描述(默认)。
---write-info-json
:将视频元数据写入.info.json 文件(此文件可能包含个人信息)。
---no-write-info-json
:不写入视频元数据(默认)。
---write-playlist-metafiles
:在使用--write-info-json
、--write-description
等时,除了视频元数据外还写入播放列表元数据(默认)。
---no-write-playlist-metafiles
:在使用--write-info-json
、--write-description
等时,不写入播放列表元数据。
---clean-info-json
:从 infojson 中删除一些内部元数据,如文件名(默认)。
---no-clean-info-json
:将所有字段写入 infojson。
---write-comments
:检索视频评论以放置在 infojson 中。即使没有此选项,如果提取已知很快,也会获取评论(别名:--get-comments
)。
---no-write-comments
:除非提取已知很快,否则不检索视频评论(别名:--no-get-comments
)。
---load-info-json 文件
:包含视频信息的 JSON 文件(使用“--write-info-json”选项创建)。
---cookies 文件
:用于读取 cookie 的 Netscape 格式文件,并转储 cookie 罐。
---no-cookies
:不从文件读取/转储 cookie(默认)。
---cookies-from-browser 浏览器[+密钥环][:配置文件][::容器]
:要从中加载 cookie 的浏览器名称。当前支持的浏览器有:brave、chrome、chromium、edge、firefox、opera、safari、vivaldi、whale。可以选择地,Linux 上用于解密 Chromium cookie 的密钥环、要加载 cookie 的配置文件的名称/路径以及容器名称(如果是 Firefox)(“none”表示无容器)可以用各自的分隔符给出。默认情况下,使用最近访问的配置文件的所有容器。当前支持的密钥环有:basictext、gnomekeyring、kwallet、kwallet5、kwallet6。
---no-cookies-from-browser
:不从浏览器加载 cookie(默认)。
---cache-dir 目录
:yt-dlp 可以在文件系统中存储一些下载信息(如客户端 ID 和签名)的位置。默认是${XDG_CACHE_HOME}/yt-dlp。
---no-cache-dir
:禁用文件系统缓存。
---rm-cache-dir
:删除所有文件系统缓存文件。- 缩略图选项:
--write-thumbnail
:将缩略图写入磁盘。--no-write-thumbnail
:不将缩略图写入磁盘(默认)。--write-all-thumbnails
:将所有缩略图格式写入磁盘。--list-thumbnails
:列出每个视频的可用缩略图。除非使用--no-simulate
,否则为模拟。
- Internet 快捷方式选项:
--write-link
:根据当前平台(.url、.webloc 或.desktop)写入 Internet 快捷方式文件。URL 可能被操作系统缓存。--write-url-link
:写入一个.url Windows Internet 快捷方式。操作系统根据文件路径缓存 URL。--write-webloc-link
:写入一个.webloc macOS Internet 快捷方式。--write-desktop-link
:写入一个.desktop Linux Internet 快捷方式。
- 详细程度和模拟选项:
-q
,--quiet
:激活安静模式。如果与--verbose
一起使用,则将日志打印到 stderr。--no-quiet
:停用安静模式。(默认)。--no-warnings
:忽略警告。-s
,--simulate
:不下载视频并且不写入任何内容到磁盘。--no-simulate
:即使使用打印/列出选项也下载视频。--ignore-no-formats-error
:忽略“没有视频格式”错误。对于即使视频实际上不可下载也提取元数据很有用(实验性)。--no-ignore-no-formats-error
:当找不到可下载的视频格式时抛出错误(默认)。--skip-download
:不下载视频但写入所有相关文件(别名:--no-download
)。-O
,--print [何时:]模板
:要打印到屏幕的字段名称或输出模板,可选地在前面加上何时打印它,用冒号“:”分隔。“WHEN”的支持值与--use-postprocessor
相同(默认:video)。意味着--quiet
。除非使用--no-simulate
或“WHEN”的后续阶段,否则意味着模拟。此选项可以多次使用。--print-to-file [何时:]模板 文件
:将给定模板附加到文件。“WHEN”和“模板”的值与--print
相同。文件使用与输出模板相同的语法。此选项可以多次使用。-j
,--dump-json
:安静,但为每个视频打印 JSON 信息。除非使用--no-simulate
,否则为模拟。有关可用键的描述,请参阅“OUTPUT TEMPLATE”。-J
,--dump-single-json
:安静,但为每个传递的 URL 或 infojson 打印 JSON 信息。除非使用--no-simulate
,否则为模拟。如果 URL 引用播放列表,则整个播放列表信息在一行中输出。--force-write-archive
:强制下载存档条目被写入,只要没有错误发生,即使使用了-s
或其他模拟选项(别名:--force-download-archive
)。--newline
:将进度条输出为新行。--no-progress
:不打印进度条。--progress
:显示进度条,即使在安静模式下。--console-title
:在控制台标题栏中显示进度。--progress-template [类型:]模板
:进度输出的模板,可选地在前面加上“download:”(默认)、“download-title:”(控制台标题)、“postprocess:”或“postprocess-title:”之一。视频的字段可在“info”键下访问,进度属性可在“progress”键下访问。例如,--console-title --progress-template "download-title:%(info.id)s-%(progress.eta)s"
。--progress-delta 秒数
:进度输出之间的时间(默认:0)。-v
,--verbose
:打印各种调试信息。--dump-pages
:打印使用 base64 编码的下载页面以调试问题(非常详细)。--write-pages
:将下载的中间页面写入当前目录中的文件以调试问题。--print-traffic
:显示发送和读取的 HTTP 流量。
- 解决方法:
--encoding 编码
:强制指定的编码(实验性)。--legacy-server-connect
:明确允许对不支持 RFC 5746 安全重新协商的服务器进行 HTTPS 连接。--no-check-certificates
:抑制 HTTPS 证书验证。--prefer-insecure
:使用未加密的连接检索视频信息(目前仅支持 YouTube)。--add-headers 字段:值
:指定自定义 HTTP 标头及其值,用冒号“:”分隔。你可以多次使用此选项。--bidi-workaround
:解决缺乏双向文本支持的终端问题。需要 bidiv 或 fribidi 可执行文件在 PATH 中。--sleep-requests 秒数
:在数据提取期间请求之间的睡眠时间,以秒为单位。--sleep-interval 秒数
:每次下载之前的睡眠时间。这是与--max-sleep-interval
一起使用时的最小睡眠时间(别名:--min-sleep-interval
)。--max-sleep-interval 秒数
:最大睡眠时间。只能与--min-sleep-interval
一起使用。--sleep-subtitles 秒数
:每次下载字幕之前的睡眠时间。
- 视频格式选项:
-f
,--format 格式
:视频格式代码,有关更多详细信息,请参阅“FORMAT SELECTION”。-S
,--format-sort 排序顺序
:按给定的字段对格式进行排序,有关更多详细信息,请参阅“Sorting Formats”。--format-sort-force
:强制用户指定的排序顺序优先于所有字段,请参阅“Sorting Formats”以获取更多详细信息(别名:--S-force
)。--no-format-sort-force
:某些字段优先于用户指定的排序顺序(默认)。--video-multistreams
:允许将多个视频流合并到一个文件中。--no-video-multistreams
:每个输出文件仅下载一个视频流(默认)。--audio-multistreams
:允许将多个音频流合并到一个文件中。--no-audio-multistreams
:每个输出文件仅下载一个音频流(默认)。--prefer-free-formats
:在相同质量下,优先选择具有免费容器的视频格式而不是非免费格式。与“-S ext”一起使用以严格优先选择免费容器,而不考虑质量。--no-prefer-free-formats
:不给予免费容器任何特殊偏好(默认)。--check-formats
:确保仅从实际可下载的格式中选择格式。--check-all-formats
:检查所有格式是否实际可下载。--no-check-formats
:不检查格式是否实际可下载。-F
,--list-formats
:列出每个视频的可用格式。除非使用--no-simulate
,否则为模拟。--merge-output-format 格式
:合并格式时可以使用的容器,用“/”分隔,例如“mp4/mkv”。如果不需要合并,则忽略。(当前支持:avi、flv、mkv、mov、mp4、webm)。
- 字幕选项:
--write-subs
:写入字幕文件。--no-write-subs
:不写入字幕文件(默认)。--write-auto-subs
:写入自动生成的字幕文件(别名:--write-automatic-subs
)。--no-write-auto-subs
:不写入自动生成的字幕(默认)(别名:--no-write-automatic-subs
)。--list-subs
:列出每个视频的可用字幕。除非使用--no-simulate
,否则为模拟。--sub-format 格式
:字幕格式;接受格式偏好,例如“srt”或“ass/srt/best”。--sub-langs 语言
:要下载的字幕的语言(可以是正则表达式)或“all”,用逗号分隔,例如--sub-langs "en.*,ja"
。你可以在语言代码前加上“-”以从请求的语言中排除它,例如--sub-langs all,-live_chat
。使用--list-subs
获取可用语言标签列表。
- 身份验证选项:
-u
,--username 用户名
:使用此帐户 ID 登录。-p
,--password 密码
:帐户密码。如果省略此选项,yt-dlp 将交互式地询问。-2
,--twofactor 两步验证码
:两步验证代码。-n
,--netrc
:使用.netrc 身份验证数据。--netrc-location 路径
:.netrc 身份验证数据的位置;可以是路径或其所在的目录。默认为~/.netrc。--netrc-cmd NETRC_CMD
:执行以获取提取器的凭据的命令。--video-password 密码
:视频特定的密码。--ap-mso MSO
:Adobe Pass 多系统运营商(电视提供商)标识符,使用--ap-list-mso
获取可用 MSO 的列表。--ap-username 用户名
:多系统运营商帐户登录名。--ap-password 密码
:多系统运营商帐户密码。如果省略此选项,yt-dlp 将交互式地询问。--ap-list-mso
:列出所有支持的多系统运营商。--client-certificate CERTFILE
:PEM 格式的客户端证书文件的路径。可以包括私钥。--client-certificate-key KEYFILE
:客户端证书私钥文件的路径。--client-certificate-password 密码
:客户端证书私钥的密码,如果加密。如果未提供,并且密钥已加密,yt-dlp 将交互式地询问。
- 后期处理选项:
-x
,--extract-audio
:将视频文件转换为仅音频文件(需要 ffmpeg 和 ffprobe)。--audio-format 格式
:使用-x
时将音频转换为的格式。(当前支持:best(默认)、aac、alac、flac、m4a、mp3、opus、vorbis、wav)。你可以使用类似于--remux-video
的语法指定多个规则。--audio-quality 质量
:使用-x
转换音频时指定 ffmpeg 音频质量。在 0(最佳)和 10(最差)之间插入一个值用于可变比特率(VBR),或者像 128K 这样的特定比特率(默认 5)。--remux-video 格式
:如果必要,将视频重新封装到另一个容器中(当前支持:avi、flv、gif、mkv、mov、mp4、webm、aac、aiff、alac、flac、m4a、mka、mp3、ogg、opus、vorbis、wav)。如果目标容器不支持视频/音频编解码器,重新封装将失败。你可以指定多个规则;例如,“aac>m4a/mov>mp4/mkv”将 aac 重新封装为 m4a,mov 重新封装为 mp4,其他任何格式重新封装为 mkv。--recode-video 格式
:如果必要,将视频重新编码为另一种格式。语法和支持的格式与--remux-video
相同。--postprocessor-args 名称:参数
:将这些参数提供给后期处理器。指定后期处理器/可执行文件的名称和参数,用冒号“:”分隔,以将参数提供给指定的后期处理器/可执行文件。支持的 PP 是:Merger、ModifyChapters、SplitChapters、ExtractAudio、VideoRemuxer、VideoConvertor、Metadata、EmbedSubtitle、EmbedThumbnail、SubtitlesConvertor、ThumbnailsConvertor、FixupStretched、FixupM4a、FixupM3u8、FixupTimestamp 和 FixupDuration。支持的可执行文件是:AtomicParsley、FFmpeg 和 FFprobe。你也可以指定“PP+EXE:ARGS”以仅在指定的后期处理器使用时将参数提供给指定的可执行文件。此外,对于 ffmpeg/ffprobe,可以在前缀后可选地附加“_i”/“_o”,然后可选地附加一个数字,以在指定的输入/输出文件之前传递参数,例如--ppa "Merger+ffmpeg_i1:-v quiet"
。你可以多次使用此选项为不同的后期处理器提供不同的参数。(别名:--ppa
)。-k
,--keep-video
:后期处理后在磁盘上保留中间视频文件。--no-keep-video
:后期处理后删除中间视频文件(默认)。--post-overwrites
:覆盖后期处理后的文件(默认)。--no-post-overwrites
:不覆盖后期处理后的文件。--embed-subs
:将字幕嵌入视频中(仅适用于 mp4、webm 和 mkv 视频)。--no-embed-subs
:不嵌入字幕(默认)。--embed-thumbnail
:将缩略图作为封面艺术嵌入视频中。--no-embed-thumbnail
:不嵌入不将缩略图嵌入视频中(默认)。
-
--embed-metadata
:将元数据嵌入视频文件。如果未使用--no-embed-chapters
/--no-embed-info-json
,还会嵌入章节 /infojson(别名:--add-metadata
)。 -
--no-embed-metadata
:不向文件添加元数据(默认)(别名:--no-add-metadata
)。 -
--embed-chapters
:将章节标记添加到视频文件中(别名:--add-chapters
)。 -
--no-embed-chapters
:不添加章节标记(默认)(别名:--no-add-chapters
)。 -
--embed-info-json
:将 infojson 作为附件嵌入 mkv/mka 视频文件中。 -
--no-embed-info-json
:不将 infojson 作为附件嵌入视频文件。 -
--parse-metadata [何时:]来源:目标
:从其他字段解析额外的元数据,如标题 / 艺术家;有关详细信息,请参阅 “MODIFYING METADATA”。“WHEN” 的支持值与--use-postprocessor
相同(默认:pre_process)。 -
--replace-in-metadata [何时:]字段 正则表达式 替换内容
:使用给定的正则表达式在元数据字段中替换文本。此选项可以多次使用。“WHEN” 的支持值与--use-postprocessor
相同(默认:pre_process)。 -
--xattrs
:将元数据写入视频文件的 xattrs(使用都柏林核心和 XDG 标准)。 -
--concat-playlist 策略
:连接播放列表中的视频。其中之一是 “never”、“always” 或 “multi_video”(默认;仅当视频形成单个节目时)。所有视频文件必须具有相同的编解码器和流数量才能连接。“pl_video:” 前缀可与 “--paths” 和 “--output” 一起使用,以设置连接文件的输出文件名。有关详细信息,请参阅 “OUTPUT TEMPLATE”。 -
--fixup 策略
:自动纠正文件的已知故障。其中之一是 never(不做任何事情)、warn(仅发出警告)、detect_or_warn(默认;如果可以则修复文件,否则发出警告)、force(即使文件已存在也尝试修复)。 -
--ffmpeg-location 路径
:ffmpeg 二进制文件的位置;可以是二进制文件的路径或其所在的目录。 -
--exec [何时:]命令
:执行命令,可选地在前面加上执行的时间,用冒号 “:” 分隔。“WHEN” 的支持值与--use-postprocessor
相同(默认:after_move)。可以使用与输出模板相同的语法将任何字段作为参数传递给命令。如果未传递任何字段,则将 %(filepath,_filename|) q 添加到命令末尾。此选项可以多次使用以添加不同的后期处理器。 -
--no-exec
:删除之前定义的任何--exec
。 -
--convert-subs 格式
:将字幕转换为另一种格式(当前支持:ass、lrc、srt、vtt)。使用 “--convert-subs none” 禁用转换(默认)(别名:--convert-subtitles
)。 -
--convert-thumbnails 格式
:将缩略图转换为另一种格式(当前支持:jpg、png、webp)。你可以使用类似于 “--remux-video” 的语法指定多个规则。使用 “--convert-thumbnails none” 禁用转换(默认)。 -
--split-chapters
:根据内部章节将视频拆分为多个文件。“chapter:” 前缀可与 “--paths” 和 “--output” 一起使用,以设置拆分文件的输出文件名。有关详细信息,请参阅 “OUTPUT TEMPLATE”。 -
--no-split-chapters
:不根据章节拆分视频(默认)。 -
--remove-chapters 正则表达式
:删除标题与给定正则表达式匹配的章节。语法与--download-sections
相同。此选项可以多次使用。 -
--no-remove-chapters
:不从文件中删除任何章节(默认)。 -
--force-keyframes-at-cuts
:下载 / 拆分 / 删除章节时在剪辑处强制关键帧。这由于需要重新编码而速度较慢,但结果视频在剪辑周围可能具有较少的伪影。 -
--no-force-keyframes-at-cuts
:在剪辑 / 拆分时不在章节周围强制关键帧(默认)。 -
--use-postprocessor 名称[:参数]
:要启用的插件后期处理器的(区分大小写)名称,以及(可选地)要传递给它的参数,用冒号 “:” 分隔。参数是由分号 “;” 分隔的 NAME=VALUE 列表。“when” 参数确定后期处理器何时被调用。它可以是 “pre_process”(视频提取后)、“after_filter”(视频通过过滤器后)、“video”(在--format
之后;在--print
/--output
之前)、“before_dl”(在每个视频下载之前)、“post_process”(在每个视频下载之后;默认)、“after_move”(在将视频文件移动到其最终位置之后)、“after_video”(在下载并处理视频的所有格式之后)或 “playlist”(在播放列表结束时)之一。此选项可以多次使用以添加不同的后期处理器。 -
SponsorBlock 选项:
使用 SponsorBlock API(https://sponsor.ajay.app)为下载的 YouTube 视频创建章节条目,或从下载的 YouTube 视频中删除各种片段(赞助商、介绍等)。--sponsorblock-mark 类别
:要为其创建章节的 SponsorBlock 类别,用逗号分隔。可用类别有 sponsor、intro、outro、selfpromo、preview、filler、interaction、music_offtopic、poi_highlight、chapter、all 和 default(=all)。你可以在类别前加上 “-” 以排除它。有关类别描述,请参阅 [1]。例如,--sponsorblock-mark all,-preview
[1] Guidelines - SponsorBlock。--sponsorblock-remove 类别
:要从视频文件中删除的 SponsorBlock 类别,用逗号分隔。如果一个类别同时存在于标记和删除中,删除优先。语法和可用类别与--sponsorblock-mark
相同,除了 “default” 指的是 “all,-filler”,并且 poi_highlight、chapter 不可用。--sponsorblock-chapter-title 模板
:由--sponsorblock-mark
创建的 SponsorBlock 章节的标题的输出模板。唯一可用的字段是 start_time、end_time、category、categories、name、category_names。默认为 “[SponsorBlock]: %(category_names) l”。--no-sponsorblock
:禁用--sponsorblock-mark
和--sponsorblock-remove
。--sponsorblock-api URL
:SponsorBlock API 位置,默认为 https://sponsor.ajay.app。
-
提取器选项:
--extractor-retries 重试次数
:已知提取器错误的重试次数(默认是 3),或 “infinite”。--allow-dynamic-mpd
:处理动态 DASH 清单(默认)(别名:--no-ignore-dynamic-mpd
)。--ignore-dynamic-mpd
:不处理动态 DASH 清单(别名:--no-allow-dynamic-mpd
)。--hls-split-discontinuity
:在不连续处(如广告中断)将 HLS 播放列表拆分为不同格式。--no-hls-split-discontinuity
:在不连续处(如广告中断)不将 HLS 播放列表拆分为不同格式(默认)。--extractor-args IE_KEY:参数
:将参数传递给 IE_KEY 提取器。有关详细信息,请参阅 “EXTRACTOR ARGUMENTS”。你可以多次使用此选项为不同的提取器提供参数。
-