天天看點

OPUS編解碼器簡介

總覽

Opus是一款完全開放的功能廣泛的音頻編解碼器。Opus在網際網路上的互動式語音和音樂傳輸方面無可匹敵,但也适用于存儲和流媒體應用程式。它由Internet工程任務組(IETF)标準化為RFC 6716 ,該标準融合了Skype的SILK編解碼器和Xiph.Org的CELT編解碼器中的技術。

技術

Opus可以處理各種音頻應用程式,包括IP語音,視訊會議,遊戲内聊天,甚至是遠端直播音樂表演。它可以從低比特率的窄帶語音擴充到高品質的立體聲音樂。支援的特性有:

  • 從6kb/s到510kb/s的比特率;
  • 從8kHz(窄帶)到48kHz(全頻帶)的采樣率;

    *從2.5毫秒到60毫秒的幀長;

  • 支援固定比特率(constant bitrate,CBR)和可變比特率(variable bitrate,VBR);
  • 窄帶到寬帶音頻帶寬;支援語音和音樂;
  • 支援單聲道和立體聲;
  • 最多支援255個通道(多流幀, multistream frames)動态自适應比特率、音頻帶寬和幀長;
  • 良好的穩定性和丢包隐藏;
  • 可進行浮點和定點實作。

代碼下載下傳

(1)Opus庫本身:

git clone https://git.xiph.org/opus.git
           

(2)Opus-tools

Opus-tools包含了一組将Opus與wav進行編解碼的工具。

git clone https://gitlab.xiph.org/xiph/opus-tools/           

(3)Opusfile

Opusfile提供了一個進階API,用于在.opus檔案中進行解碼和查找,類似于libvorbisfile為Vorbis提供的功能。

git clone https://git.xiph.org/opusfile.git           

(4)libopusenc

Libopusenc提供了用于建立.opus檔案和流的進階API。

git clone https://git.xiph.org/libopusenc.git           

性能比較

下圖說明了各種編解碼器的品質與比特率的關系。它總結一系列聽覺測試的結果,然後(當沒有資料時)顯示出轶事證據(由于樣本比較小,沒有完善的科學實驗證明,這種證據有可能是不可靠的)。它總體上具有代表性,但是絕對不建議嘗試以特定比特率提取任何精确值。

OPUS編解碼器簡介
OPUS編解碼器簡介