yt-dlp多功能视频下载工具使用教程

核心功能与使用

(一)核心功能

  1. 多平台支持:支持 YouTube、Twitch、Udemy 等数千个网站,含直播流下载(如 YouTube/Twitch 直播可从开始位置下载,需 --live-from-start 参数)。
  2. 格式选择与处理
    • 支持筛选视频分辨率、编码格式、文件大小等,如 -f "best[height=720]" 下载 720p 最佳格式。
    • 可合并音视频流(需 ffmpeg),如 -f bestvideo+bestaudio 下载最佳视频和音频并合并。
    • 支持音频提取(-x 参数),可指定输出格式(如 MP3、AAC)和音质。
  3. 元数据与字幕处理
    • 嵌入缩略图、元数据(标题、作者、发布日期等)到文件中。
    • 下载字幕(含自动生成字幕),支持筛选语言和格式(SRT、VTT 等)。
  4. SponsorBlock 集成:可标记或移除 YouTube 视频中的赞助商、片头片尾等片段,如 --sponsorblock-remove sponsor,intro
  5. 批量与playlist处理:支持下载播放列表,可指定下载范围(--playlist-items)、随机顺序(--playlist-random),并按章节拆分视频(--split-chapters)。

(二)关键命令与选项

  1. 基础语法yt-dlp [OPTIONS] [--] URL [URL...],常用选项如下表:

    类别选项功能说明
    通用选项-h/--help查看帮助;--version 查看版本;-U 更新
    格式选择-f/--format指定格式,如 -f mp4-F 列出所有可用格式
    输出设置-o/--output自定义输出文件名模板,如 -o "%(title)s.%(ext)s"-P 指定下载路径
    字幕相关--write-subs下载字幕;--sub-langs en 指定英文 subtitles
    音频提取-x提取音频;--audio-format mp3 指定音频格式为 MP3
    网络设置--proxy URL使用代理;--socket-timeout SECONDS 设置超时时间
  2. 输出模板:支持通过占位符自定义文件名,如 %(title)s(标题)、%(upload_date)s(发布日期)、%(playlist_index)s(播放列表索引),示例:

    • 按播放列表分目录:-o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s"
    • 按发布年份分目录:-o "%(upload_date>%Y)s/%(title)s.%(ext)s"

一、下载特定网站音视频的完整方法

1. 安装 yt-dlp

优先选择预编译二进制文件(无需Python环境):

  • 下载地址:前往 ah0210/yt-dlp 的 GitHub Releases 页面,下载对应系统文件(Windows:yt-dlp.exe;Mac:yt-dlp_macos;Linux:yt-dlp)。
  • 配置环境变量:将文件放到系统可直接调用的路径(如 Windows C:\Windows、Mac/Linux /usr/local/bin),终端输入 yt-dlp --version 能显示版本即安装成功。

2. 可选依赖(关键)

安装 ffmpeg(用于音视频合并、格式转换),同样加入环境变量,yt-dlp 会自动调用。

二、核心操作步骤(通用所有支持的网站)

1. 基础下载(一键获取最佳质量)

这是最常用的方式,无需复杂参数,直接下载目标URL的最佳音视频:

1
2
3
4
5
6
7
# 基本语法
yt-dlp [音视频URL]

# 示例:下载B站视频
yt-dlp https://www.bilibili.com/video/BV1xx411c7mZ/
# 示例:下载YouTube视频
yt-dlp https://www.youtube.com/watch?v=9bZkp7q19f0
  • 效果:文件默认保存到当前目录,命名规则为「视频标题 [视频ID].扩展名」。

2. 自定义格式下载(按需选分辨率/仅音频)

步骤1:查看该URL支持的所有格式

先执行命令列出格式列表,方便选择:

1
yt-dlp -F [URL]  # -F 是 --list-formats 的简写

输出示例(包含格式ID、分辨率、编码等):

1
2
3
4
format code  extension  resolution note
18           mp4        640x360    medium
22           mp4        1280x720   hd720
251          webm       audio only tiny
步骤2:指定格式下载
1
2
3
4
5
6
7
8
# 方式1:按格式ID下载(精准)
yt-dlp -f 22 [URL]  # 下载720p MP4格式

# 方式2:仅下载音频(并转为MP3)
yt-dlp -x --audio-format mp3 [URL]  # -x 是 --extract-audio 的简写

# 方式3:筛选分辨率+格式(灵活)
yt-dlp -f "bestvideo[height<=1080]+bestaudio" [URL]  # 最高1080p视频+最佳音频,自动合并

3. 自定义保存路径/文件名

-o 参数指定路径和命名规则,解决默认命名/路径混乱问题:

1
2
3
4
5
6
7
8
# 示例1:自定义文件名(仅保留标题+扩展名)
yt-dlp -o "%(title)s.%(ext)s" [URL]

# 示例2:按目录分类保存(Windows)
yt-dlp -o "D:\下载\视频\%(uploader)s\%(title)s.%(ext)s" [URL]

# 示例3:按目录分类保存(Mac/Linux)
yt-dlp -o "~/Downloads/Videos/%(uploader)s/%(title)s.%(ext)s" [URL]

常用占位符:%(title)s(标题)、%(uploader)s(上传者)、%(ext)s(扩展名)、%(upload_date)s(发布日期)。

三、特定场景适配(针对不同网站/需求)

1. 需登录的网站(如B站大会员、YouTube会员)

无需手动输账号,直接从浏览器导入Cookie:

1
2
3
4
5
# 从Chrome导入Cookie(Windows/Mac/Linux通用)
yt-dlp --cookies-from-browser chrome [URL]

# 从Firefox导入(指定配置文件)
yt-dlp --cookies-from-browser firefox:default [URL]

2. 下载播放列表(批量下载)

1
2
3
4
5
# 下载整个播放列表
yt-dlp [播放列表URL]

# 仅下载播放列表中第1-5、第10个视频
yt-dlp --playlist-items 1-5,10 [播放列表URL]

3. 下载直播流(如YouTube/Twitch直播)

1
2
3
4
5
# 从直播开始位置完整下载
yt-dlp --live-from-start [直播URL]

# 实时下载当前直播内容(按Ctrl+C停止)
yt-dlp [直播URL]

4. 国内网站(B站/抖音/西瓜视频)

yt-dlp 已内置大部分国内网站支持,直接用基础命令即可;若下载失败,先更新工具:

1
2
3
yt-dlp -U  # 更新到最新稳定版
# 或更新到每日测试版(兼容更多网站)
yt-dlp -U --update-to nightly

四、常见问题解决

  • 下载速度慢:加多线程参数 --concurrent-fragments 8(建议8-16)。
  • 音视频合并失败:确认 ffmpeg 已安装并加入环境变量。
  • URL解析失败:检查URL是否完整(如去掉多余参数),或更新yt-dlp。

总结

  1. 基础下载核心命令:yt-dlp [URL],自定义格式用 -f,自定义路径用 -o
  2. 查看可用格式是自定义下载的前提,命令为 yt-dlp -F [URL]
  3. 特殊场景(登录、直播、播放列表)只需添加对应参数(--cookies-from-browser/--live-from-start/--playlist-items)即可适配。

一、指定音视频的下载目录

这是最常用的方式,通过 -P(–paths)或 -o(–output)参数在命令行中直接指定,前者专门设置目录,后者可同时设置目录和文件名。

1. 用 -P 单独指定目录(推荐,逻辑更清晰)

-P 可以精准指定不同类型文件(视频、音频、字幕等)的保存目录,基础语法:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 通用语法:指定所有文件的下载根目录
yt-dlp -P "目标目录路径" [视频URL]

# 示例1(Windows):下载到 D 盘的 Video 文件夹
yt-dlp -P "D:\Video" https://www.youtube.com/watch?v=XXXXXXXXXXX

# 示例2(Mac/Linux):下载到用户目录下的 Downloads/YT-DLP 文件夹
yt-dlp -P "~/Downloads/YT-DLP" https://www.youtube.com/watch?v=XXXXXXXXXXX

# 进阶:分别指定视频、字幕、缩略图的目录(Windows示例)
yt-dlp -P video:"D:\Video" -P subtitles:"D:\Video\Subs" -P thumbnail:"D:\Video\Thumbnails" [URL]

2. 用 -o 同时指定目录和文件名(更灵活)

-o 可以结合占位符(如视频标题、扩展名)自定义完整路径,基础语法:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 通用语法:目录路径 + 文件名模板
yt-dlp -o "目标目录/%(title)s.%(ext)s" [视频URL]

# 示例1(Windows):下载到 D:\Video,文件名保留原标题
yt-dlp -o "D:\Video\%(title)s.%(ext)s" https://www.bilibili.com/video/BVXXXXXXXX/

# 示例2(Mac/Linux):下载到 ~/Downloads/YT-DLP,按上传者分子目录
yt-dlp -o "~/Downloads/YT-DLP/%(uploader)s/%(title)s.%(ext)s" [URL]

# 示例3(Windows):按发布日期分目录(YYYYMMDD格式)
yt-dlp -o "D:\Video\%(upload_date)s\%(title)s.%(ext)s" [URL]

常用占位符说明(方便自定义文件名):

  • %(title)s:视频标题
  • %(ext)s:文件扩展名(如mp4、mp3)
  • %(uploader)s:上传者/UP主名称
  • %(upload_date)s:发布日期(YYYYMMDD)
  • %(id)s:视频ID

二、永久设置默认下载目录(无需每次输参数)

如果不想每次命令都指定目录,可以通过配置文件设置默认路径,一劳永逸。

步骤1:找到配置文件路径

yt-dlp 会按优先级读取以下位置的配置文件:

系统配置文件路径
Windows%APPDATA%\yt-dlp\configyt-dlp.exe 同目录的 yt-dlp.conf
Mac/Linux~/.config/yt-dlp/config/etc/yt-dlp.conf

步骤2:创建/编辑配置文件

  1. 新建一个文本文件,命名为 config(Windows 也可命名为 yt-dlp.conf);
  2. 在文件中添加默认目录配置(二选一即可):
    1
    2
    3
    4
    5
    6
    7
    
    # 方式1:用 -P 指定默认根目录(推荐)
    -P "D:\Video"  # Windows示例
    # -P "~/Downloads/YT-DLP"  # Mac/Linux示例
    
    # 方式2:用 -o 指定默认目录+文件名
    -o "D:\Video\%(title)s.%(ext)s"  # Windows示例
    # -o "~/Downloads/YT-DLP/%(title)s.%(ext)s"  # Mac/Linux示例
  3. 将文件保存到上述对应路径(如 Windows 保存到 %APPDATA%\yt-dlp\config)。

步骤3:验证生效

直接执行基础下载命令,文件会自动保存到配置的默认目录:

1
yt-dlp [视频URL]

三、注意事项

  1. 路径中的空格处理:如果目录名包含空格(如 D:\My Video),需用引号包裹路径("D:\My Video"),避免解析错误;
  2. 目录自动创建:yt-dlp 会自动创建你指定的不存在的目录,无需手动新建;
  3. 优先级:命令行指定的目录(-P/-o)> 配置文件默认目录 > 当前工作目录。

总结

  1. 临时指定目录:用 -P 单独设置目录(简单),或 -o 同时设置目录+文件名(灵活);
  2. 永久默认目录:在 yt-dlp 配置文件中添加 -P-o 路径,无需每次输参数;
  3. 路径格式:Windows 用反斜杠 \(或双反斜杠 \\),Mac/Linux 用斜杠 /,路径含空格需加引号。
原文链接: https://www.17you.com/tool/yt-dlp%E4%B8%8B%E8%BD%BD%E9%9F%B3%E8%A7%86%E9%A2%91/ 已复制!
脚本编程和自动化工具

寻找技术支持帮助和技术合伙人一起搞事。

请点击联系我


相关内容