我应该选择哪一个音频编解码器,我的C#软件开发项目在哪里进行代码转换/传输原始音频/采用的是基于以下几点:我应该使用哪种音频编解码器?
- 对于编码语音只有
- 声音可以立体声或单声道
- 能够支持流媒体直播 文件大小和质量
- 要编码形式
- 可以是p运输通过TCP/IP之间
- 较好的折中由现成的免费播放器回放,无需进一步处理
请注意,是否有用于执行转码的现成免费编解码器库不需要考虑。
我应该选择哪一个音频编解码器,我的C#软件开发项目在哪里进行代码转换/传输原始音频/采用的是基于以下几点:我应该使用哪种音频编解码器?
请注意,是否有用于执行转码的现成免费编解码器库不需要考虑。
Speex是免费的开放源代码编解码器,专为需要低延迟的实时解决方案中的语音编码而设计。诸如WMA或MP3之类的通用压缩方案可能会导致更多的延迟,并且它们也可能无法以非常低的比特率运行。 http://www.speex.org/
您可以使用LAME进行带有'语音'预设的MP3编码。我会推荐测试不同的,但是,because of issues like this。
MP3是什么KPFA.org(现在KQED,我认为)都用于直播。很棒。不知道使用什么服务器sw。
考虑到您选择的语言,如果可以安全地假设您使用的是Windows,我会推荐使用Windows格式的WMA。这些库都将被内置,并且所有考虑事项都是非常可靠的编解码器。支持您的所有要求和更多。
但是,如果您打算推入Flash端点,请使用.fla,Flash Audio。 Flash肯定会优化消费,而且,使用C#并不是那么容易,但您一定会欣赏另一端的易用性。
如果你只是针对Windows,GSM编解码器可能是低带宽应用的不错选择。通常认为它的质量比Speex低,但也使用相当少的带宽。
Windows Media Player可以播放GSM和编码器是媒体基金会的一部分,在Vista及以上(可能一些Win32 API的在XP及以下?)
至于你提到C#的目标平台我要补充的东西到accepted answer。纯C#中的.Net平台上有一个Speex编解码器端口,名为NSpeex。
最近更好的选择是Opus Codec。
查看comparison与其他编解码器,看看它的表现如何。
是的,Speex现在已经过时,Opus的到来! – 2014-12-18 09:24:32