带Web界面的yt-dlp视频下载器

简介

什么是 yt-dlp ?

yt-dlp 是一个功能丰富的命令行音频/视频下载工具,支持从数千个网站下载内容。它是 youtube-dl 的一个分支,基于已不再活跃的 youtube-dlc 开发。yt-dlp 提供了许多高级功能和选项,使用户能够控制下载过程,并支持多种输出格式和后处理选项。该工具适合需要批量下载或处理在线媒体的用户。

什么是 yt-dlp-web ?

yt-dlp-web 是一个自托管的应用程序,提供了 yt-dlpWeb 界面。用户可以通过这个界面观看或下载存储在远程服务器上的视频。该项目使用 Docker 部署,支持多种视频下载选项,并允许用户自定义配置,如认证信息和下载目录。yt-dlp-web 旨在简化视频下载过程,使其更加用户友好,尤其适合非技术用户。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 yt-dlp-web ,选择第一个 sooros5132/yt-dlp-web,版本选择 latest

本文写作时, latest 版本对应为 0.3.2

docker 文件夹中,创建一个新文件夹 ytdlp,并在其中建两个子文件夹 cachedownloads

这两个目录都需要增加 Everyone 的读写权限

否则下载时会报错

文件夹 装载路径 说明
docker/ytdlp/cache /cache 缓存目录
docker/ytdlp/downloads /downloads 下载目录

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3981 3000

环境

可变
AUTH_SECRET 用于保护 Web 界面的随机字符串,长度至少为 40 个字符。
CREDENTIAL_USERNAME 用于访问 Web 界面的用户名。
CREDENTIAL_PASSWORD 用于访问 Web 界面的密码。

AUTH_SECRET 可以使用 openssl rand -hex 64 来生成;

只有在需要保护网站的时候,才需要设置这三个值,设置后会需要登录才能使用

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 新建文件夹 ytdlp 和 子目录
mkdir -p /volume1/docker/ytdlp/{cache,downloads}

# 进入 ytdlp 目录
cd /volume1/docker/ytdlp

# 修改目录权限
chmod a+rw {cache,downloads}

# 运行容器
docker run -d \
  --name yt-dlp-web \
  --user 1000:1000 \
  --restart unless-stopped \
  -p 3981:3000 \
  -v $(pwd)/downloads:/downloads \
  -v $(pwd)/cache:/cache \
  sooros5132/yt-dlp-web

# 运行容器(带登录认证)
docker run -d \
  --name yt-dlp-web \
  --user 1000:1000 \
  --restart unless-stopped \
  -p 3981:3000 \
  -v $(pwd)/downloads:/downloads \
  -v $(pwd)/cache:/cache \
  -e AUTH_SECRET="Random_string,_40+_characters_recommended" \
  -e CREDENTIAL_USERNAME="username" \
  -e CREDENTIAL_PASSWORD="password" \
  sooros5132/yt-dlp-web

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

yaml 复制代码
version: "3"

services:
  yt-dlp-web:
    image: sooros5132/yt-dlp-web
    container_name: yt-dlp-web
    user: 1000:1000 # User Id, Group Id Setting
    # environment:
    #   If you need to protect the site, set AUTH_SECRET, CREDENTIAL_USERNAME, CREDENTIAL_PASSWORD.
    #   ex)
    #   AUTH_SECRET: "Random_string,_40+_characters_recommended"
    #   CREDENTIAL_USERNAME: "username"
    #   CREDENTIAL_PASSWORD: "password"
    volumes:
      - ./downloads:/downloads # Downloads folder
      - ./cache:/cache         # Cache folder
    ports:
      - 3981:3000 # Web Page Port Mapping
    restart: unless-stopped

然后执行下面的命令

bash 复制代码
# 新建文件夹 ytdlp 和 子目录
mkdir -p /volume1/docker/ytdlp/{cache,downloads}

# 进入 ytdlp 目录
cd /volume1/docker/ytdlp

# 修改目录权限
chmod a+rw {cache,downloads}

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3981 ,如果设置了认证的话,会看到登录界面

否则会直接看到主界面

输入要下载的视频的地址即可

下载完成后,可以直接预览

当然这是有前提的,就是你的 NAS 能访问要下载的视频网站,比如 YouTube

参考文档

yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader

地址:https://github.com/yt-dlp/yt-dlp
sooros5132/yt-dlp-web: Self-hosted yt-dlp with the Web UI.

地址:https://github.com/sooros5132/yt-dlp-web

相关推荐
zyu676 小时前
03-Docker存储和网络
网络·docker·容器
牛奔6 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
青州从事52112 小时前
20260108【mac】【brew】【docker】安装
macos·docker·eureka
菜鸟思维13 小时前
优化NextJs 项目的Docker 镜像 从3.62G 优化到 296.85M
docker
怣疯knight14 小时前
Docker Desktop 4.55.0版本安装成功教程
windows·docker
东方佑14 小时前
使用Docker Compose一键部署OnlyOffice:完整指南与配置解析
运维·docker·容器
赵文宇(温玉)15 小时前
Docker的价值、特点、创新与关键技术
运维·docker·容器
Coder码匠16 小时前
Docker Compose 部署 Spring Boot 应用完全指南
spring boot·docker·容器
可爱又迷人的反派角色“yang”17 小时前
k8s(二)
linux·运维·docker·云原生·容器·kubernetes·云计算
计算机小手17 小时前
内网穿透系列十六:使用 wg-easy 快速搭建基于 wireguard 的虚拟局域网,支持Docker部署
经验分享·网络协议·docker·开源软件