MeTube 是一款自托管的 YouTube 下载 Web UI,基于 yt-dlp 构建。支持下载视频、音频、字幕、缩略图,订阅频道后自动检测新内容并排队下载。Docker 一行命令部署,本地运行无隐私顾虑,GitHub 14 Stars 的新兴开源项目,文末附详细使用教程
🎤 引言
想下载 YouTube 视频,你一般怎么做?
浏览器插件?不稳定,容易失效。命令行 yt-dlp?功能强大但每次敲命令很麻烦,而且没法追踪频道更新。
现在有个新选项:MeTube——一个自托管的 Web 界面,基于 yt-dlp,用浏览器管理下载、订阅频道、设置自动下载规则。Docker 一条命令跑起来,手机上也能访问。
14 Stars,开源免费。
⭐ 核心功能
MeTube 不是一个下载工具,它是一个下载管理界面,底层跑的是大家熟悉的 yt-dlp。
1. 浏览器里的下载中心
在 Web UI 上粘贴视频链接,选择格式(视频、音频、字幕、缩略图),点下载。进度条、暂停、恢复、已下载文件管理,全在浏览器里完成。
支持数十个站点,不只是 YouTube,Dailymotion、Vimeo、TikTok、Pornhub(你没看错)都能下。
2. 播放列表和频道订阅
这是 MeTube 和 yt-dlp 直接用的核心区别。
你可以订阅一个频道,MeTube 会定期自动检查有没有新视频,有新内容就自动加入下载队列。不需要每次手动去找、去复制链接。
对于追更 YouTube 频道的用户来说,这基本上是"私有云端下载服务"的感觉。
3. 可配置的输出选项
- 视频格式(MP4、WebM、MKV...)
- 音频格式(MP3、AAC、FLAC...)
- 分辨率选择(最高 4K,看源文件)
- 字幕是否下载、封面是否保存
- 文件命名规则(支持模板变量)
4. 环境变量配置
MeTube 通过环境变量配置,不进容器也能改参数:
| 参数 | 作用 | 默认值 |
|---|---|---|
PORT | Web 端口 | 8081 |
DOWNLOAD_DIR | 下载目录 | /downloads |
TEMP_DIR | 临时文件目录(可设 tmpfs 加速) | /downloads |
STATE_DIR | 状态文件目录 | /downloads/.metube |
CHOWN_DIRS | 是否自动修改目录权限 | true |
📥 安装与使用
项目地址:https://github.com/alexta69/metube
Docker 部署(一条命令)
docker run -d \
-p 8081:8081 \
-v /path/to/downloads:/downloads \
ghcr.io/alexta69/metube然后浏览器访问 http://localhost:8081,Done。
docker-compose 部署(推荐持久化)
services:
metube:
image: ghcr.io/alexta69/metube
container_name: metube
restart: unless-stopped
ports:
- "8081:8081"
volumes:
- /path/to/downloads:/downloads
environment:
- PORT=8081
- DOWNLOAD_DIR=/downloads
- TEMP_DIR=/downloads本地开发构建
# Node.js 22+ 和 Python 3.13 required
# 前端 Angular build
cd ui && npm install && npm run build
# 后端 Python
cd .. && pip install -r requirements.txt
# 运行
python -m metube进阶玩法:内存文件系统加速下载
如果用 SSD 或 RAM filesystem 做 temp 目录,下载速度会明显提升(尤其大文件):
docker run -d \
-p 8081:8081 \
-v /path/to/downloads:/downloads \
-v /tmp/metube-temp:/tmp/metube:rw \
-e TEMP_DIR=/tmp/metube \
ghcr.io/alexta69/metube🎯 适用场景
谁适合用 MeTube?
- 追更 YouTube 频道的人
不想装 App,又想在 NAS 或 VPS 上 24 小时挂着下载。MeTube 的频道订阅功能就是为这个场景设计的,设置一次,以后新视频自动下好。 - 注重隐私的人
不想把下载需求交给第三方服务(很多在线解析站会记录 IP 和下载历史)。自托管在本地或自己的服务器,下载行为完全自主。 - 技术爱好者 / NAS 用户
已经在用 Docker 做各种服务的人,加一个 MeTube 几乎是零成本。可以和 Jellyfin/Emby 联动——下载完直接媒体库刮削。 - 离线观看需求
经常出差或在网络不稳定的地方,提前下载好视频。MeTube 的 Web UI 在手机浏览器里也能用,远程触发下载,回家就能看。
⚠️ 注意事项
- 14 Stars,项目很新
目前只有 14 颗星,commit 次数也不多。功能在快速迭代,但也意味着可能有 bug,升级版本时注意看 changelog。 - yt-dlp 本身有法律边界
MeTube 底层是 yt-dlp,下载受版权保护的内容仅供个人学习使用。发布、传播、商业用途均有法律风险,这一点在使用前需要清楚认知。 - Docker 卷权限问题
默认CHOWN_DIRS=true会在容器启动时修改下载目录权限。如果你的宿主机的下载目录属于另一个用户(比如nobody),可能遇到权限冲突。可以设CHOWN_DIRS=false手动处理。 - YouTube 反爬升级可能导致暂时失效
yt-dlp 维护团队一直在跟进 YouTube 的反爬机制,但有时会出现 1-2 天的空窗期,这是所有基于 yt-dlp 工具的共同问题。 - 订阅检测频率
目前没有看到细粒度的订阅检查间隔配置,大概率依赖 Docker 重启或手动刷新。期待后续版本能加 CRON 式的定时检测。
✅ 总结
MeTube 是 yt-dlp 的"浏览器化",把命令行的强大能力变成了人人都能用的 Web 界面。核心卖点是频道订阅自动下载——这个功能在同类开源工具里不算多见。
值得夸的地方:
- Docker 一键部署,门槛极低
- 频道订阅 + 自动排队下载,追更体验接近私有化 YouTube 下载服务
- Web UI 响应式,手机、平板都能用
- 基于 yt-dlp,几十个站点的支持是现成的
需要磨合的地方:
- 项目很新,生态还在长大
- 没有原生移动 App,依赖浏览器
- 订阅检测频率不透明,期待更细致的定时配置
推荐指数:⭐⭐⭐⭐(4/5)
适合有 NAS 或 VPS、想搭建私有媒体下载服务的用户。对于纯桌面用户来说,yt-dlp 命令行可能更直接;但如果你需要 24 小时自动追更频道,MeTube 是目前开源方案里体验最顺的一个。
项目地址:https://github.com/alexta69/metube
Related: