2010-03-03 73 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