E 视界 (冬瓜 TV 的增强 / 重构版本) 是一款基于 Node.js 和 Vue 3 构建的现代流媒体聚合播放器。经过全面重构和升级,引入了 Netflix 风格的沉浸式 UI、TMDb 数据驱动的动态榜单、以及智能的多源聚合搜索功能。

核心特性
🎬 双引擎数据驱动
- TMDb (The Movie Database):提供高质量的电影/剧集元数据(海报、背景图、评分、简介、演职员表)。
- CMS 聚合源 (Maccms):集成 48+ 个第三方资源站 API,自动进行全网测速,智能过滤失效源,确保播放流畅。
🔍 智能搜索与聚合
- 实时流式搜索 (SSE):采用 Server-Sent Events 技术,搜索结果边搜边显,即时反馈,无需等待所有源响应。
- 自动分组与实时合并:同一影片的不同线路自动聚合,新搜索到的源实时合并到已有卡片,右上角源数量实时跳动。
- SQLite 永久缓存:内置高性能 SQLite 数据库缓存,支持无限存储,读写速度极快,热搜词秒级响应。
📺 沉浸式播放体验
- 影院模式:全新设计的播放详情页,采用暗色系沉浸布局,支持剧集网格选择。
- 智能线路测速:支持用户端直连测速和服务器代理测速,真实反映视频可用性。
- 自动故障转移:播放失败时自动切换到下一个可用线路,无需手动操作。
- 投屏支持:集成 DLNA/AirPlay 本地投屏功能(需浏览器支持)。
🌏 大陆用户优化
- 智能 IP 双重检测:采用 Cloudflare Trace + ipapi.co 双重检测机制,准确率高且无 API 速率限制,自动切换到 TMDB 反代模式。
- 本地资源优先:核心依赖库(Vue, Bootstrap, DPlayer 等)均本地化部署,彻底解决 CDN 劫持或加载缓慢问题,秒开无压力。
- 一键安装脚本:支持交互式配置 API Key、反代地址、运行端口。
📱 多端支持
- Android TV / 盒子:提供专属 APK 安装包,完美适配电视遥控器操作,支持 Android TV 桌面启动 (Leanback Launcher)。
- 移动端 App:基于现代 Web 技术封装,支持沉浸式状态栏 (Immersive Status Bar),顶部无黑边,内容自动适配刘海屏,体验原生级流畅。
- PWA 支持:支持添加到主屏幕,即点即用。
🔒 安全与访问控制
- 全局访问密码:支持设置全局访问密码,且支持记住登录状态长达 1 年,既安全又便捷。
- 远程配置加载:支持从远程 URL 加载 db.json 配置文件,方便多站点统一管理。
准备
部署前需要准备两样东西:db.json 配置文件和 TMDb API Key。
配置采集源
所有的采集源配置均存储在 db.json 文件中。项目初次运行时会自动生成该文件,如果未生成,可以手动创建。文件内容结构如下:
{
"sites": [
{
"key": "unique_key1",
"name": "站点名称1",
"api": "https://...",
"active": true
},
{
"key": "unique_key2",
"name": "站点名称2",
"api": "https://...",
"active": true
}
]
}
其中 api 字段需要填写可用的 Maccms V10/JSON 接口地址。
获取 TMDb API Key
此密钥用于从 The Movie Database 获取影视元数据。
- 访问 TMDB 官网 并登录账号。
- 点击右上角头像,进入“账户设置”。
- 在设置页面左侧菜单中找到“API”选项。
- 点击“创建”或“申请”一个新的 API。
- 按照指引填写申请表(应用类型选择“个人”,描述可填写用于个人影音软件配置等)。
- 申请成功后,即可在 API 页面看到你的
API 密钥 (v3 auth)。
部署 TMDB 反代(可选)
如果因为网络原因无法直接访问 TMDb,导致海报和影视信息无法加载,则需要配置反向代理。也可以考虑在路由器或本地 Hosts 文件中进行相关设置以解决此问题。
安装
建议使用 Docker 进行部署,管理方便且环境隔离。
- 在 NAS 上创建一个用于存放数据的目录,例如
donggua-tv。
- 在该目录下,创建一个空的
cache.db 文件。
- 将编写好的
db.json 配置文件也放入此目录。
- 创建
docker-compose.yml 文件,内容如下。请将 your_api_key_here 和 your_password 替换为实际值。
services:
donggua-tv:
image: ghcr.io/ednovas/dongguatv:latest
container_name: donggua-tv
ports:
- 3000:3000
environment:
- TMDB_API_KEY=your_api_key_here
- ACCESS_PASSWORD=your_password
- CACHE_TYPE=sqlite
volumes:
- ./db.json:/app/db.json
- ./cache.db:/app/cache.db
- ./cache/images:/app/public/cache/images
restart: unless-stopped
关键参数说明:
TMDB_API_KEY: 必须。填入你申请的 TMDb API 密钥。
TMDB_PROXY_URL: 可选。如需使用反代,在此填入反代地址。
ACCESS_PASSWORD: 可选。设置 Web 访问密码。
PORT: 可选。自定义容器内部端口,默认为 3000。
CACHE_TYPE: 可选。缓存类型,推荐 sqlite。
/app/db.json: 映射采集源配置文件。
/app/cache.db: 映射 SQLite 缓存数据库文件。
/app/public/cache/images: 映射图片缓存目录。
- 在
docker-compose.yml 文件所在目录下,执行启动命令:docker-compose up -d。项目启动后,cache.db 文件大小会变化,并自动生成 cache/images 目录。
使用
- 在浏览器中输入
http://你的NAS_IP:3000 访问 E 视界。
- 首次访问可能需要输入之前设置的
ACCESS_PASSWORD。
- 登录后即可看到 Netflix 风格的首页,展示来自 TMDb 的热门和推荐内容。
- 在顶部搜索框输入想看的影片名称,系统会实时聚合所有已配置采集源的资源。
- 点击任意影片进入详情页,可选择播放源和集数进行播放。播放失败时会自动尝试下一个源。
E 视界提供了良好的多端适配体验,包括电视端(APK)、移动端网页及 PWA。项目也提供了打包好的 Android APK,可在 GitHub Releases 页面下载。
总结
E 视界通过结合 TMDb 的优质元数据和广泛的视频采集源,提供了接近主流流媒体平台的浏览体验与丰富的观影内容。其 Docker 化部署方式大大简化了在 NAS 上的安装流程。对于有轻度影音需求、希望快速搭建私人流媒体库的用户而言,这是一个值得尝试的解决方案。
|