C# 中的 AAC 流编码器/解码器

bea*_*der 5 c# audio encoding aac stream

我正在用 C# 编写一个媒体流系统,它需要首先流式传输音频,源是原始 PCM 数据作为字节流,但它需要将其编码为 AAC(不接受其他格式),而不是需要的作为字节流转发,然后再次解码为 RAW PCM 数据。

我只是找不到任何有用的解决方案。

我尝试过 NAudio,但它不支持编码流读取,除非用作MediaFoundationReader(URL_STRING)源,但它只接受文件路径或 URL。在本地创建 TCP HTTP 流服务器不是一个选项,因为从流创建文件也无法读取,并且 PCM->AAC 编码仍然无法以这种方式解决。

我尝试过 SharpDX,但我没有找到任何有用的示例来进行从流到流的转换。

我已经为 NAudio 编写了一个缓冲区作为Stream缓冲 PCM 数据流的接口,因此从技术上讲它可以从字节数组中读取,这可以用作编码器/解码器的输入和/或输出对象。

我也尝试过使用 MFLib 来使用 MediaFoundation 库,但是缺少示例或有用的文档并没有让我的工作变得更轻松,而且实际上对于那些想要在旧版 Windows 操作系统上使用该应用程序的用户来说这并不是最好的选择,因为MF仅适用于Win7+。

是否有任何有用的库可以相对简单地用于这些转换,或者我必须完全弄清楚如何解决这个实际上看起来很简单的问题?

由于 NAudio 和 SharpDX 都是开源的,因此可以接受对类的一些修改。

稍后该系统还需要支持 MP4 视频流,因此能够同时提供 AAC 和 MP4 音频/视频编码/解码的解决方案将是最好的。

我将很感激得到任何提示和/或来源/例子,可以为我的目标提供线索。谢谢。