影视聚合播放器MoonTV
简介
什么是 MoonTV ?
MoonTV
是一个开箱即用的跨平台影视聚合播放器,基于Next.js
、Tailwind CSS
和TypeScript
构建。它支持多资源搜索、在线播放、收藏同步及播放记录等功能,让用户可以随时畅享海量的免费影视内容。
主要特点
- 🔍多源聚合搜索:内置数十个免费资源站点,一次搜索返回全源结果。
- 📄丰富详情页:支持剧集列表、演员、年份和简介等信息展示。
- ▶️流畅在线播放:集成
HLS.js
和VidStack
,实现高质量的视频播放。 - ❤️收藏与继续观看:使用
LocalStorag
e 存储用户的播放记录和收藏。 - 📱PWA 支持:提供离线缓存,支持安装到桌面/主屏,移动端体验更佳。
- 🌗响应式布局:适应各种屏幕尺寸,提供桌面和移动端的良好用户体验。
- 🚀极简部署:可通过简单的
Docker
命令快速运行,支持Vercel
等平台的免费部署。 - 👿智能去广告:实验性功能,自动跳过视频中的切片广告。
应用场景
- 个人影视播放器:适合用户在个人设备上观看和管理影视内容。
- 开发者工具:为开发者提供一个快速搭建影视聚合应用的基础。
- 教育用途:可用于学习如何构建现代 Web 应用,了解前端框架和视频播放技术。
- 小型团队项目:适合小团队快速开发和部署影视相关的项目。
MoonTV
从功能上说,和老苏之前介绍的 视频搜索与观看平台LibreTV 差不多
如果不想自己搭建,可以去看看官方的演示站点: https://moontv-demo.shinya.click
安装
在群晖上以 Docker 方式安装。
本文写作时,
latest
版本对应为ab73df1d6c281a761be54a9c1d5ab63bfb5717da
;
docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷
默认
1 | # 运行容器 |
自定义
1 | # 新建文件夹 moontv |
config.json
中可以自定义源
1 | { |
cache_time
:接口缓存时间(秒)。api_site
:你可以增删或替换任何资源站,字段说明:key
:唯一标识,保持小写字母/数字。api
:资源站提供的vod JSON API
根地址。name
:在人机界面中展示的名称。detail
:(可选)部分无法通过 API 获取剧集详情的站点,需要提供网页详情根URL
,用于爬取。
docker-compose 安装
多账户 Redis 版本
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 moontv |
环境变量的详细说明如下:
变量 | 说明 | 可选值 | 默认值 |
---|---|---|---|
PASSWORD |
实例访问密码,留空则不启用密码保护 | 任意字符串 | (空) |
SITE_NAME |
站点名称 | 任意字符串 | MoonTV |
ANNOUNCEMENT |
站点公告 | 任意字符串 | 本网站仅提供影视信息搜索服务,所有内容均来自第三方网站。本站不存储任何视频资源,不对任何内容的准确性、合法性、完整性负责。 |
NEXT_PUBLIC_STORAGE_TYPE |
播放记录/收藏的存储方式 | localstorage (本地浏览器存储)、redis (仅 docker 支持) |
localstorage |
REDIS_URL |
redis 连接 url ,若 NEXT_PUBLIC_STORAGE_TYPE 为 redis 则必填 |
连接 url |
空 |
NEXT_PUBLIC_ENABLE_REGISTER |
是否开放注册,建议首次运行时设置 true ,注册初始账号后可关闭 |
true / false |
false |
NEXT_PUBLIC_SEARCH_MAX_PAGE |
搜索接口可拉取的最大页数 | 1-50 |
5 |
NEXT_PUBLIC_AGGREGATE_SEARCH_RESULT |
搜索结果默认是否按标题和年份聚合 | true / false |
true |
运行
在浏览器中输入 http://群晖IP:3066
,如果设置了 NEXT_PUBLIC_ENABLE_REGISTER=true
,第一次需要注册用户
注册或者登录成功后,就能看到主界面
虽然打开一个,你会发现内置了很多源
随便选一个可以直接播放了
后记
如果你想在 Android TV
或者 Apple TV
上使用,可以去看看 OrionTV
项目,据说现在已经可以直接使用 MoonTV
作为后端,进行搜索和资源获取啦
下载地址: https://github.com/zimplexing/OrionTV/releases
参考文档
senshinya/MoonTV
地址:https://github.com/senshinya/MoonTVMoonTV
地址:https://moontv-demo.shinya.click/zimplexing/OrionTV: 一个基于 React Native TVOS 和 Expo 构建的跨平台电视应用,旨在提供流畅的视频观看体验。
地址:https://github.com/zimplexing/OrionTV