侧边栏壁纸
博主头像
Eric‘s Blog

To be a better man.

  • 累计撰写 53 篇文章
  • 累计创建 18 个标签
  • 累计收到 13 条评论

目 录CONTENT

文章目录
NAS

NAS视频下载神器:基于yt-dlp的Web界面部署教程(附Compose配置)

Eric
2026-04-16 / 0 评论 / 0 点赞 / 25 阅读 / 0 字

简介

在日常使用中,很多用户会遇到在线视频下载工具兼容性差、支持站点少或下载失败的问题。基于 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/Shanghai

3. 参数说明(关键优化)

建议重点关注以下参数:

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 等)

  • 希望构建本地影音库的用户

  • 有批量下载或自动化需求的用户

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区