gpt4 book ai didi

audio - 一种将数据 "mid stream"添加到编码音频的方法(可能使用 AAC)

转载 作者:行者123 更新时间:2023-12-03 02:07:57 24 4
gpt4 key购买 nike

有没有办法将无损数据添加到 AAC 音频流中?

本质上,我希望能够每 n 帧注入(inject)“此音频帧应在 XXX 时间播放”。

如果我使用无损编解码器,我想我可以只在流中注入(inject)自己的 header ,并且该数据将是完整的,因为它在输出时需要相同,就像 gzip 不会丢失数据一样。

有任何想法吗?我想我可以在服务器上将数据编码为 AAC block ,并在网络层添加一个时间戳,说明在时间 x 播放以下 AAC block ,但我更愿意想办法将其添加到音频本身。

最佳答案

这实际上是不可能的(除非编写自己的专用编码器),因为 AAC(和 MP3)帧并不是真正独立的。

有一个比特储存器的概念,其中一帧中未使用的带宽可用于稍后可能需要更多带宽来存储更复杂声音的帧。也就是说,第 2 帧和/或第 3 帧可能需要来自第 1 帧的数据。如果您在第 1 帧和第 2 帧之间剪切流并插入替代帧,则对位存储数据的引用会被破坏,并且您会损坏第 2 帧的能力被解码。

有些编码器可以在不使用比特储存器的模式下工作(以质量为代价)。如果在此模式下操作,您应该能够沿帧边界更自由地剪切流。

不幸的是,处理这个问题的最佳方法是在处理原始 PCM 样本时在时域中进行。无论如何,这使您可以更好地控制时间安排,并确保您的流也可以与其他编解码器一起使用。

关于audio - 一种将数据 "mid stream"添加到编码音频的方法(可能使用 AAC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26567136/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com