这个项目能做什么
youtube-dl 是一个命令行程序,用于从 YouTube.com 及众多其他视频平台下载视频。它由 Python 编写,跨平台运行(Linux、macOS、Windows),需要 Python 2.6/2.7 或 3.2+。
## 安装
可通过多种方式安装:
- 直接下载二进制文件:`sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl`
- pip:`sudo -H pip install --upgrade youtube-dl`
- macOS Homebrew:`brew install youtube-dl`
- macOS MacPorts:`sudo port install youtube-dl`
- Windows:下载 .exe 文件并放置到 PATH 中(不要放在 System32)。
## 核心功能
- 使用专用提取器从 1000+ 支持站点下载视频和字幕。
- 完整的播放列表支持,包括范围选择(`--playlist-start`、`--playlist-end`、`--playlist-items`)、倒序和随机顺序。
- 视频格式选择,支持按分辨率、容器、编解码器、文件大小、时长、播放量和日期进行过滤。
- 通过伪造 X-Forwarded-For 头、自定义国家代码或 IP 块例外来绕过地理限制。
- 网络选项:HTTP/HTTPS/SOCKS 代理、IPv4/IPv6 强制、套接字超时、自定义用户代理和引用页。
- 支持外部下载器(aria2c、curl、ffmpeg、wget、axel 等)以应对高级下载场景。
- 支持恢复部分下载的文件;可配置重试次数,支持整体和单个片段的重试。
- 输出文件名模板,支持丰富的元数据键(标题、上传者、上传日期、分辨率、格式等)。
- 可选输出产物:缩略图(单个或所有格式)、`.info.json` 元数据、`.description` 文件、`.annotations.xml`。
## 常见用法
基本下载:`youtube-dl <URL>`
下载播放列表第 5 至 10 项:`youtube-dl --playlist-items 5-10 <playlist_URL>`
选择最佳视频:`youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]" <URL>`
设置输出模板:`youtube-dl -o "%(title)s [%(id)s].%(ext)s" <URL>`
下载字幕:在命令中添加 `--write-subs --sub-langs en`。
仅模拟不下载:`youtube-dl --skip-download <URL>`
导出 JSON 元数据:`youtube-dl --dump-json <URL>`
限速:`youtube-dl --limit-rate 50K <URL>`
## 配置
选项可放置在配置文件中:
- 全局:`/etc/youtube-dl.conf`
- 用户:`~/.config/youtube-dl/config`(Linux/macOS)或 `%APPDATA%/youtube-dl/config.txt`(Windows)
使用 `--config-location` 指定自定义路径,或使用 `--ignore-config` 跳过读取任何配置文件。
## 嵌入
youtube-dl 可作为 Python 库使用,将提取和下载逻辑嵌入到脚本和应用程序中。
## 许可
发布于公共领域——可自由修改、重新分发和以任何方式使用。
评论
0 评分人数达到10人后显示
登录后参与讨论。