一个功能强大的视频下载脚本,支持多种视频平台,包括普通视频链接、YouTube 和 Bilibili。
- ✅ 支持普通视频链接(直接 MP4 等格式)
- ✅ 支持 YouTube 视频下载
- ✅ 支持 Bilibili 视频下载(包括标准链接和短链接)
- ✅ 自动选择最佳可用格式
- ✅ 自动合并视频和音频流
- ✅ 支持指定输出目录
- ✅ 支持指定视频质量
- ✅ 显示下载进度和视频信息
- Python 3.6+
- ffmpeg(用于合并视频和音频流)
cd video-downloadpython3 -m venv venv
source venv/bin/activate # macOS/Linux
# 或
venv\Scripts\activate # Windowspip install -r requirements.txtmacOS:
brew install ffmpegLinux (Ubuntu/Debian):
sudo apt update
sudo apt install ffmpegWindows: 下载并安装 ffmpeg,或使用包管理器如 Chocolatey:
choco install ffmpegpython download_video.py <视频链接>注意: 默认情况下,视频会下载到项目目录下的 downloads/ 文件夹中。该文件夹已添加到 .gitignore,不会被提交到 Git 仓库。
python download_video.py https://www.getsnippets.ai/why-keeping-prompts/ikea-veo.mp4python download_video.py https://www.youtube.com/watch?v=VIDEO_ID标准链接:
python download_video.py https://www.bilibili.com/video/BVxxxxx短链接:
python download_video.py https://b23.tv/xxxxxpython download_video.py <视频链接> -o ./videos如果不指定输出目录,视频会默认下载到项目目录下的 downloads/ 文件夹。
python download_video.py <视频链接> -q 720p质量选项示例:
best- 最佳质量(默认)worst- 最低质量720p- 720p 分辨率1080p- 1080p 分辨率
# 下载 YouTube 视频到指定目录
python download_video.py https://www.youtube.com/watch?v=VIDEO_ID -o ./downloads
# 下载 Bilibili 视频,指定 720p 质量
python download_video.py https://www.bilibili.com/video/BVxxxxx -q 720p -o ./videospositional arguments:
url 视频链接 URL
optional arguments:
-h, --help 显示帮助信息
-o, --output DIR 指定输出目录(默认为项目目录下的 downloads 文件夹)
-q, --quality QUALITY 指定视频质量(如: best, worst, 720p, 1080p 等)
-
Bilibili 视频: 脚本会自动选择可用的最佳格式,某些需要会员的高码率格式可能无法下载。如需下载会员专享内容,请参考 yt-dlp 文档 使用 cookies 进行身份验证。
-
YouTube 视频: 某些视频可能需要 JavaScript 运行时才能获取完整信息,但脚本仍可正常下载。
-
文件命名: 下载的文件会使用视频标题作为文件名,特殊字符会被自动处理。
-
临时文件: 下载过程中会创建临时文件,下载完成后会自动清理。
解决方案: 安装 ffmpeg(见上方安装步骤)
解决方案:
- 脚本会自动回退到可用格式
- 如果仍然失败,可以尝试指定较低的质量:
-q 720p或-q worst
解决方案:
- 检查网络连接
- 确认视频链接有效
- 某些地区可能需要代理
本项目仅供学习和个人使用,请遵守各视频平台的使用条款。