跳转至

翻译说明

中文文档是持续维护中的翻译版本,可能会略滞后于英文文档;如有技术差异,以英文版为准。

Windows LAV / PotPlayer

OpenJOC 提供一个可选的 Windows DirectShow 下游 LAV Audio Decoder。它有独立的筛选器标识,可以和原有的 LAV 并存安装;安装包不会自动改动 PotPlayer 的设置。

下面记录的是 v0.12 及以后 Windows 集成中验证过的安装包行为;本站的发布基线是 v0.16.0。

安装并验证

  1. OpenJOC 发行版页面下载 Windows LAV 安装包。
  2. 将完整 ZIP 解压到自己有写权限的目录。
  3. 双击 install.bat,接受 Windows 管理员权限提示。
  4. 双击 verify.bat,确认结果为 PASS
  5. 如果安装时 PotPlayer 正在运行,请关闭后重新打开。

安装包会放入隔离的 OpenJOC 版本目录,只注册 OpenJOC 自有的 DirectShow 筛选器。它不会替换原有的 LAV,不会修改 PATH,也不会改变 PowerShell 执行策略。

在 PotPlayer 中选择筛选器

  1. F5 打开 PotPlayer 设置。
  2. 选择 Filter ControlFilter Priority (Overall)
  3. 选择 Add registered filter
  4. 添加 LAV Audio Decoder (OpenJOC)
  5. 将它设为 Prefer,然后点击 ApplyOK

请保留原有的 LAV 解码器。如果列表中没有 OpenJOC 筛选器,先运行 verify.bat;只有验证报告失败时才需要重新安装。

路由行为

  • 普通 E-AC-3 仍走原有的 LAV/FFmpeg 路径。
  • 压缩 E-AC-3 直通的优先级更高,会绕过 OpenJOC。
  • 只有得到正向确认的 JOC,才会交给 OpenJOC 筛选器。
  • 已确认的 JOC 可以从 raw E-AC-3 和 MP4 E-AC-3 输入解码。

Windows 适配器只提供以下七种固定的 48 kHz IEEE-float PCM 输出策略:

策略 声道数 WAVEFORMATEXTENSIBLE mask
Stereo 2 0x00000003
5.1 6 0x0000060f
7.1 8 0x0000063f
5.1.2 8 0x0000560f
5.1.4 10 0x0002d60f
7.1.2 10 0x0000563f
7.1.4 12 0x0002d63f

每种策略只提出一种明确的语义方案,不提供备用声道掩码。Stereo 是默认值,其他布局必须显式选择。当前自动发现下游布局的状态为 AUTO_NOT_RELIABLE

OpenJOC 设置

打开筛选器属性页并选择 OpenJOC 标签页。OpenJOC output 包含上表同样的七种固定输出策略;把这个控件移到独立标签页,不会改变布局、声道顺序、媒体类型或 Stereo 默认行为。

OpenJOC 输出选择的是 OpenJOC 渲染并发送给下游音频渲染器/设备的 PCM 扬声器布局。请选择下游端点实际支持的布局。选择不受支持的多声道布局可能导致播放失败、卡顿或下游转换。使用立体声耳机或 2.0 音箱时请选择 Stereo

选择 Binaural 后,OpenJOC 页面还提供 HRTF 来源设置。默认值为 Built-in SADIE II D1 (Default)Custom SOFA... 会打开标准 Windows 文件选择框,用于选择一个本地 .sofa 文件;Apply 前会通过与独立 SOFA 流程相同的严格 OpenJOC 加载器验证数据集。无效选择会被拒绝,之前已知有效的 HRTF 保持不变。如果已持久化的自定义文件后来被移动、删除、拒绝访问或变为 无效,重新打开 Binaural 时会报告有界的 HRTF 配置错误,用户可改选内置来源或 另一个有效文件恢复。

Binaural 页面还可选择虚拟扬声器布局:7.1.4 (Default)9.1.6 (Experimental)。两者都使用现有的虚拟扬声器阶段,再进入相同的 SOFA/HRTF 后端;最终输出仍是双声道双耳 PCM。9.1.6 不宣称更好或达到参考 质量,增加的虚拟声道可能带来更高 CPU 成本。

规范的 9.1.6 中间声道顺序为 FL, FR, FC, LFE, Lb, Rb, Ls, Rs, Lw, Rw, Ltf, Rtf, Ltm, Rtm, Ltr, Rtr。LFE 遵循现有的显式 LFE 策略,其余 15 个 虚拟声道通过现有的精确查找或有界插值路径解析,再卷积为两个耳道。这是 虚拟布局,不是发送给下游的 16 声道扬声器输出。

OpenJOC 不会检测物理扬声器配置,也不会自动降混来匹配输出设备。较大的布局可能被拒绝,也可能被接受后由 Windows/下游渲染器转换;这种转换发生在 OpenJOC 之外,不等同于直接选择 Stereo

示例:立体声耳机 / 2.0 音箱 → Stereo;物理 5.1 → 5.1;物理 7.1 → 7.1;支持高度声道的端点 → 对应的高度布局。在立体声端点选择 7.1.4 不会增加 OpenJOC 的空间化效果;如果下游路径接受,之后的立体声降混也发生在 OpenJOC 之外。

Dialnorm 有两个选项:

  • Calibrated (Recommended):遵循 E-AC-3 携带的节目 Dialnorm。
  • Unity / Compatibility:为兼容性禁用 Dialnorm 增益,听起来可能明显更响。

这个设置只选择解码器的节目电平校准策略。它不是归一化、DRC、质量模式或母带增益,也不会增加渲染后增益级。

Status 页面复用 LAV 的标准声道电平表,目前最多显示前八个输出声道。对于 10 或 12 声道策略,显示的前八个表仍与 PCM 输出的同序声道索引对应。

直通与硬件边界

OpenJOC 不会根据音频端点名称猜测布局,不执行低频管理,也不会把多个物理低音炮变成多个逻辑 LFE 声道。单独的 7.1.6、9.1.x、22.2、自定义几何和双耳输出,都不属于 LAV 输出声明。

这个集成验证的只是 PCM 采样数据能够通过文档规定的主机环境和音频端点检查;它不表示任意设备上的物理多声道硬件播放都已经验证。

卸载与回滚

双击 uninstall.bat。安装包只会删除 OpenJOC 自有的注册项和文件,并恢复原有的 LAV 配置。对于 OpenJOC 已经不存在的安装,非交互式卸载流程会把这种情况视为成功,无需再做任何操作。

如需查看更底层的源代码、版本固定信息和工程验证证据,请参阅仓库中的 LAV 集成约定。这些证据文件不会发布在本站。