我正在创建一个MFT来处理超过6个通道的AAC流(因为Windows中的AAC解码器最多只能处理6个通道)。我计划仍然使用Microsoft AAC解码器,但我将首先获取AAC流,并将频道分成6个组,然后将它们传递给AAC解码器的多个实例。
有没有人知道这是否可能?我一直在研究AAC规范,我看到每个通道都有ICS部分(我假设所有通道都是独立的),所以我希望我可以读取字节流,提取ICS,然后生成新的流传送到AAC解码器。
在开始之前,我想知道是否有人以前尝试过,或者说这在理论上是可能的吗?
谢谢,
发布于 2020-07-01 03:43:36
我不认为你可以将AAC码流“分割”成“6个通道的组”。事情本来就不是这样设计的。尽管AAC提供了对up to 48 channels的支持,这是我自己不记得见过的,但比特流在被拆分到解码域之前必须被解码。微软的股票编解码器仅限于支持5.1音频,因此无法处理音轨中的其他通道配置。你可以有多个音轨,每个音轨上有5.1音频,在这种情况下,股票解码器是适用的。
为了支持股票解码器无法处理的AAC编码,您必须提供一个从零开始构建的替代AAC解码器(与现有的股票MFT无关),并打包为新的独立MFT。或者你需要以一种特殊的方式准备一个媒体文件,使每一个单一的音轨都适合股票解码器。
https://stackoverflow.com/questions/62657940
复制相似问题