Furthe77oad
Furthe77oad
发布于 2026-10-16 / 0 阅读
0
0

yt-dlp 本地部署指南

1. 项目说明

yt-dlp 是一个支持大量视频网站的命令行音视频下载工具。它不是 Web 服务,因此不需要配置端口、数据库或后台进程。

本地部署主要包含三个部分:

  1. 安装 yt-dlp。
  2. 安装 FFmpeg,用于合并音视频、转换音频和处理字幕。
  3. 安装 JavaScript 运行时。完整的 YouTube 支持目前推荐使用 Deno。

请只下载自己拥有、获得授权或当地法律允许下载的内容,并遵守目标网站的服务条款。yt-dlp 不用于绕过 DRM。

2. macOS 部署(推荐)

2.1 检查 Homebrew

打开“终端”,运行:

brew --version

如果能够显示版本号,直接进入下一步。如果提示找不到命令,请先从 Homebrew 官网 安装 Homebrew,并按照安装器最后显示的提示将 Homebrew 加入 PATH。

2.2 安装 yt-dlp 和 FFmpeg

brew update
brew install yt-dlp ffmpeg

当前 Homebrew 的 yt-dlp 配方会一并处理 Deno 和 yt-dlp-ejs。通常不需要再单独安装 JavaScript 组件。

2.3 验证安装

yt-dlp --version
ffmpeg -version
deno --version

三个命令都能正常显示版本信息,即表示部署成功。

2.4 创建下载目录

mkdir -p "$HOME/Downloads/yt-dlp"

2.5 首次测试

只读取视频信息,不实际下载:

yt-dlp --simulate "视频网址"

确认没有报错后下载:

yt-dlp -P "$HOME/Downloads/yt-dlp" "视频网址"

请将 视频网址 替换为实际链接,并保留链接两侧的引号。

3. Windows 部署

打开 PowerShell,依次运行:

winget install --source winget --id yt-dlp.yt-dlp
winget install --source winget --id Gyan.FFmpeg
winget install --source winget --id DenoLand.Deno

安装完成后关闭并重新打开 PowerShell,然后验证:

yt-dlp --version
ffmpeg -version
deno --version

首次下载:

yt-dlp -P "$HOME\Downloads\yt-dlp" "视频网址"

4. Linux 部署

4.1 检查 Python

下面使用的官方 yt-dlp Unix 文件需要 CPython 3.10 或更高版本。先检查:

python3 --version

如果没有安装或版本低于 3.10,请先通过发行版的软件仓库安装受支持的 Python 版本。

4.2 安装官方 yt-dlp 文件

mkdir -p "$HOME/.local/bin"
curl -L "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" \
  -o "$HOME/.local/bin/yt-dlp"
chmod a+rx "$HOME/.local/bin/yt-dlp"

确保 ~/.local/bin 已加入 PATH。重新打开终端后检查:

yt-dlp --version

4.3 安装 FFmpeg

Ubuntu 或 Debian:

sudo apt update
sudo apt install ffmpeg

Arch Linux:

sudo pacman -Syu ffmpeg

Fedora:

sudo dnf install ffmpeg

部分 Fedora 版本需要先启用提供完整 FFmpeg 的软件仓库;请以当前 Fedora 官方文档为准。

4.4 安装 JavaScript 运行时

完整的 YouTube 支持需要 JavaScript 运行时。官方推荐 Deno。Linux 可以使用 Deno 官方安装脚本:

curl -fsSL https://deno.land/install.sh | sh

安装器会显示 PATH 配置提示。完成后重新打开终端。其他安装方式见 Deno 官方安装文档。

安装后验证:

ffmpeg -version
deno --version
yt-dlp --version

5. 常用命令

# 下载默认最佳画质
yt-dlp "视频网址"

# 指定保存目录
yt-dlp -P "$HOME/Downloads/yt-dlp" "视频网址"

# 只下载当前视频,不下载播放列表
yt-dlp --no-playlist "视频网址"

# 优先输出 MP4
yt-dlp -t mp4 "视频网址"

# 最高不超过 1080p
yt-dlp -S "res:1080" "视频网址"

# 查看全部格式
yt-dlp -F "视频网址"

# 提取 MP3
yt-dlp -t mp3 "视频网址"

# 查看字幕
yt-dlp --list-subs "视频网址"

# 下载中文字幕和英文字幕
yt-dlp --write-subs --write-auto-subs \
  --sub-langs "zh.*,en.*" --convert-subs srt "视频网址"

# 使用 Chrome 的登录状态
yt-dlp --cookies-from-browser chrome "视频网址"

浏览器 Cookie 相当于登录凭据,请勿导出、上传或分享。

6. 更新

Homebrew 安装

brew update
brew upgrade yt-dlp
brew upgrade ffmpeg

Windows winget 安装

winget upgrade --source winget --id yt-dlp.yt-dlp
winget upgrade --source winget --id Gyan.FFmpeg
winget upgrade --source winget --id DenoLand.Deno

官方独立文件安装

yt-dlp -U

如果稳定版更新后仍然因网站改版而无法工作,可以按照官方说明考虑切换到 nightly:

yt-dlp --update-to nightly

通过 Homebrew、winget 等包管理器安装时,应优先使用对应包管理器更新,不要混用内置更新方式。

7. 可选配置文件

macOS 和 Linux 推荐位置:

~/.config/yt-dlp/config

Windows 推荐位置:

%APPDATA%\yt-dlp\config

示例配置:

-P ~/Downloads/yt-dlp
-o %(title)s [%(id)s].%(ext)s
--no-playlist
--embed-metadata

保存后,后续只需运行:

yt-dlp "视频网址"

临时忽略配置文件:

yt-dlp --ignore-config "视频网址"

8. 常见问题

command not found: yt-dlp

重新打开终端。如果仍然失败,检查 yt-dlp 所在目录是否已加入 PATH。

which yt-dlp

Windows 可使用:

where.exe yt-dlp

ffmpeg not found

先确认 FFmpeg 能否运行:

ffmpeg -version

如果 FFmpeg 已安装但 yt-dlp 找不到,可以显式指定其目录:

yt-dlp --ffmpeg-location "FFmpeg所在目录" "视频网址"

视频突然无法解析

先更新 yt-dlp,再生成详细诊断信息:

yt-dlp -v "视频网址"

需要登录或出现年龄限制

使用当前浏览器的登录状态:

yt-dlp --cookies-from-browser chrome "视频网址"

也可以将 chrome 替换为 safari、firefox、edge 或 brave。

9. 官方资料


评论