OmniBox 2.0全平台影音整合指南:从NAS部署到多端播放详解
近期,有朋友提到影音利器OmniBox已经升级至2.0版本。然而,经过一番了解后发现,虽然版本号更新了,但部分用户对于升级后的具体使用方法感到有些困惑。
为此,我决定亲自上手体验一番,探究2.0版本究竟带来了哪些更新、如何操作更为顺畅,同时也为尚未摸清门道的朋友提供一份参考。当前硬盘价格持续走高,早已让普通NAS用户感到成本压力。在此背景下,像OmniBox这样能够有效提升资源利用率、且实际体验颇为出色的项目,确实显得难能可贵,值得向开发者致意。
需要注意的是,2.0版本目前仍处于持续完善阶段。若升级后感觉不太适应或遇到问题,可以回退至旧版本(建议提前备份旧版数据,或单独创建一个新应用进行体验),旧版镜像并未被移除。

项目概述
OmniBox是一个一站式的影视订阅与多终端播放平台。用户可以依据OmniBox的规范,使用JavaScript或Python自行构建内容获取源,并在后台将多个源自由组合成订阅(涵盖音乐、有声读物、影视、直播、电台等)。随后,便可在网页、手机、电视等全平台客户端中使用这些订阅内容。任何支持TVBox、猫源、UZ、Emby等协议的客户端均可实现无缝对接。该平台同时支持电视直播源、主流平台直播间以及网盘视频的在线观看,并支持通过Docker进行一键式部署。
部署步骤
以下以威联通NAS为例,演示通过Docker Compose进行部署的过程。
OmniBox支持SQLite、MySQL、PostgreSQL三种数据库,默认使用SQLite。此外,还提供了轻量版镜像lampon/omnibox:lite,该版本仅支持JavaScript类型的内容获取脚本。
默认的部署代码如下(使用SQLite数据库),如需使用MySQL版本,请参阅后续部分:
services:
omnibox:
image: lampon/omnibox:latest # 完整版,支持Python爬虫和视频嗅探
container_name: omnibox
restart: always
ports:
- "7023:7023" # 左侧端口号可根据需要自行修改
environment:
TZ: Asia/Shanghai
DATABASE_TYPE: sqlite # 使用默认SQLite时,这两项环境变量可删除
DATABASE_URL: ./data.sqlite # 同上
volumes:
- /share/Container/omnibox:/app/data
若希望使用MySQL数据库,可以参考以下部署代码:
# 此示例假设您尚未安装MySQL,已安装的用户可根据实际情况调整
# 服务间通过Docker网络内部互通,无需对外映射MySQL端口
services:
mysql:
image: mysql:8.0
container_name: omnibox-mysql
restart: always
environment:
TZ: Asia/Shanghai
MYSQL_ROOT_PASSWORD: qnap1234 # 数据库root账户密码,请自定义
MYSQL_DATABASE: omnibox # 为OmniBox创建的专属数据库名
command: --default-authentication-plugin=mysql_native_password
volumes:
- /share/Container/omnibox/mysql:/var/lib/mysql
omnibox:
image: lampon/omnibox:latest
container_name: omnibox
restart: always
depends_on:
- mysql
ports:
- "7023:7023"
environment:
TZ: Asia/Shanghai
DATABASE_TYPE: mysql
DATABASE_HOST: mysql
DATABASE_PORT: "3306"
DATABASE_USERNAME: root
DATABASE_PASSWORD: qnap1234 # 需与上方MySQL服务设置的root密码一致
DATABASE_DATABASE: omnibox # 需与上方创建的数据库名一致
volumes:
- /share/Container/omnibox/app:/app/data
打开威联通的Container Station,创建新的应用程序并粘贴相应的配置代码。

使用详解
部署完成后,在浏览器中输入NAS_IP:7023即可访问OmniBox服务。首次访问需要进行初始化,并设置管理员密码。

登录成功后,由于尚未配置任何内容,所有页面暂时都是空白的。点击右上角的「我的」,然后进入「管理」界面。

步骤一:网盘授权
对于使用过Alist、盘搜等工具的用户来说,此步骤应该非常熟悉。

流程依然是获取对应网盘的访问令牌(Token)并进行绑定。这里不展开详细说明,建议大家尽可能多地绑定常用网盘,否则部分依赖于网盘源的影视内容将无法观看。

步骤二:配置视频解析站点
在2.0版本中,“解析资源”功能主要用于添加第三方视频解析站点。其作用是在播放阶段,当系统需要时调用这些站点提供的解析服务,因此它更偏向于播放辅助功能,而非直接的内容检索功能。在配置时,于“接口地址”栏填写解析站提供的API地址即可。

步骤三:管理与配置内容获取源
关于此部分,我将使用现成的脚本进行演示,说明如何配置和使用。如果用户希望直接使用现有脚本,或进一步学习如何开发自己的脚本,可以访问项目官网,通过对应位置的链接跳转获取(地址见下图)。

页面中一个个独立的文件便是可用的脚本。选择一个脚本,复制其完整代码。此处我选择了一个网盘类的脚本作为示例(其GitHub地址见下图)。

在OmniBox管理界面点击「添加源」。脚本类型通常选择Node.js/JavaScript(官方提供的脚本基本属于此类,未全部核实)。包括“是否设为首页导航”在内的其余配置选项,均可根据个人喜好自定义。

添加后,在源列表中找到该源,点击其右侧的编辑图标(通常是一个铅笔或代码符号)。

将之前复制的那一大段脚本代码,粘贴到编辑器的代码区域中。点击「保存」。如果右侧状态栏报错(常见原因是依赖缺失,系统通常会尝试自动安装),可以依次点击「检查更新」、「从远端同步」。最后,在代码区域的任意非关键位置(如注释后)添加一个空格,再次点击「保存」,问题通常能得到解决。

点击编辑器上方的「预览」按钮,可以查看该脚本定义的内容界面。

返回OmniBox首页,即可进行内容搜索了。如果在添加源时勾选了“设为首页导航”,那么主页的布局将与预览界面保持一致。

视频播放功能正常。

也可以将视频流转到Infuse等第三方播放器中进行播放。

鉴于单个源的内容丰富度有限,建议大家根据自己的喜好和需求,多添加几个不同的内容获取源。
步骤四:创建与管理订阅
点击「新建订阅」,输入订阅名称和描述,从已添加的源中选择一个或多个,然后创建订阅。

创建成功后,可以在订阅管理页面查看该订阅的详细信息。

点击订阅右侧的“复制”按钮,可以获取该订阅的配置链接。以第一个订阅为例。

将复制的配置链接粘贴到支持TVBox等协议的客户端应用中,返回客户端界面后通常会自动刷新出订阅内容。

(注:在测试过程中,尝试连接Emby未能成功,故此处略过。)
步骤五:配置直播资源
电视直播源的配置(如M3U列表)在此不再赘述,其添加方式与自定义源类似。平台直播的配置也较为简单:添加房间,选择对应的直播平台(如斗鱼、虎牙等),输入主播的房间号(通常可在主播个人主页或直播间URL中找到)。

测试时发现斗鱼平台可能存在兼容性问题,其他几个主流平台则播放正常。

总结
以上便是OmniBox 2.0版本大致的配置与使用体验。
目前该版本仍在持续开发中,期待作者的后续更新。系统设置部分的其他功能,大家可以自行探索。

感谢阅读,希望本文能对你有所帮助。