2016-03-03 132 views
-3

任何人都可以提供我的指針或提示尋找/創建一個數據壓縮算法,具有保證壓縮比?顯然,這不可能是一個無損失算法。保證壓縮比的壓縮算法?

我的問題是類似這裏的一個,但沒有合適的答案:

Shrink string encoding algorithm

我所試圖做的是通過無線網絡流實時音頻(我自己的規格,沒有無線網絡),帶寬限制嚴格。假設我有60個字節的數據包。我需要一個算法來將這些壓縮到每一次,比如35個字節可靠的保證壓縮到固定大小是關鍵。音頻質量不是重中之重。

任何建議或指針?我最終可能會從頭開始創建我自己的算法,所以即使您不知道任何庫或標準算法,我也會對任何形式的精彩想法表示感謝!

+0

可能重複[縮小字符串編碼算法](http://stackoverflow.com/questions/20765078/shrink-string-encoding-algorithm) – Chewpers

+3

爲什麼搜索「恆定比特率音頻」沒有幫助?有沒有理由不能只使用ffmpeg? – rici

+0

分形壓縮也許? :) – marko

回答

2

你提到你的用例很好:現場音頻。

many audio CODECs(CODER-DECODER)這樣工作(恆定比特率)。例如,看看Opus。您可以選擇6 kb/s到510 kb/s的比特率,以及2.5 ms到60 ms的幀大小。

我以前用它來通過RF數據鏈路傳輸音頻。您可能還需要實施去抖動緩衝區(請參閱更多here)。另外請注意,許多聲卡的內部時鐘不準確,並且源和目標速率之間可能存在「漂移」(例如,30mSec緩衝區可能以29.9mSec或30.1mSec播放),您可能需要補償這也是。