vget 正式支持 YouTube 视频下载
vget
youtube
docker
视频下载
yt-dlp
vget v0.8 带来了期待已久的 YouTube 视频下载功能,通过 Docker 部署即可轻松下载 YouTube 视频
YouTube 支持终于来了
从 v0.8 版本开始,vget 正式支持 YouTube 视频下载。这是社区呼声最高的功能之一,我们终于实现了它。
为什么选择 Docker 方案
YouTube 的反爬机制非常复杂,直接在本地实现一个稳定的下载器几乎是不可能的任务。我们选择了更务实的方案:通过 Docker 集成 yt-dlp。
这样做的好处:
- 稳定可靠 - yt-dlp 是目前最活跃的 YouTube 下载工具,社区会持续更新以应对 YouTube 的变化
- 功能完整 - 自动选择最佳画质,自动合并音视频流
- 部署简单 - 一行命令启动,无需复杂配置
快速开始
1. 拉取镜像
docker pull ghcr.io/guiyumin/vget:latest
2. 启动服务
docker run -d -p 8080:8080 \
-v ~/Downloads:/home/vget/downloads \
-v ~/.config/vget:/home/vget/.config/vget \
--name vget \
ghcr.io/guiyumin/vget:latest
3. 下载视频
打开浏览器访问 http://localhost:8080,粘贴 YouTube 链接即可开始下载。
或者使用命令行:
docker exec vget vget https://www.youtube.com/watch?v=dQw4w9WgXcQ
技术细节
vget 的 YouTube 支持基于以下技术栈:
- yt-dlp - 主力下载工具,支持最新的 YouTube 协议
- youtube-dl - 备用方案,当 yt-dlp 失败时自动切换
- ffmpeg - 用于合并分离的音视频流
- Node.js - 用于解决 YouTube 的 N 参数 JS 挑战
下载时,vget 会自动:
- 选择最佳视频质量 + 最佳音频质量
- 合并为 MP4 格式
- 使用视频标题作为文件名
支持的链接格式
vget 支持多种 YouTube 链接格式:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_IDhttps://music.youtube.com/watch?v=VIDEO_ID
多架构支持
Docker 镜像同时支持 linux/amd64 和 linux/arm64 架构,无论你使用的是 x86 服务器还是 ARM 设备(如树莓派、Apple Silicon Mac),都可以直接运行。
下一步计划
- 支持 YouTube 播放列表下载
- 支持选择视频画质
- 支持下载字幕
欢迎在 GitHub 上提交 Issue 和 PR!