【问题标题】:Which Audio Codec should I use?我应该使用哪种音频编解码器?
【发布时间】:2010-03-03 01:35:14
【问题描述】:

我应该为我的 C# 软件开发项目选择哪种音频编解码器,其中要转码/传输/使用的原始音频基于以下条件:

  1. 仅用于编码语音
  2. 音频可以是立体声或单声道
  3. 能够支持直播
  4. 文件大小和质量之间的良好权衡
  5. 以编码形式通过 TCP/IP 传输
  6. 无需进一步处理即可由现成的免费播放器播放

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

【问题讨论】:

    标签: c# audio tcp codec speech


    【解决方案1】:

    Opus Codec 是更新和更好的替代方案。

    查看comparison 和其他编解码器,看看它的性能如何。

    【讨论】:

    • 是的,随着 Opus 的到来,Speex 现在已经过时了!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您可以使用带有“语音”预设的 LAME 进行 MP3 编码。我会建议测试不同的,because of issues like this

      MP3 是 KPFA.org(我认为现在是 KQED)都用于直播的。效果很好。不过不知道用的是什么服务器软件。

      【讨论】:

        【解决方案4】:

        鉴于您选择的语言,如果可以安全地假设您使用的是 Windows,我实际上会推荐 WMA,即 Windows 格式。这些库都将内置,并且,考虑到所有因素,它是一个非常可靠的编解码器。支持您的所有要求等等。

        但是,如果您要推送到 Flash 端点,请使用 .fla、Flash 音频。 Flash 肯定会针对使用它进行优化,虽然它在 C# 中使用起来并不那么容易,但您肯定会欣赏另一端的易用性。

        【讨论】:

          【解决方案5】:

          如果您只针对 Windows,则 GSM 编解码器可能是低带宽应用程序的不错选择。它通常被认为比 Speex 质量低,但使用的带宽也少得多。

          Windows Media Player 可以播放 GSM,并且编码器是 Vista 及更高版本中 Media Foundation 的一部分(可能是 XP 及更低版本中的一些 Win32 API?)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-11-28
            • 1970-01-01
            • 2017-06-07
            • 1970-01-01
            • 2017-04-09
            • 1970-01-01
            相关资源
            最近更新 更多