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 通过环境变量配置,不进容器也能改参数:

参数作用默认值
PORTWeb 端口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?

  1. 追更 YouTube 频道的人
    不想装 App,又想在 NAS 或 VPS 上 24 小时挂着下载。MeTube 的频道订阅功能就是为这个场景设计的,设置一次,以后新视频自动下好。
  2. 注重隐私的人
    不想把下载需求交给第三方服务(很多在线解析站会记录 IP 和下载历史)。自托管在本地或自己的服务器,下载行为完全自主。
  3. 技术爱好者 / NAS 用户
    已经在用 Docker 做各种服务的人,加一个 MeTube 几乎是零成本。可以和 Jellyfin/Emby 联动——下载完直接媒体库刮削。
  4. 离线观看需求
    经常出差或在网络不稳定的地方,提前下载好视频。MeTube 的 Web UI 在手机浏览器里也能用,远程触发下载,回家就能看。

⚠️ 注意事项

  1. 14 Stars,项目很新
    目前只有 14 颗星,commit 次数也不多。功能在快速迭代,但也意味着可能有 bug,升级版本时注意看 changelog。
  2. yt-dlp 本身有法律边界
    MeTube 底层是 yt-dlp,下载受版权保护的内容仅供个人学习使用。发布、传播、商业用途均有法律风险,这一点在使用前需要清楚认知。
  3. Docker 卷权限问题
    默认 CHOWN_DIRS=true 会在容器启动时修改下载目录权限。如果你的宿主机的下载目录属于另一个用户(比如 nobody),可能遇到权限冲突。可以设 CHOWN_DIRS=false 手动处理。
  4. YouTube 反爬升级可能导致暂时失效
    yt-dlp 维护团队一直在跟进 YouTube 的反爬机制,但有时会出现 1-2 天的空窗期,这是所有基于 yt-dlp 工具的共同问题。
  5. 订阅检测频率
    目前没有看到细粒度的订阅检查间隔配置,大概率依赖 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: