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

时间:2015-11-10 05:56:39

标签: c# audio encoding stream aac

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

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

我尝试过NAudio,但它不支持编码流读取,除非使用MediaFoundationReader(URL_STRING)作为源,但它只接受文件路径ot URL。在本地创建TCP HTTP流服务器不是一种选择,因为从流中创建既不能读取的文件,也不能以这种方式解决PCM-> AAC编码。

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

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

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

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

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

后来这个系统还需要支持MP4中的视频流,因此可以同时提供AAC和MP4音频/视频编码/解码的解决方案是最好的。

我很感激能得到任何暗示和/或来源/示例,可以提供更接近我的目标的线索。谢谢。

0 个答案:

没有答案