幀的概念:
音頻的幀的概念沒有視頻幀那么清晰,幾乎所有視頻編碼格式都可以簡單的認為一幀就是編碼后的一副圖像。
但音頻幀跟編碼格式相關(guān),它是各個編碼標準自己實現(xiàn)的。因為如果以PCM(未經(jīng)編碼的音頻數(shù)據(jù))來說,它根本就不需要幀的概念,根據(jù)采樣率和采樣精度就可以播放了。比如采樣率為44.1HZ,采樣精度為16位的音頻,你可以算出bitrate(比特率)是44100*16kbps,每秒的音頻數(shù)據(jù)是固定的44100*16/8 字節(jié)。
amr幀比較簡單,它規(guī)定每20ms的音頻是一幀,每一幀音頻都是獨立的,有可能采用不同的編碼算法,以及不同的編碼參數(shù)。
mp3幀較為復(fù)雜一點,包含了更多的信息,比如采樣率,比特率,等各種參數(shù)。
采樣率:
采樣頻率是指將模擬聲音波形進行數(shù)字化時,每秒鐘抽取聲波幅度樣本的次數(shù)。
正常人聽覺的頻率范圍大約在20Hz~20kHz之間,根據(jù)奈奎斯特采樣理論,為了保證聲音不失真,采樣頻率應(yīng)該在40kHz左右。常用的音頻采樣頻率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采樣頻率,還可以達到DVD的音質(zhì)。
采樣精度:每次采集數(shù)據(jù)的位數(shù)。
通道數(shù):存在幾路音頻。
比特率:針對編碼格式,表示壓縮編碼后每秒的音頻數(shù)據(jù)量大小。
時間戳和播放時間:
1 、AAC
(一個AAC原始幀包含一段時間內(nèi)1024個采樣及相關(guān)數(shù)據(jù))。
對采樣率為44.1kHz的AAC音頻進行解碼時,一幀的解碼時間須控制在23.22毫秒內(nèi)。
音頻幀的播放時間=一個AAC幀對應(yīng)的采樣樣本的個數(shù)/采樣頻率(單位為s)
一幀 1024個 sample。采樣率 Samplerate 44100Hz,每秒44100個sample, 所以根據(jù)公式音頻幀的播放時間=一個AAC幀對應(yīng)的采樣樣本的個數(shù)/采樣頻率
當前AAC一幀的播放時間是= 1024*1000/44100= 22.32ms(單位為ms)
2 、MP3
mp3 每幀均為1152個字節(jié), 則:
frame_duration = 1152 * 1000 / sample_rate
例如:sample_rate = 44100HZ時,計算出的時長為26.122ms,這就是經(jīng)常聽到的mp3每幀播放時間固定為26ms的由來。