360RA Explorer 是一个在本机运行的 Sony 360 Reality Audio / MPEG-H 3D Audio 文件解析、对象场景可视化与多声道监听工具。
把 .m4a、.mp4、.mha 或 .mhm 文件拖入网页后,程序会在本机解析 MPEG-H 容器和 OAM(Object Audio Metadata),显示每个 Object 的空间位置、运动轨迹、增益与相对 RMS,并生成适合不同扬声器布局的试听或下载文件。
这是独立项目,与其他 Atmos 分析项目无关。360 Reality Audio、Sony、MPEG-H 和 Dolby 等名称及商标归各自权利人所有。
- 识别 MP4/M4A 容器中的
mhm1、mha1与mhaC; - 使用本地
libmpegh解码器导出 OAM 对象和时间轴; - 在听者中心球面中显示对象方位角、仰角、距离和完整运动轨迹;
- 显示对象增益、扩散范围、优先级、运动状态和相对 RMS;
- 支持 Back、Front、Top、Left、Right 与自由 3D 视角;
- 支持 Stereo 2.0、Surround 5.1、Immersive 7.1.4 监听渲染;
- CICP 13 源文件可生成 22.2 声道 WAV 下载;
- 普通监听按浏览器能力选择 E-AC-3 或 AAC M4A,两种缓存互不覆盖;
- Object Solo 使用 AAC M4A 按需渲染并长期缓存;
- Chrome 等 Chromium 浏览器支持多个 S 轨道叠加;Safari 为保证可靠输出,一次只允许一个 S;
- 用 SHA-256 比对文件,相同内容会复用解析与监听缓存;
- 内置跨平台 FFmpeg,不依赖系统 FFmpeg。
程序只监听 127.0.0.1。浏览器读取的文件会交给本机 Node.js 服务处理,不会上传到互联网。
缓存保存在:
data/360ra/cache/<文件 SHA-256>/
缓存默认不自动清理,删除 data/360ra/cache 内的 Job 目录即可释放空间。data/、媒体文件、日志和本机构建的解码器均已被 Git 忽略。
- 下载仓库 ZIP,或使用
git clone --recurse-submodules; - 在 Finder 中双击
360RA Explorer.command; - 启动器准备环境、启动服务并自动打开浏览器;
- 保持终端窗口打开,关闭窗口或输入
0会退出程序。
首次运行时启动器可以自动下载项目专用 Node.js、安装 npm 依赖并构建解码器。未配置过开发工具的 Mac 仍需 Apple Command Line Tools;启动器会提示安装。
- 推荐安装 Git for Windows、CMake 和 Visual Studio 2022 Build Tools;
- Build Tools 安装时勾选“使用 C++ 的桌面开发”;
- 下载仓库 ZIP,或使用
git clone --recurse-submodules; - 双击
360RA Explorer.cmd。
Windows 启动器会自动下载项目专用 Node.js 20、安装 npm 依赖、构建 MPEG-H 解码器、启动服务并打开默认浏览器。关闭控制台窗口后,程序会退出。
源码仓库不能携带所有平台的原生解码器,因此全新 Windows 系统第一次运行仍需要 Git、CMake 和 Visual Studio C++ Build Tools。缺少这些组件时启动器会给出明确提示;之后启动不需要重复安装或编译。
从 GitHub 下载 ZIP 时,Git 子模块内容不会包含在 ZIP 中。此时首次运行必须安装 Git,启动器会单独下载并固定
libmpegh。使用git clone --recurse-submodules可以提前完成这一步。
macOS 和 Windows 启动器提供相同的数字菜单:
[1] 查看状态
[2] 启动程序
[3] 停止程序
[4] 重启程序
[5] 打开浏览器
[6] 查看日志
[7] 清理屏幕
[8] 显示菜单
[0] 退出控制台
程序地址固定为 http://127.0.0.1:5173。
- 推荐 Chrome、Edge 等 Chromium 浏览器,普通监听和多个 Object Solo 叠加兼容性最好;
- Safari 支持普通 E-AC-3 监听和 AAC Solo,但对多个 5.1 HTML 音频流并发混音不可靠,因此界面限制为单个 Solo;
- 浏览器能否实际输出 5.1 还取决于操作系统、音频设备和 HDMI/声卡配置;普通双声道设备可能由系统降混;
- 7.1.4 与 22.2 使用多声道 PCM WAV,主要面向支持对应布局的工作站和播放器。
| 布局 | 普通监听 | Object Solo | 网页行为 |
|---|---|---|---|
| 2.0 | E-AC-3 或 AAC M4A | AAC-LC M4A | 可试听、可下载 |
| 5.1 | E-AC-3 或 AAC M4A | AAC-LC 5.1 M4A | 可试听、可下载 |
| 7.1.4 | 24-bit PCM WAV | 24-bit PCM WAV | 取决于浏览器与设备,可下载 |
| 22.2 | 24-bit PCM WAV | 不支持 | 仅 CICP 13,按需生成下载 |
如果已经存在 E-AC-3 普通监听缓存,而当前浏览器需要 AAC,程序会直接用内置 FFmpeg 从 E-AC-3 转为 AAC,不会重新执行 MPEG-H 空间渲染,也不会删除原文件。
需要 Node.js 20 或更高版本:
git clone --recurse-submodules https://github.com/lukeli17/360ra-explorer.git
cd 360ra-explorer
npm install
npm run build:decoder
npm start更新项目:
git pull
git submodule update --init
npm install
npm run build:decodersrc/server/ 本地 HTTP 服务、缓存和媒体处理
src/web/ 网页界面、Three.js 场景和静态资源
scripts/ 跨平台启动、构建和发布检查脚本
patches/ libmpegh OAM/Object Solo 补丁
tools/libmpegh/ 固定版本的上游 Git 子模块
360RA Explorer.command macOS 双击启动器
360RA Explorer.cmd Windows 双击启动器
DEVELOPMENT.md 协议、坐标系和实现说明
npm run check
npm run preflightGitHub Actions 会在 macOS 和 Windows 上执行依赖安装、语法检查和解码器构建。更详细的 OAM 数据结构、坐标系、适配器协议与 Object Solo 实现见 DEVELOPMENT.md。
- 本项目代码采用 MIT License;
tools/libmpegh是 Ittiamlibmpegh的固定版本 Git 子模块,适用其自身许可证;ffmpeg-static携带的 FFmpeg 适用其构建所对应的许可证;- Three.js 适用 MIT License;
- Lee Perry-Smith 头部模型适用 CC BY 3.0,说明见
src/web/assets/lee-perry-smith-license.txt。
本项目的 MIT 许可不授予 MPEG-H、360 Reality Audio、Dolby 或其他专利及商标权利。商业分发前请自行评估相关专利池、编解码器许可、FFmpeg 义务和商标使用要求。
本工具用于本地技术分析、可视化和个人监听测试,不提供 DRM 绕过、受保护内容获取或版权授权。请只处理你有权使用的媒体文件。解析和渲染结果不应被视为专业母带、认证监听或标准一致性证明。