2010-03-03 45 views
5

我应该选择哪一个音频编解码器,我的C#软件开发项目在哪里进行代码转换/传输原始音频/采用的是基于以下几点:我应该使用哪种音频编解码器?

  1. 对于编码语音只有
  2. 声音可以立体声或单声道
  3. 能够支持流媒体直播
  4. 文件大小和质量
  5. 要编码形式
  6. 可以是p运输通过TCP/IP之间
  7. 较好的折中由现成的免费播放器回放,无需进一步处理

请注意,是否有用于执行转码的现成免费编解码器库不需要考虑。

回答

5

Speex是免费的开放源代码编解码器,专为需要低延迟的实时解决方案中的语音编码而设计。诸如WMA或MP3之类的通用压缩方案可能会导致更多的延迟,并且它们也可能无法以非常低的比特率运行。 http://www.speex.org/

0

您可以使用LAME进行带有'语音'预设的MP3编码。我会推荐测试不同的,但是,because of issues like this

MP3是什么KPFA.org(现在KQED,我认为)都用于直播。很棒。不知道使用什么服务器sw。

0

考虑到您选择的语言,如果可以安全地假设您使用的是Windows,我会推荐使用Windows格式的WMA。这些库都将被内置,并且所有考虑事项都是非常可靠的编解码器。支持您的所有要求和更多。

但是,如果您打算推入Flash端点,请使用.fla,Flash Audio。 Flash肯定会优化消费,而且,使用C#并不是那么容易,但您一定会欣赏另一端的易用性。

0

如果你只是针对Windows,GSM编解码器可能是低带宽应用的不错选择。通常认为它的质量比Speex低,但也使用相当少的带宽。

Windows Media Player可以播放GSM和编码器是媒体基金会的一部分,在Vista及以上(可能一些Win32 API的在XP及以下?)

2

至于你提到C#的目标平台我要补充的东西到accepted answer。纯C#中的.Net平台上有一个Speex编解码器端口,名为NSpeex

7

最近更好的选择是Opus Codec

查看comparison与其他编解码器,看看它的表现如何。

+0

是的,Speex现在已经过时,Opus的到来! – 2014-12-18 09:24:32

相关问题