简介
什么是 yt-dlp ?
yt-dlp
是一个功能丰富的命令行音频/视频下载工具,支持从数千个网站下载内容。它是youtube-dl
的一个分支,基于已不再活跃的youtube-dlc
开发。yt-dlp
提供了许多高级功能和选项,使用户能够控制下载过程,并支持多种输出格式和后处理选项。该工具适合需要批量下载或处理在线媒体的用户。
什么是 yt-dlp-web ?
yt-dlp-web
是一个自托管的应用程序,提供了yt-dlp
的Web
界面。用户可以通过这个界面观看或下载存储在远程服务器上的视频。该项目使用Docker
部署,支持多种视频下载选项,并允许用户自定义配置,如认证信息和下载目录。yt-dlp-web
旨在简化视频下载过程,使其更加用户友好,尤其适合非技术用户。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 yt-dlp-web
,选择第一个 sooros5132/yt-dlp-web
,版本选择 latest
。
本文写作时,
latest
版本对应为0.3.2
;
卷
在 docker
文件夹中,创建一个新文件夹 ytdlp
,并在其中建两个子文件夹 cache
和 downloads
这两个目录都需要增加 Everyone
的读写权限
否则下载时会报错
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/ytdlp/cache | /cache | 缓存目录 |
docker/ytdlp/downloads | /downloads | 下载目录 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
3981 | 3000 |
环境
可变 | 值 |
---|---|
AUTH_SECRET | 用于保护 Web 界面的随机字符串,长度至少为 40 个字符。 |
CREDENTIAL_USERNAME | 用于访问 Web 界面的用户名。 |
CREDENTIAL_PASSWORD | 用于访问 Web 界面的密码。 |
AUTH_SECRET
可以使用openssl rand -hex 64
来生成;
只有在需要保护网站的时候,才需要设置这三个值,设置后会需要登录才能使用
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 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
文件
version: "3"services:yt-dlp-web:image: sooros5132/yt-dlp-webcontainer_name: yt-dlp-webuser: 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 folderports:- 3981:3000 # Web Page Port Mappingrestart: unless-stopped
然后执行下面的命令
# 新建文件夹 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