翻译说明
中文文档是持续维护中的翻译版本,可能会略滞后于英文文档;如有技术差异,以英文版为准。
集成¶
适配器负责数据传输、主机生命周期和输出协商;OpenJOC 负责 E-AC-3/JOC 解码、场景构建、空间渲染、输出语义、延迟和排空状态。
仓库把各适配器的约定保留在它们自然所属的位置,而不是复制成另一份需要手动同步的规范。当前实现细节请使用以下链接:
| 适配器 | 仓库中的 canonical 文档 |
|---|---|
| FFmpeg 外部桥接 | FFMPEG.md |
原生 FFmpeg libopenjoc 包装器 |
FFMPEG_NATIVE.md |
| GStreamer | GSTREAMER.md |
| mpv | MPV.md |
| mpv 用户指南 | OpenJOC Player Bundle |
| 播放器软件包 | PLAYER_PACKAGING.md |
| 生态系统软件包 | ECOSYSTEM_PACKAGING.md |
| Windows DirectShow/LAV | Windows LAV / PotPlayer |
安装 OpenJOC 不会修改系统自带的 FFmpeg 或上游 mpv。项目提供的打过补丁的构建是独立产品,各自需要遵守对应源代码和第三方声明义务。
WebAssembly 桥接¶
openjoc-wasm 提供浏览器解码器 ABI。解码与渲染耗时的均值、P95、最大值和实时倍率,统计最近 4096 个已解码访问单元(48 kHz 下约 131 秒);访问单元、输出帧和采样计数则覆盖整个会话。Reset 会清空两类统计。在下一个访问单元被记录之前,多次读取性能指标会复用缓存的汇总结果。
WASM CI 会分别为内嵌和外置 HRTF 配置构建 wasm32-unknown-unknown 模块。Node.js 冒烟测试会实例化实际模块,检查 Stereo、D1/D2 双耳、Custom SOFA、分片输入、reset、尾音排空、PCM 所有权与无效输入拒绝。浏览器音频设备调度仍属于主机侧验证范围。