YT-DLP
简介
yt-dlp
是一个基于 youtube-dl
的开源命令行程序,用于从 YouTube 和其他视频网站下载视频、音频和字幕。它支持大量的网站,并提供了丰富的功能,例如选择特定格式、质量、字幕,以及自定义输出。yt-dlp
旨在提供比原版 youtube-dl
更快、更稳定的下载体验,并增加了许多新的功能和修复。它非常适合那些希望将在线视频保存到本地以供离线观看或学习的用户。
环境配置
Tip
建议使用虚拟环境来隔离项目依赖,避免与其他Python项目冲突。
- 操作系统:Ubuntu
- Python: 建议使用 Python 3.7 或更高版本
- yt-dlp:YouTube-DL的一个分支,具有更多功能和更好的性能
虚拟环境 (可选)
安装步骤
1. 安装依赖
安装 ffmpeg
工具,用于视频和音频的合并和转换。
2. 安装yt-dlp
推荐使用 pip
安装,方便管理和更新。
备选安装方式
如果 pip
安装失败,可以尝试以下方法:
3. 验证安装
Docker 配置
1. 创建 Dockerfile
在项目根目录下创建一个 Dockerfile
文件,用于定义 Docker 镜像的构建规则。
2. 创建 docker-compose.yml
创建一个 docker-compose.yml
文件,用于定义 Docker 容器的配置。
3. 构建和运行 Docker 容器
Note
- 替换
VIDEO_URL
为你要下载的视频链接。 - 下载的视频将保存在
./downloads
目录下。
4. Dockerfile 解释
FROM python:3.9-slim-buster
: 使用 Python 3.9 作为基础镜像。WORKDIR /app
: 设置工作目录为/app
。RUN apt-get update && apt-get install -y ffmpeg
: 安装ffmpeg
。RUN pip3 install yt-dlp
: 安装yt-dlp
。ENTRYPOINT ["yt-dlp"]
: 设置容器启动时执行的命令为yt-dlp
。
5. docker-compose.yml 解释
version: "3.8"
: 指定 Docker Compose 文件版本。services
: 定义服务。yt-dlp
: 服务名称。build: .
: 使用当前目录下的Dockerfile
构建镜像。volumes
: 将主机上的./downloads
目录挂载到容器的/app/downloads
目录,实现文件共享。command
: 指定容器启动时执行的命令,-o /app/downloads/%(title)s.%(ext)s VIDEO_URL
将下载的视频保存到/app/downloads
目录,并使用标题作为文件名。
基本使用方法
1. 下载视频
2. 下载音频
3. 下载播放列表
高级功能
1. 自定义输出格式
2. 下载字幕
3. 限制下载速度
4. 使用 Cookies
和身份验证
更新和维护
1. 更新yt-dlp
2. 配置文件
配置文件详解
-f bestvideo+bestaudio
: 选择最佳视频和音频质量--merge-output-format mp4
: 合并视频和音频为 MP4 格式-o ~/Downloads/%(title)s.%(ext)s
: 指定下载目录和文件名格式--write-subs
: 下载字幕--embed-subs
: 将字幕嵌入到视频中
常见问题
下载速度慢
- 尝试使用代理
- 更换下载服务器
- 检查网络连接
- 尝试使用
--limit-rate
限制下载速度,避免占用过多带宽
出现错误
- 确保yt-dlp为最新版本
- 检查网络连接
- 验证URL是否有效
- 查看错误信息,搜索相关解决方案
视频无法播放或缺少 codec
- 确保安装了
ffmpeg
- 尝试转换视频格式
身份验证问题
- 确保用户名和密码正确
- 检查 cookies 是否过期
- 尝试更新
yt-dlp
最佳实践
- 尊重版权,仅下载允许下载的内容
- 避免过度下载,以免对服务器造成不必要的压力
- 定期更新
yt-dlp
,以获取最新的功能和修复 - 仔细阅读
yt-dlp
的文档,了解更多高级用法