翻译说明
中文文档是持续维护中的翻译版本,可能会略滞后于英文文档;如有技术差异,以英文版为准。
简介¶
OpenJOC 是一个独立的 Rust 解码器,支持文档范围内的 E-AC-3 JOC 数据。它接受受支持的原始 E-AC-3 或支持随机访问的普通 MP4/M4A 输入,并从带内 EMDF 中执行 E-AC-3 JOC 对象解码,分别把支持范围内的 OAMD 元数据前缀/时间线与 JOC 重建载荷解码为解码器域的空间元数据和 ReconstructionBasis 音频行。JOC/OAMD 对象关联、实验性的扬声器/双耳桥接以及重建 ADM 导出,各自都有明确的配置边界。
普通用户主要会用到以下入口:
openjoc render-joc:扬声器或双耳渲染;openjoc export-adm:导出重建的 ADM BWF 表示;openjoc inspect和openjoc decode:查看元数据和重建诊断信息;- Rust
OpenJocSession会话 API 和带版本的 C ABI:嵌入应用; - 项目提供的 FFmpeg、GStreamer、mpv 和 Windows DirectShow/LAV 集成。
这里有两个需要先分清的概念:
ReconstructionBasis行是解码器内部、只对应当前 JOC 数据的输出信号,不是创作得到的 Atmos 分轨。- 重建 ADM 导出器只会在受支持的配置组合内,把解码后的 JOC 对象 PCM 与解码后的 OAMD 运动信息绑定起来;它不会恢复源 ADM 母版。
OpenJOC 使用 48 kHz 渲染域。常规 JOC 扬声器输出仍是实验性的,并受到文档规定的配置范围、布局、输出容器和验证状态约束。能力矩阵负责维护详细的状态定义。
先跑出第一个结果¶
安装 CLI,运行 openjoc --help,然后按照快速开始操作。如果输入是 MP4 或 M4A,请确保文件支持随机访问,并按照安装中的说明准备 ffprobe 和 ffmpeg。