使用ffmpeg處理mp3文件

ffmpeg處理mp3文件

MP3比特率編碼模式

mp3的比特率一般有三種,分別是VBR,ABR和CBR。

CBR 固定比特率

CBR是constant bitrate的縮寫,中文意思是固定比特率。
對於比特率為128 kbps的CBR MP3歌曲來說,歌曲的前128kb描述的是第一秒的聲音,第二個128 Kb描述的是第二秒的聲音……如果這首歌唱完要640秒鐘,那麼這首歌的大小就是128kb × 640 = 80Mb = 10MB。所謂128kbps就是128kb每秒的意思。
細心的你會發現,這種編碼方式壓縮出來的體積會很大,因為碼率都是固定的。當然,音質相對於其他兩種,會有些優勢,雖然這個優勢可能微乎其微。

VBR 動態比特率

VBR(Variable Bitrate)動態比特率。也就是沒有固定的比特率,壓縮軟件在壓縮時根據音頻數據即時確定使用什麼比特率。 簡單理解就是,歌曲在細節表現比較豐富的時間點,比特率此時會比較高,其他情況下會比較低,這樣就兼顧了音質和體積大小。舉個例子:在歌曲的開始,一個人獨唱,聲音比較簡單,我們就用64kb來描述一秒种內的聲音;在歌曲的高潮,大家合唱,聲音比較複雜,我們就用256kb來描述一秒種內的聲音。

ABR 平均比特率

ABR(Average Bitrate)平均比特率,是VBR的一種插值參數。 舉例來說,當指定用192kbps ABR對一段wav文件進行編碼時,Lame會將該文件的85%用192kbps固定編碼,然後對剩餘15%進行動態優化:複雜部分用高於192kbps 來編碼、簡單部分用低於192kbps來編碼。與192kbps CBR相比,192kbps ABR在文件大小上相差不多,音質卻提高不少。 ABR編碼在速度上是VBR編碼的2到3倍,在128-256kbps範圍內質量要好於CBR。 在容量要求固定的情況下,適用這種方式. 比如壓縮後要刻錄到光盤上,光盤的容量是固定的,可以算出平均值, 然後根據這個平均值操作.

使用 ffmpeg 壓縮

可變碼率 VBR

1
2
3
4
5
6
7
8
ffmpeg -i sample.wav -vn -c:a libmp3lame -aq 4 -ac 2 sample.mp3

參數說明:  
-i 輸入音頻文件
-vn 不處理視頻 
-c:a 指定音頻編碼器 copy、mp3(libmp3lame)、aac、
-aq 質量  數字越小,編碼音質約好,體積越大
-ac 聲道數

恆定碼率 CBR

1
2
3
4
5
6
7
ffmpeg -i sample.wav -vn -c:a libmp3lame -b:a 192k -ac 2 sample.mp3

-i 輸入音頻文件
-vn 不處理視頻 
-c:a 指定音頻編碼器 copy、mp3(libmp3lame)、aac、
-b:a 固定編碼率
-ac 聲道數

metadata

1
2
3
ffmpeg -i sample.wav -map_metadata -1 -vn -c:a libmp3lame -aq 8 -ac 2 sample.mp3

-map_metadata -1  清除metadata
记录并分享
Built with Hugo
Theme Stack designed by Jimmy