
简介
什么是 YT-DLP Web Player ?
YT-DLP Web Player是一个开源的在线视频播放器,基于强大的yt-dlp引擎。它可以帮助用户直接在浏览器中播放来自各种视频网站的内容,无需下载即可在线观看。
主要特点
- 多平台支持 :基于
yt-dlp,支持YouTube、Bilibili等众多视频平台 - 画质选择:支持视频分辨率选择、字幕选择和宽高比调整
- 视频下载:提供视频下载功能,方便离线观看
- PWA 支持 :支持
Progressive Web App,可安装到手机桌面,Android支持"分享到"功能 - 视频搜索:内置视频搜索功能,无需离开界面即可查找内容
- 主题定制 :支持自定义主题颜色和
AMOLED深色背景 - SponsorBlock 集成 :自动跳过
YouTube视频中的赞助商片段 - 每日自动更新 :
yt-dlp每日自动更新,及时支持新的视频网站和编码 - 开源免费 :基于
GPL-2.0协议开源,可免费使用和修改
应用场景
- 个人视频中心:搭建个人视频播放平台,统一管理和观看各平台视频
- 家庭媒体服务:家庭成员共享视频播放服务,支持多设备访问
- 嵌入式播放器 :通过
/iframe端点将播放器嵌入到其他网页中 - 视频归档:下载并保存喜欢的视频内容,建立个人视频库
- 无广告观看:绕过视频网站的广告,获得更纯净的观看体验

总的来说,YT-DLP Web Player 是一个功能强大且易于部署的在线视频播放解决方案,让你摆脱平台限制,自由观看网络视频。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 matszwe02,不太好找,下拉找到 matszwe02/ytdlp_web_player,只有一个 latest 版本,双击直接下载

卷
在 docker 文件夹中,创建一个新文件夹 ytdlp_web_player,并在其中建一个子文件夹 download
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/ytdlp_web_player/data |
/app/download |
存放下载的视频 |

端口
本地端口使用 5038,不冲突就行,不确定的话可以用命令查一下
bash
# 查看端口占用
netstat -tunlp | grep 5038
| 本地端口 | 容器端口 |
|---|---|
5038 |
5000 |

环境
| 可变 | 值 | 说明 |
|---|---|---|
APP_TITLE |
YT-DLP Player |
应用标题 |
THEME_COLOR |
#ff7300 |
主题颜色 |
GENERATE_SPRITE_BELOW |
1800 |
视频长度低于此值(秒)时生成缩略图 |
AMOLED_BG |
false |
AMOLED 深色背景 |
MAX_VIDEO_AGE |
3600 |
视频缓存过期时间(秒) |
MAX_VIDEO_DURATION |
36000 |
最大视频时长(秒) |
DEFAULT_QUALITY |
720 |
默认视频质量 |
LOAD_DEFAULT_QUALITY |
true |
加载默认画质 |
PLAYLIST_SUPPORT |
false |
播放列表支持 |
DOWNLOAD_PATH |
./download |
下载路径 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
bash
# 新建文件夹 ytdlp_web_player 和 子目录
mkdir -p /volume1/docker/ytdlp_web_player/data
# 进入 ytdlp_web_player 目录
cd /volume1/docker/ytdlp_web_player
# 一键启动
docker run -d \
--name ytdlp_web_player \
--restart unless-stopped \
-p 5038:5000 \
-v $(pwd)/data:/app/download \
-e APP_TITLE="YT-DLP Player" \
-e THEME_COLOR="#ff7300" \
-e GENERATE_SPRITE_BELOW="1800" \
-e AMOLED_BG="false" \
-e MAX_VIDEO_AGE="3600" \
-e MAX_VIDEO_DURATION="36000" \
-e DEFAULT_QUALITY="720" \
-e LOAD_DEFAULT_QUALITY="true" \
-e PLAYLIST_SUPPORT="false" \
-e DOWNLOAD_PATH="./download" \
matszwe02/ytdlp_web_player
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
yaml
version: '3.8'
services:
ytdlp_web_player:
image: matszwe02/ytdlp_web_player
container_name: ytdlp_web_player
restart: unless-stopped
ports:
- "5038:5000"
volumes:
- ./data:/app/download
environment:
- APP_TITLE=YT-DLP Player
- THEME_COLOR=#ff7300
- GENERATE_SPRITE_BELOW=1800
- AMOLED_BG=false
- MAX_VIDEO_AGE=3600
- MAX_VIDEO_DURATION=36000
- DEFAULT_QUALITY=720
- LOAD_DEFAULT_QUALITY=true
- PLAYLIST_SUPPORT=false
- DOWNLOAD_PATH=./download
然后通过 SSH 登录到您的群晖,执行下面的命令:
bash
# 新建文件夹 ytdlp_web_player 和 子目录
mkdir -p /volume1/docker/ytdlp_web_player/data
# 进入 ytdlp_web_player 目录
cd /volume1/docker/ytdlp_web_player
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d

运行
在浏览器中访问 http://<群晖IP>:5038 即可进入 Web 界面

以老苏之前发的 https://www.bilibili.com/video/BV1LSwQzZEPi 为例,加载中会看到界面预览

加载成功后,就可以播放了

注意事项
- PWA 和 iframe 嵌入需要 HTTPS :如需使用
PWA安装或iframe嵌入功能,需要配置反向代理启用HTTPS - 视频平台限制 :部分视频网站有反爬虫机制,可能无法正常播放,可查看 yt-dlp 支持的网站列表
- 存储空间 :视频缓存会占用磁盘空间,建议定期清理或调整
MAX_VIDEO_AGE参数 - 网络要求 :播放高清视频需要较好的网络带宽,建议根据网络情况调整
DEFAULT_QUALITY - 安全建议 :如公网访问,建议添加认证机制或限制访问
IP
参考文档
Matszwe02/ytdlp_web_player: Arbitraty internet video player powered by yt-dlp
地址:https://github.com/Matszwe02/ytdlp_web_player
yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader