增强版影视聚合播放器MoonTVPlus

简介

什么是 MoonTVPlus ?

🎬 MoonTVPlus 是基于 MoonTV v100 二次开发的增强版影视聚合播放器。它在原版基础上新增了外部播放器支持、视频超分、弹幕系统、评论抓取等实用功能,提供更强大的观影体验。

✨ 功能特性

  • 🔍 多源聚合搜索:一次搜索立刻返回全源结果。
  • 📄 丰富详情页:支持剧集列表、演员、年份、简介等完整信息展示。
  • ▶️ 流畅在线播放:集成 HLS.js & ArtPlayer
  • ❤️ 收藏 + 继续观看:支持 Kvrocks/Redis/Upstash 存储,多端同步进度。
  • 📱 PWA:离线缓存、安装到桌面/主屏,移动端原生体验。
  • 🌗 响应式布局:桌面侧边栏 + 移动底部导航,自适应各种屏幕尺寸。
  • 👿 智能去广告:自动跳过视频中的切片广告,更可以自定义你的去广告代码以增强去广告功能。

🎉 相对原版新增内容

  • 🎮 外部播放器跳转:支持 PotPlayerVLCMPVMX PlayernPlayerIINA 等多种外部播放器
  • ✨ **视频超分 (Anime4K)**:使用 WebGPU 技术实现实时视频画质增强(支持 1.5x/2x/3x/4x 超分)
  • 💬 弹幕系统:完整的弹幕搜索、匹配、加载功能,支持弹幕设置持久化、弹幕屏蔽
  • 📝 豆瓣评论抓取:自动抓取并展示豆瓣电影短评,支持分页加载
  • 🪒自定义去广告:你可以自定义你的去广告代码,实现更强力的去广告功能
  • 🎭 观影室:支持多人同步观影、实时聊天、语音通话等功能(实验性)。
  • 📥 M3U8完整下载:通过合并 m3u8 片段实现完整视频下载。

从功能上看,跟 OmniBox 非常相似,但 MoonTVPlus 支持多用户,更适合建站

安装

在群晖上以 Docker 方式安装。

本文沿用了 影视聚合播放器MoonTV 一文中的多账户 Redis 版本

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
services:
moontv-core:
image: ghcr.io/mtvpls/moontvplus:latest
container_name: moontv-core
restart: on-failure
ports:
- '3066:3000'
environment:
- USERNAME=laosu
- PASSWORD=123456
- NEXT_PUBLIC_STORAGE_TYPE=redis
- REDIS_URL=redis://moontv-redis:6379
depends_on:
- moontv-redis

moontv-redis:
image: redis:alpine
container_name: moontv-redis
restart: unless-stopped
# 请开启持久化,否则升级/重启后数据丢失
volumes:
- ./data:/data

已使用的环境变量简单说明如下,更多的可以参考官方文档:https://github.com/mtvpls/MoonTVPlus#环境变量

环境变量 默认值 说明
USERNAME (无默认值) 站长账号,任意字符串,必填字段。
PASSWORD (无默认值) 站长密码,任意字符串,必填字段。
NEXT_PUBLIC_STORAGE_TYPE redis 播放记录/收藏的存储方式,支持 rediskvrocksupstash
REDIS_URL (无默认值) Redis 连接 URL,格式为 redis://<host>:<port>,必填字段。

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 moontvplus 和 子目录
mkdir -p /volume1/docker/moontvplus/data

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

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3066 就能看到登录界面

账号和密码分别对应环境变量中的 USERNAMEPASSWORD 的值

登录成功后的主界面

【注意】:部署后项目为空壳项目,无内置播放源和直播源,需要自行收集

视频源

从右上角进入 管理面板

进入 视频源配置 –> 添加视频源

  • 名称:视频源的名称,会在界面中展示;
  • Key:唯一标识,保持小写字母/数字;
  • API 地址:资源站提供的 vod JSON API 根地址;
  • Detail 地址:(可选)部分无法通过 API 获取剧集详情的站点,需要提供网页详情根 URL,用于爬取。

苹果 CMS V10 API 格式的获取,可以参考 OmniBox:你的下一代家庭影视中心

添加后做有效性测试

如果 有效 即可

回到搜索

点击进入播放界面

直播源

管理面板 –> 直播源配置 –> 添加直播源

  • 名称:视频源的名称,会在界面中展示;
  • Key:唯一标识,保持小写字母/数字;
  • M3U 地址:直播源的地址,老苏用的是本地部署的 easy-itv

源没问题的话,台标只是一闪而过

弹幕

因为在 OmniBox 中没说怎么设置,所以简单提一下

第一步、先安装 danmu-api

1
2
3
4
5
6
7
# 运行容器
docker run -d \
--restart unless-stopped \
--name danmu-api \
-p 9321:9321 \
-e TOKEN=87654321 \
logvar/danmu-api:latest

第二步、进行设置

管理面板 –> 站点配置 –> 弹幕配置

  • 弹幕 API 地址:填入 http://群晖IP:9321
  • 弹幕 API Token:填入环境变量 TOKEN 的值

第三步、应用

在播放界面,启用弹幕即可

其他

本项目的作者有要求

LogVar 弹幕 API 项目也是如此

因此本文只在老苏的博客(https://laosu.tech)发表,不会同步至 CSDN 和微信公众号。

另外,未获得老苏允许,本文不得转载!!!

参考文档

mtvpls/MoonTVPlus: MoonTVPlus 是基于 MoonTV v100 二次开发的增强版影视聚合播放器。它在原版基础上新增了外部播放器支持、视频超分、弹幕系统、评论抓取等实用功能,提供更强大的观影体验。
地址:https://github.com/mtvpls/MoonTVPlus

huangxd-/danmu_api: 一个人人都能部署的基于 js 的弹幕 API 服务器,支持爱优腾芒哔人韩巴弹幕直接获取,兼容弹弹play的搜索、详情查询和弹幕获取接口规范,并提供日志记录,支持vercel/netlify/edgeone/cloudflare/docker/claw等部署方式,不用提前下载弹幕,没有nas或小鸡也能一键部署。
地址:https://github.com/huangxd-/danmu_api