跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScriptNode.js大前端

MoonTV:基于 Next.js 的开源跨平台影视聚合播放器

MoonTV 是一款基于 Next.js 与 TypeScript 构建的开源跨平台影视聚合播放器,支持多源搜索、在线播放及数据同步。项目采用 Docker 或手动方式部署,提供丰富的环境变量配置与资源站管理功能。适用于个人影视库、家庭媒体中心及开发者学习场景,具备 HLS 流媒体支持与 PWA 特性,旨在解决影视内容分散问题并提供流畅的观影体验。

无尘发布于 2026/3/24更新于 2026/9/452 浏览

MoonTV:开源跨平台影视聚合播放器

MoonTV(项目仓库名 LunaTV)是一个开箱即用的跨平台开源影视聚合播放器。它基于现代 Web 技术栈构建,支持多资源搜索、在线播放、收藏同步及云端存储,让用户能随时随地畅享海量影视内容。

GitHub 地址:https://github.com/MoonTechLab/LunaTV

核心特性

技术亮点

  • Next.js 14:采用最新 React 框架,保证性能与体验
  • Tailwind CSS:实用优先的样式方案
  • TypeScript:类型安全开发,降低维护成本
  • HLS 播放:原生流媒体支持,适配多种格式
  • PWA 支持:渐进式 Web 应用,可安装至桌面或手机

功能体系

内容搜索 支持多源聚合搜索,具备智能匹配与实时结果展示能力。系统内置缓存机制与去重处理,确保搜索结果的质量与速度。结果页提供完整信息、分类展示及缩略图预览,操作快捷。

视频播放 播放器支持多格式与 HLS 流媒体,可切换清晰度、加载字幕及音轨。针对播放体验做了缓冲优化与画质自适应,支持全屏模式与键盘快捷键。皮肤自定义与错误处理机制完善,兼容主流浏览器。

数据管理 提供完整的收藏管理与观看记录功能,支持进度保存与隐私控制。用户数据可在多端同步,包含备份恢复与离线支持。系统允许自定义分类、智能排序及元数据导入导出。

系统管理 配置涵盖主题设置、播放参数及网络配置。内置系统监控、日志管理及故障诊断工具。安全方面包含访问控制、数据加密及安全审计,确保合规性。

部署指南

环境准备

  • 硬件:建议 8GB RAM,20GB+ 存储空间,多核 CPU
  • 软件:Docker, Node.js, Redis/Kvrocks, 现代浏览器
  • 服务:可选域名与 SSL 证书,持久化存储

Docker 部署

推荐使用 Docker Compose 快速启动。克隆仓库后配置环境变量即可。

git clone https://github.com/MoonTechLab/LunaTV.git
cd LunaTV
cp .env.example .env
nano .env
# 修改 USERNAME 和 PASSWORD 等配置
docker-compose up -d

访问 http://localhost:3000 即可使用。

存储后端选择

项目支持 Kvrocks 或 Redis 作为存储后端。

Kvrocks 示例

version: '3.8'
services:
  
     
    
       
       
    
       
  
     
moontv-core:
image:
ghcr.io/moontechlab/lunatv:latest
environment:
-
NEXT_PUBLIC_STORAGE_TYPE=kvrocks
-
KVROCKS_URL=redis://moontv-kvrocks:6666
depends_on:
-
moontv-kvrocks
moontv-kvrocks:
image:
apache/kvrocks

Redis 示例

services:
  moontv-core:
    environment:
      - NEXT_PUBLIC_STORAGE_TYPE=redis
      - REDIS_URL=redis://moontv-redis:6379
    depends_on:
      - moontv-redis
  moontv-redis:
    image: redis:alpine

手动安装

若不使用容器,可直接在 Node.js 环境下运行。

git clone https://github.com/MoonTechLab/LunaTV.git
cd LunaTV
npm install
npm run build
npm start

配置说明

环境变量

基础配置需设置用户名密码及站点名称。存储类型根据选择的后端调整 URL。

USERNAME=admin
PASSWORD=your_strong_password
NEXT_PUBLIC_SITE_NAME=My MoonTV
NEXT_PUBLIC_STORAGE_TYPE=kvrocks
KVROCKS_URL=redis://localhost:6666

资源站配置

通过 JSON 格式定义 API 站点与自定义分类,支持缓存策略与负载均衡。

{
  "api_site": {
    "site1": {
      "api": "https://api.example1.com/vod",
      "name": "示例资源站"
    }
  },
  "custom_category": [
    { "name": "热门电影", "type": "movie" }
  ]
}

主题与播放器

支持深色模式、颜色定制及布局调整。播放器默认画质、字幕语言及音量均可预设。

使用场景

  • 个人影视库:集中管理收藏与观看记录,多设备无缝同步。
  • 家庭媒体中心:搭建共享娱乐空间,支持多账户与家长控制。
  • 开发者学习:作为 Next.js + TypeScript 实战案例,学习前后端交互与部署运维。
  • 团队协作:小团队内部资源共享,配合权限管理实现统一管控。
  • 教育机构:建设教学媒体库,按课程组织内容并控制学生访问。

总结

MoonTV 通过多源搜索、流畅播放与数据同步,为影视内容管理提供了完整的解决方案。无论是个人用户还是团队部署,都能获得稳定且易用的体验。项目采用 MIT 许可证,鼓励社区参与贡献与扩展。

注意事项:

  • 需自行配置内容源以获取影视资源
  • 生产环境务必修改默认密码并启用 HTTPS
  • 定期备份数据以防丢失

目录

  1. MoonTV:开源跨平台影视聚合播放器
  2. 核心特性
  3. 技术亮点
  4. 功能体系
  5. 部署指南
  6. 环境准备
  7. Docker 部署
  8. 修改 USERNAME 和 PASSWORD 等配置
  9. 存储后端选择
  10. 手动安装
  11. 配置说明
  12. 环境变量
  13. 资源站配置
  14. 主题与播放器
  15. 使用场景
  16. 总结

更多推荐文章

查看全部
  • Git 分支管理完全指南:从创建、合并到冲突解决
  • 循环神经网络(RNN)与序列数据处理实战
  • NVIDIA DGX Spark 部署 Stable Diffusion 3.5 与 ComfyUI
  • NASA 火星任务软件测试:AIGC 模拟极端环境攻击
  • 2026 年 3 月全球 AI 前沿动态与行业深度洞察
  • 普元软件产品安装包及文档下载指引
  • Google 发布多模态嵌入模型 Gemini Embedding 2,MuleRun 推出自进化个人 AI
  • 前端开发必备:配色、素材与图标资源站精选
  • 多 FPGA 模型推理架构与切分策略
  • Flutter for OpenHarmony 实战:使用 Injectable 构建依赖注入架构
  • React 中使用 JSX 遍历数据列表
  • HarmonyOS 开发:字符串处理实战指南
  • Stable Diffusion 陶瓷风艺术写真实战:InstantID 插件整合指南
  • GitHub Copilot Agent 模式实战经验与配置建议
  • 如何使用 PaperXM 免费生成高质量论文实操指南
  • AIGC 插画创作技术解析与代码实战
  • 从零开始理解 C++ 堆数据结构
  • AI 产品经理核心能力模型与系统学习路径
  • 最大公约数 (GCD) 与最小公倍数 (LCM) 计算方法详解
  • GitFlow 分支管理模型详解与实战

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online