零聲音視頻流媒體高級開發(fā)
FFmpegWebRTCRTMP
什么是音視頻 ?
什么是聲音
聲音是由物體振動而產(chǎn)生的(已報(bào)名零聲音視頻 底部評)。聲音是一種壓力波,振動時使空氣產(chǎn)生縱波,由此產(chǎn)生了聲
2. 聲波的三要素
聲波的三要素是頻率、振幅和波形,頻率代表音階的高低,振幅代表響度,波形代表音色。
頻率:頻率越高,波長越短。低頻聲響的波長則較長,所以其可以更容易地繞過障礙物,因此能量衰減就小,聲音就會傳得遠(yuǎn),反之則會得到完全相反的結(jié)論。
振幅:響度其實(shí)就是能量大小的反映,用不同的力度敲擊桌子,聲音的大小勢必也會不同。在生活中,分貝常用于描述響度的大小。聲音超過一定的分貝,人類的耳朵就會受不了。
音色:音色其實(shí)也不難理解,在同樣的音調(diào)(頻率)和響度(振幅)下,鋼琴和小提琴的聲音聽起來是完全不相同的,因?yàn)樗鼈兊囊羯煌?。波的形狀決定了其所代表聲音的音色,鋼琴和小提琴的音色不同就是因?yàn)樗鼈兊慕橘|(zhì)所產(chǎn)生的波形不同。
?
3. 數(shù)字音頻
數(shù)字音頻涉及到三個概念:采樣,量化和編碼。
采樣:采樣就是在時間軸上對信號進(jìn)行數(shù)字化。根據(jù)奈奎斯特定理(也稱為采樣定理),按比聲音最高頻率高 2 倍以上的頻率對聲音進(jìn)行采樣(也稱為 AD 轉(zhuǎn)換)。
量化:量化是指在幅度軸上對信號進(jìn)行數(shù)字化,比如用 16 比特的二進(jìn)制信號來表示聲音的一個采樣,而 16 比特(一個short)所表示的范圍是[-32768,32767],共有 65536 個可能取值,因此最終模擬的音頻信號在幅度上也分為了 65536層。
編碼:所謂編碼,就是按照一定的格式記錄采樣和量化后的數(shù)字?jǐn)?shù)據(jù),比如順序存儲或壓縮存儲。編碼里面涉及了很多種格式,通常所說的音頻的裸數(shù)據(jù)格式就是脈沖編碼調(diào)制(Pulse Code Modulation,PCM)數(shù)據(jù)。描述一段 PCM 數(shù)據(jù)一般需要以下幾個概念:量化格式(sampleFormat)、采樣率(sampleRate)、聲道數(shù)(channel)。以 CD 的音質(zhì)為例:量化格式(有的地方描述為位深度)為 16 比特(2字節(jié)),采樣率為44100,聲道數(shù)為2,這些信息就描述了 CD 的音質(zhì)。還有一個概念用來描述它的大小,稱為數(shù)據(jù)比特率,即1秒時間內(nèi)的比特?cái)?shù)目,它用于衡量音頻數(shù)據(jù)單位時間內(nèi)的容量大小。
??