我读到,在 MPEG-H 第 3 部分(3D 音频部分)中,您可以选择使用某些元数据(例如音量和坐标)对对象进行编码。标准定义您可以在这些信息通过解码器时更改这些信息。这是取自文章的图像。我指的是那个叫做
Meta-data Decoder
的盒子
我正在努力寻找一个能够以编程方式为我提供该选项的库。我研究了 libmpegh 和 ffmpeg (也在这个问题中标记)。是否有任何已知的库可以让我在音频解码时更改元数据?
经过一番努力,我找到了 Fraunhofer-IIS/mpeghdec,它允许我将使用 mhm1 编码的
.mp4
文件解码为 .wav
(在他们的存储库中引用为 MPEG-H 解码器),并且在解码之前影响 .mp4 中的元数据(在其存储库中引用为 MPEG-H UI 管理器)。为了简化我的解决方案,我没有使用他们的 API,而是使用他们的命令行作为工具,这限制了我使用文件作为输入。
实现这一目标的所有必要信息都可以在其存储库的 wiki 中找到。总结如下:
MPEG-H UI manager
可以输出对象场景配置,其中包含界面的所有必要信息,并允许您构建xml“script”来修改传入的.mp4
文件。它还输出一个新的 .mp4
,其中包含脚本所做的所有修改。.mp4
创建的新 MPEG-H UI manager
文件传递给解码器将输出 .wav
文件,稍后可以播放。您可以限制解码文件的哪一部分以允许按需解码。之后,只需回放输出即可.wav
。