你要什么
仅音频会提取声音轨并丢弃视频流。
本手册针对 yt-dlp 2026.07.21 编写。不同版本之间会新增和改名选项,请用 yt-dlp --version 确认你的版本。
-f FORMAT
--format
最高画质
限制高度上限。yt-dlp 仍会挑选该上限及以下最好的一路流。
-f FORMAT
--format
自定义 format selector
会取代画质下拉框。适合已经熟悉 format 语法的人。
示例
-f "bv*[vcodec^=av01]+ba"-f "b[filesize<50M]"--merge-output-format FORMAT
需要 ffmpeg
Container
把分离的视频流和音频流合并进去的文件类型。
--remux-video FORMAT
需要 ffmpeg
Remux 为
不重新编码,只重新封装。快且无损。
--recode-video FORMAT
需要 ffmpeg
重新编码为
重新编码视频。慢且有损 —— 只在 remux 不行时才用。
--audio-format FORMAT
需要 ffmpeg
音频格式
音频要转换成的文件类型。
--audio-quality QUALITY
需要 ffmpeg
音频质量
VBR 的体积与质量之比最好;固定 bitrate 更容易预估大小。
字幕
内嵌会把字幕放进视频里;保存则在旁边写一个独立的 .srt 文件。
字幕语言
用逗号分隔。想要所有可用语言就写 all。
示例
--sub-langs "en,vi"--sub-langs "en.*,ja"--sub-langs all自动生成的字幕
在没有人工字幕时,把机器生成的字幕也算进来。
播放列表处理
当网址同时属于一个视频和一个播放列表时该怎么做。
-I ITEM_SPEC
--playlist-items
要哪些项
范围和列表都可以,例如 1-10,15,或者用 -5::2 表示从末尾开始每隔一项取一项。
示例
-I 1:5-I "1,3,7-10"-I "-5::2"记录文件
记下已经下过的项,于是重新运行会跳过它们。这就是让一个频道保持同步的办法。
--download-sections REGEX
需要 ffmpeg
只下载其中一段
像 *00:01:30-00:03:00 这样的时间范围,或者章节名。开头的星号表示这是时间戳。
示例
--download-sections "*00:01:30-00:03:00"--download-sections "intro"--split-chapters
需要 ffmpeg
按章节拆分
每个章节写成一个文件,而不是一整个长文件。
--embed-thumbnail
需要 ffmpeg
内嵌缩略图
把视频缩略图作为封面。
--embed-metadata
需要 ffmpeg
内嵌元数据
把标题、上传者和日期写进文件本身。
--embed-chapters
需要 ffmpeg
内嵌章节
加入章节标记,播放器可以在它们之间跳转。
另存缩略图文件
把封面图片写在视频旁边。
另存简介
把简介写进一个 .description 文件。
另存元数据 JSON
把 yt-dlp 关于这个视频知道的一切写进 .info.json 文件。
--sponsorblock-remove CATS
需要 ffmpeg
移除片段
依据 SponsorBlock 数据,把社区标记的片段从文件里直接剪掉。
把片段标记为章节
片段保留,但会被标出来,让你自己跳过。
-o [TYPES:]TEMPLATE
--output
文件名模板
字段名写在 %(...)s 里。斜杠会创建目录。
示例
-o "%(title)s.%(ext)s"-o "%(playlist_index)02d - %(title)s.%(ext)s"-P [TYPES:]PATH
--paths
下载目录
文件写到哪里。配合上面的模板可以生成子目录。
安全(纯 ASCII)文件名
去掉重音符号、空格,以及某些挑剔的文件系统可能拒绝的字符。
兼容 Windows 的文件名
去掉 Windows 不接受的字符,即使你在别的系统上运行。
文件名截断到
文件名最大长度,按字符计。
覆盖已存在的文件
替换掉已经存在的文件。
-w
--no-overwrites
永不覆盖
跳过任何已经下载过的东西。
-c
--continue
续传未完成的下载
从中断的地方接着下。
上传时间晚于
YYYYMMDD,或者像 now-1month 这样的相对日期。
示例
--dateafter 20240101--dateafter now-1month上传时间早于
YYYYMMDD,或者相对日期。
最小体积
跳过更小的文件。可以写 5M、500K 之类。
最大体积
跳过更大的文件。
下载多少个后停止
停下来之前要下载的文件数量。
-r RATE
--limit-rate
限速
例如 2M 或 500K。当你需要把余下带宽留给别的事情时很有用。
-N N
--concurrent-fragments
并发 fragment 数
能加快分片流的下载。从 4 开始比较合适。
-R RETRIES
--retries
重试次数
失败的分片要重试几次。也可以写 infinite。
Proxy
HTTP、HTTPS 或 SOCKS proxy 的地址。
绕过地区限制
伪造请求来源。在部分站点有效,并非全部。
伪装成浏览器
让请求看起来来自真实浏览器。突然出现 403 时,这是最常见的解法。
从浏览器读取 cookies
直接读取你的登录会话。私密、年龄限制或会员专属内容都需要它。
Cookies 文件
从浏览器导出的 Netscape 格式 cookies.txt。
从直播开头录
从直播开始处录制,而不是从当前时刻。
等待直播开始
反复检查直到预定的直播开始。MIN-MAX 是两次检查之间的秒数。
--user-agent UA
已弃用 — --add-headers
User agent
已弃用,应改用 --add-headers。之所以保留,是因为很多旧教程还在用它。
--referer URL
已弃用 — --add-headers
Referer
已弃用,应改用 --add-headers。
Extractor 参数
按站点区分的专用选项,例如 youtube:player_client=web。
示例
--extractor-args "youtube:player_client=web,android"