简介
在日常使用中,很多用户会遇到在线视频下载工具兼容性差、支持站点少或下载失败的问题。基于 yt-dlp 的 WebUI 项目可以很好地解决这些问题,它支持上千个视频网站,并提供可视化界面,操作简单。
需要注意的是,部分系统(如飞牛 fnOS 商店版本)在使用过程中可能会出现“文件名过长导致下载失败”的问题。本文将通过 Docker Compose 的方式部署一个更稳定、可自定义的版本,并通过参数优化解决该问题。
视频演示
功能介绍
该项目基于 yt-dlp 封装,具备以下特点:
支持上千个视频网站下载
提供 Web 可视化界面
支持视频 / 音频格式选择
支持清晰度、编码格式自定义
支持播放列表 / 频道批量下载
支持订阅机制(自动更新下载)
支持自动更新 yt-dlp 核心程序
适合部署在 NAS、家庭服务器或 Docker 环境中长期使用。
部署步骤(Docker Compose)
1. 创建目录
在 NAS 或服务器中创建项目目录,例如:
mkdir -p /vol1/1/downloads
说明:
/vol1/1000/docker/metube:项目目录/downloads:下载文件存储目录(可自定义)
2. 创建 Compose 文件
新建 docker-compose.yml 文件,内容如下:
services:
metube:
image: alexta69/metube
container_name: metube
restart: unless-stopped
ports:
- "8081:8081"
volumes:
- /vol1/1000/downloads:/downloads
environment:
- OUTPUT_TEMPLATE=%(title).64s.%(ext)s
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
# 每周日凌晨 4 点检查更新
- WATCHTOWER_SCHEDULE=0 0 4 * * 0
- TZ=Asia/Shanghai3. 参数说明(关键优化)
建议重点关注以下参数:
1)文件名长度限制(关键)
OUTPUT_TEMPLATE=%(title).64s.%(ext)s
作用:
限制文件名长度为 64 字符
避免因文件名过长导致下载失败(尤其在某些 NAS 系统中)
2)端口设置
- "8081:8081"
可根据需要修改为任意未占用端口。
3)下载目录
/vol1/1000/downloads:/downloads
建议使用独立目录,方便后续媒体管理(如接入 Jellyfin / Emby)。
4)自动更新机制
由于 yt-dlp 更新频繁(网站规则变化),建议启用自动更新。
示例中设置为:
WATCHTOWER_SCHEDULE=0 0 4 * * 0即每 7 天检查更新一次,可自行调整。
4. 启动服务
在 Compose 文件目录执行:
docker compose up -d
启动后,通过浏览器访问:
http://你的IP:8081
使用说明
1. 基础下载
将视频链接粘贴到输入框
点击下载按钮
选择:
视频 / 音频
分辨率
编码格式
2. 高级选项
支持对下载内容进行分类管理,例如:
按频道分类
按播放列表分类
自定义文件结构
3. 播放列表 / 频道订阅
支持批量与自动化下载:
输入频道或播放列表链接
选择“订阅”
系统会自动创建定时任务
默认每 60 分钟检查一次更新
适合以下场景:
自动同步 YouTube 频道
定期更新课程或资源
构建本地视频库
进阶玩法
1. 对接 Jellyfin / Emby
将下载目录挂载为媒体库:
Jellyfin / Emby 指向
/downloads自动刮削视频信息
构建家庭影音中心
2. 音频提取 + 私有音乐库
下载时选择音频模式
输出为 mp3 / m4a
配合 Navidrome / Jellyfin 音乐库使用
3. 自动化影视资源收集
可结合以下工具:
自动订阅频道(yt-dlp WebUI)
媒体整理工具(如脚本或自动分类)
媒体服务器(Jellyfin / Emby)
构建完整自动化媒体系统。
总结
通过 Docker 部署 yt-dlp WebUI,相比商店版本具有更高的灵活性与稳定性,同时可以:
解决文件名过长导致下载失败的问题
自定义下载路径与格式
实现自动更新 yt-dlp 核心
支持订阅与批量下载
适合以下人群:
NAS 用户(飞牛 / 群晖 / Unraid 等)
希望构建本地影音库的用户
有批量下载或自动化需求的用户
评论区