最近公司App用戶反饋,我們使用的mp3文件太耗流量。顯然是我們mp3的體積太大。 怎麼處理?
- 我們準備了一個20分鐘的音頻原文件
- 準備一個音頻處理軟件(Mac版) Adobe Audition CC 2017 密碼:2uqj
下面我們看一個表格,這個表示對比,這是我對統一音頻,進行壓縮對比後的結果。
文件類型 | 格式 | 碼率 | 大小 | 音質變化程度 |
---|---|---|---|---|
原文件 | mp3 | 52.9M | 不明顯 | |
第三方 | mp3 | 192kbps | 31.7M | 不明顯 |
測試1 | mp3 | 192kbps | 31.8M | 不明顯 |
測試2 | acc | 192kbps | 32.1M | 不明顯 |
測試3 | mp3 | 128kbps | 21.2M | 不明顯 |
測試4 | acc | 128kbps | 21.5M | 不明顯 |
測試5 | mp3 | 96kbps | 15.9M | 不明顯 |
測試6 | acc | 96kbps | 16.3M | 不明顯 |
測試7 | mp3 | 64kbps | 10.7M | 高音消失,高音稍微變化 |
測試8 | acc | 64kbps | 11.0M | 稍微有變化,可以忽略 |
測試9 | mp3 | 32kbps | 5.4M | 音調色音調變化明顯 |
測試10 | acc | 32kbps | 5.50M | 音質變化可聽出 |
測試11 | mp3 | 20kbps | 3.4M | 聲音變化明顯,聲音變低沉 |
測試12 | acc | 20kbps | 3.50M | 音質相對變差,稍有影響 |
現在我們講解下表格,有表格可以看出,我們現場錄製的22分鐘原文件的mp3大小是52.9M,這個體積已經很大了。
第三方壓縮提供個我們線上的mp3大小是31.7M。(ps:其實也不小)
- 那我自己用軟件壓縮,不同的碼率,壓縮後,體積依次減小。
- 現在可以看出,我們52.9M的文件可以被壓縮到3.4M
那麼問題來了,我們爲什麼不直接壓縮到3.4M呢,這樣體積小,加載快,省流量,省時間。其實問題很簡單,小體積,音質差啊,不能讓用戶聽硬質太差的音頻啊。那什麼是合理區間呢?
下面我們看看mp3壓縮後,圖譜變化:
- MP3:192kbps:如圖發生範圍超過10KHz,高音區保存完整。
MP3:128kbps:如圖發生範圍超過10KHz,高音區保存完整,看不錯區別。
MP3:64kbps:我們跳過96kbps,直接看64kbps,如圖發生範圍超過10KHz,高音區部分丟失,10KHz的地方有一條齊齊的線,有點像小草苗被割草機去掉了頭,長的高的,腦袋沒有了,如果看不清,請看下面20kbps的。
MP3:20kbps:如圖發生範圍超過10KHz,高音區失去了,在4kHz的以上的頻率全部被捨棄,保留了4KHz以下的音頻信息,這個更像被割過的小草吧,腦袋一個不剩,齊刷刷的。被割去的就是高音部分,所以聽着聲音是低沉的,高音不存在了。
看完了mp3的,我們來看看aac的把,
AAC:192kbps:如圖10KHz左右都保存完好,音質無變化。
AAC:64kbps:如圖我們跳過128kbps,96kbps,直接到64kbps,還記得我們MP3的64kbps嗎?MP3在10KHz以上的部分有失去信息,而AAC保存了下來。
AAC:20kbps:如圖我們跳到了20kbps,高音區忍讓有所保留,所以音質變化不太明顯,相比MP3的變化就很明顯,因爲失去了大量的高音區。
那麼爲什麼回事這樣的,這個與MP3和AAC的壓縮算法有關,壓縮,一定是要失去一部分信息的,也就是我們把192kbps的信息在單位時間內壓縮到20kbps,也就是我們所說的碼率懂192降到了20,所以我們文件的體積從30M減少到了3M多,碼率降低10倍,體積也降低10倍。碼率降低一定是會失去音頻寫的的信息的,但是因爲壓縮算法不同,拋棄的信息就不同。那aac在壓縮10倍後,音質是不是沒有變差,不是的,音質也差了,但是相比MP3不是那麼明顯。如果用耳朵去聽,64kbps的AAC和92kbps的音質區別,很難分辨出來,或者說分辨不出。
那麼如果你是聽音樂,爲了更好的聽覺體驗,建議192kbps-128kbps的文件,當然再大點也沒問題。這樣可以儘量保存完整的低音和高音信息,可以帶來更好的聽覺體驗。不建議使用128kbps以下的MP3或者AAC,或丟失音樂信息。
那麼演講或者課程類的語言文件呢?這個要看人所能聽到的頻率範圍。那一個人能聽到的頻率範圍是多少呢?
28歲時,22——17000Hz
40歲時,25——14000Hz
60歲時,35——11000Hz
可以看出一個人能聽到的頻率是在:20 —20KHZ,所以我們10kHz左右的信息是不可以失去的,如果大量失去,我們就能感知到。
結論:
我們說了這麼多,總要有個結論吧,對於我們APP而言,是在線語音課程,所以我們兩者都要兼顧,要文件儘可能小,並且要保真音質不會發生明顯變化,我們確定選擇64kbps的AAC文件作爲我們播放的格式。這個參數下,我們的音頻課程音質變化不明顯,音質可以兼顧到,提交從50M的原文件被壓縮到了10M,相當於2分鐘的音樂用1M的大小,這樣大大節省了用戶的流量。並最大可能保證音質。(ps:如果你們覺得只要音質不保險,那96kbps,最夠保險了;如果是MP3,那就用96kbps吧,如果質量優先,體積第二,那就128kbps吧)