yt-dlp:功能强大的命令行音视频下载神器

项目地址https://github.com/yt-dlp/yt-dlp

如果经常需要从 YouTube、Bilibili、Twitter、Instagram 等平台下载视频或音频,那么一定不能错过 yt-dlp ,它是开源、跨平台、功能极其丰富的命令行音视频下载工具。

本文将带你全面了解 yt-dlp 的优势、安装方法,并通过多个实用示例快速上手!

什么是 yt-dlp

yt-dlpyoutube-dl 的活跃分支(fork),在保留原项目强大功能的基础上,进行了大量优化和扩展:

  • ✅ 支持 超过 1500 个网站(包括 YouTube、Bilibili、TikTok、Reddit、Coursera 等)
  • ✅ 更快的更新频率和更强的反爬能力
  • ✅ 支持 SponsorBlock(跳过片头/广告/赞助片段)
  • ✅ 更智能的格式选择与合并(支持 4K、HDR、多音轨等)
  • ✅ 内置字幕、封面、元数据嵌入
  • ✅ 跨平台:Windows / macOS / Linux 均可运行
官方支持站点列表:Supported Sites

安装 yt-dlp

yt-dlp 支持多种安装方式,可以根据自己的系统和偏好选择适合的方法。

使用 Homebrew

如果在 macOS 上使用 Homebrew,只需一条命令即可安装:

brew install yt-dlp

# 升级命令
brew upgrade yt-dlp
提示
Homebrew 安装的版本通常保持最新,且自动处理依赖(如 FFmpeg 可单独安装:brew install ffmpeg)。

使用 pip

确保已安装 Python 3.10+,然后执行:

pip install yt-dlp

# 升级命令
pip install -U yt-dlp

直接下载二进制文件

适用于不想安装 Python 的用户:

以 macOS 为例:

# 下载
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_macos -o yt-dlp
# 赋予执行权限
chmod +x yt-dlp
# 移动到 PATH(可选)
sudo mv yt-dlp /opt/homebrew/bin/
注意:
若需合并音视频(如下载 1080p+ 高清视频),请同时安装 FFmpeg
在 macOS 上可通过 Homebrew 安装:brew install ffmpeg

基础使用示例

下载单个视频

直接在命令行输入命令 + 视频链接即可:

yt-dlp "https://www.youtube.com/watch?v=xxxxxx"

同时也可以通过ID下载对应视频+视频,对应格式的视频的ID可以通过下面列出所有可用格式的命令获取

yt-dlp -f 137+140 "链接"
  • 视频用格式 137(1080p)
  • 音频用格式 140(高质量 AAC)

仅下载音频

# 下载并转为 MP3 格式
yt-dlp -x --audio-format mp3 "视频链接"

-x 表示提取音频,需 FFmpeg 支持

列出所有可用格式

yt-dlp -F "视频链接"

通过输出的表格中的 RESOLUTION 来确定要下载的音频 audio 或对应大小的视频选择适合的格式编号。

手动指定格式

可以通过 -f 参数指定下载的格式,支持多种组合方式:

# 仅 144p
yt-dlp -f "bestvideo[height=144]+bestaudio/best[height=144]" "链接"

# 仅 240p
yt-dlp -f "bestvideo[height=240]+bestaudio/best[height=240]" "链接"

# 仅 360p
yt-dlp -f "bestvideo[height=360]+bestaudio/best[height=360]" "链接"

# 仅 480p
yt-dlp -f "bestvideo[height=480]+bestaudio/best[height=480]" "链接"

# 仅 720p
yt-dlp -f "bestvideo[height=720]+bestaudio/best[height=720]" "链接"

# 例如 1080p + 最佳音频
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" "视频链接"

# 最高 4K(但不超过 2160p)
yt-dlp -f "bestvideo[height<=2160]+bestaudio/best[height<=2160]" "链接"

下载整个播放列表

如果需要下载 YouTube 上的整个播放列表,可以直接使用播放列表链接:

yt-dlp -i "播放列表链接"

-i 表示忽略错误,继续下载下一个视频。

更多用法

自动跳过 YouTube 的赞助/片头片段

yt-dlp --sponsorblock-remove all "视频链接"

支持类别:sponsor, intro, outro, selfpromo, preview 等。

嵌入封面图到音频文件(MP3/M4A)

yt-dlp -x --embed-thumbnail --audio-format mp3 "视频链接"

下载字幕(中英双语)

yt-dlp --write-subs --sub-langs en,zh "视频链接"

自定义输出文件名

yt-dlp -o "%(uploader)s - %(title)s.%(ext)s" "视频链接"

常用字段:%(title)s, %(id)s, %(upload_date)s, %(duration)s 等。

使用配置文件(避免重复输入参数)

创建 ~/.config/yt-dlp/config 文件,内容如下:

--format bestvideo[height<=1080]+bestaudio/best
--output "~/Videos/%(uploader)s/%(title)s.%(ext)s"
--embed-thumbnail
--embed-metadata
--write-subs
--sub-langs zh,en

之后每次运行 yt-dlp 都会自动应用这些设置!

注意事项

  • 请遵守各平台的 服务条款版权法规,仅用于个人学习或合法用途。
  • 某些网站(如 YouTube)可能需要登录 Cookie 才能下载高清内容:
    yt-dlp --cookies-from-browser chrome "视频链接"
    
  • 若遇到“格式不可用”,可尝试更新 yt-dlp:
    yt-dlp -U
    

yt-dlp 凭借其强大的功能、活跃的社区和持续的更新,已成为目前最优秀的命令行视频下载工具之一。无论你是普通用户想保存喜欢的视频,还是开发者需要批量处理媒体资源,它都能满足你的需求。

GitHub 地址https://github.com/yt-dlp/yt-dlp
官方 Wiki(含 FAQ)https://github.com/yt-dlp/yt-dlp/wiki