音視頻學(xué)習(xí)筆記1--音視頻基礎(chǔ)知識(1)
共 2487字,需瀏覽 5分鐘
·
2022-02-09 17:35
1 音視頻開發(fā)是什么?
隨著5G時代的到來和人們生活中對于音視頻的需求,音視頻已經(jīng)迎來了春天,那么音視頻指的是什么呢?音視頻是一個描述比較寬泛的領(lǐng)域,從音視頻信息的采集到編碼到流媒體的傳輸,再到客戶端進行拉流直至解碼并播放出來,都屬于音視頻開發(fā)的范疇,也因此音視頻開發(fā)雖說沒有算法那么高的門檻,但是其知識多而雜,加上國內(nèi)音視頻開發(fā)的書籍資料較少,所以入門較難。 那么音視頻簡單來說具有那些領(lǐng)域呢?作者將其分為以下幾種: 1.Android、IOS、Windows客戶端開發(fā),這部分主要針對音視頻采集、編解碼與客戶端開發(fā)技術(shù)棧相結(jié)合,實現(xiàn)音視頻采集、傳輸?shù)炔僮鳎_發(fā)人員需要對ffmpeg、webrtc等開源項目熟悉。 2.流媒體服務(wù)器開發(fā),這部分人員主要針對流媒體進行服務(wù)器端開發(fā),服務(wù)器包括流媒體傳輸服務(wù)器與信令服務(wù)器部分,這部分開發(fā)人員需要對各種流媒體傳輸協(xié)議以及服務(wù)器邏輯開發(fā)具有較強的能力。 3.音視頻編解碼算法研發(fā),由于音視頻再網(wǎng)路中的傳輸需要進行編解碼、壓縮等操作(否則需要無法想象的網(wǎng)絡(luò)帶寬),因此算法研發(fā)人員需要針對業(yè)務(wù)場景對音視頻編解碼算法進行研發(fā)與改進,算法研究人員需要較強的數(shù)學(xué)功底與邏輯分析能力。 除此之外,由于音視頻領(lǐng)域廣大,還會有音視頻傳輸、硬件等部分研發(fā)人員,可以將其歸結(jié)為音視頻領(lǐng)域。
2 音視頻數(shù)據(jù)處理流程
音視頻采集過程是將自然界中的音視頻模擬信號轉(zhuǎn)化為計算機可進行存儲與識別的數(shù)字信號的過程。
2.1 音視頻數(shù)據(jù)采集
音頻數(shù)據(jù)的采集通過硬件端(一般為麥克風(fēng))進行模擬信號的輸入,由于計算機無法對模擬信號進行識別與存儲,因此需要將其轉(zhuǎn)化為數(shù)字信號,這里我們可以通過音頻采樣的方式進行轉(zhuǎn)化,采樣即將連續(xù)的模擬信號(用連續(xù)的波形表示)通過密集地分割,利用多個數(shù)字信號進行表示的過程,這樣講較為抽象,大家可以想象一下高數(shù)中微積分的原理,示意圖如圖1所示:
圖1 采樣示意圖
采集到的音頻信號以幀隊列的形式進行操作,首先需要對音頻幀隊列進行音頻編碼,編碼后的數(shù)據(jù)與圖像幀隊列編碼后的數(shù)據(jù)進行封裝得到視頻文件(這里說的視頻文件指的是我們平時接觸到的MP4、FLV等既有圖像又有音頻的文件)。 圖像數(shù)據(jù)的采集與音頻數(shù)據(jù)的采集過程相似,首先通過攝像頭采集圖像信息,并形成圖像幀隊列,以視頻編碼算法進行編碼后,與編碼后的音頻數(shù)據(jù)進行封裝。 音視頻的采集過程如圖2所示:
圖2 音視頻采集過程
2.2 封裝與解封裝
上一節(jié)我們已經(jīng)講到,音頻數(shù)據(jù)與圖像數(shù)據(jù)是分開進行采集與編碼的,但我們平時只需要打開.MP4文件即可觀看電影,既有音頻又有圖像,這是由于音視頻數(shù)據(jù)在分別采集與編碼后進行了封裝,最后得到了一個視頻文件(可以理解為將音頻與視頻按照規(guī)則進行打包),在視頻播放的過程中,圖像幀需要通過顯示器渲染出來,音頻幀需要通過揚聲器或者耳機等硬件播放出來,因此還需要對MP4、FLV等視頻文件進行解封裝,得到圖像幀隊列與音頻幀隊列。過程如圖3所示:
圖3 封裝與解封裝
2.3 音視頻輸出
音視頻的輸出即音視頻采集的逆操作,將音視頻文件解封裝,得到對應(yīng)的音頻幀隊列和圖像幀隊列,然后分別通過揚聲器、顯示器等輸出設(shè)備將音視頻數(shù)據(jù)輸出。過程如圖4所示:
圖4 音視頻輸出過程
2.4 音視頻同步
除前幾節(jié)知識之外,還有一個音視頻同步的概念也非常重要,音視頻同步即在同一時間,音頻數(shù)據(jù)與視頻數(shù)據(jù)需要將各個幀對應(yīng)起來,如果這個環(huán)節(jié)出現(xiàn)問題,那么就會出現(xiàn)聲音與圖像對應(yīng)不起來的現(xiàn)象(每個人都應(yīng)該經(jīng)歷過,字幕已經(jīng)撥過去一會,對應(yīng)的聲音才傳來),音視頻同步的實現(xiàn)同樣需要出現(xiàn)在音視頻采集與輸出過程中,進行音視頻采集時,需要通過時鐘對音視頻的幀數(shù)據(jù)進行同步采集與寫入,輸出時,需要通過文件中的同步數(shù)據(jù)對音頻與圖像幀進行同步控制,實現(xiàn)音視頻的同步輸出。
3 視頻中的基礎(chǔ)概念
圖5 視頻信息截圖
3.1 視頻碼率
視頻碼率是指單位時間內(nèi)視頻數(shù)據(jù)所占流量大小,視頻的碼率越大,數(shù)據(jù)流精度也就越高,視頻也就越清晰,如圖5,當選擇視頻清晰度為4M時,碼率為4000 Kbps(傳輸時1 M = 1000 K, 存儲時1 M = 1024 K)。
3.2 視頻幀率
視頻幀率指的是1秒中視頻會顯示多少幀,我們在看視頻、打游戲的時候都會接觸到多少幀的概念,幀率越高,在人的視覺上也就越流暢,其單位為fps。
3.2 視頻分辨率
這個概念更加接近生活,我們在買電視、電腦顯示器時,都會將分辨率作為選擇的一個重要參數(shù),視頻分辨率影響的內(nèi)容是圖像大小,分辨率越高,能顯示的圖像越大,我們可以知道,將電腦分辨率調(diào)低后,電腦能顯示的內(nèi)容減少,就是因為分辨率變低,能顯示的圖像變小,因此在有限的屏幕下可見的東西變少。
4 音頻中的基礎(chǔ)概念
4.1 音頻采樣頻率
音頻在從模擬信號轉(zhuǎn)化為數(shù)字信號的過程中,是通過采樣實現(xiàn)的,采樣頻率指的是每秒對音頻數(shù)據(jù)進行采樣的次數(shù),我們可以想象一下,采樣次數(shù)越少,能采集到的信息也就越粗糙,這樣也就造成了音頻數(shù)據(jù)存儲到計算機中再播放出來就會出現(xiàn)音質(zhì)的降低,同樣,采樣頻率越高,音頻質(zhì)量也就越流暢、越接近原聲,常用的采樣頻率為22 kHz,44.1 kHz,48 kHz,96 kHz,192 kHz。
4.2 音頻采樣深度
除了采樣頻率,采樣深度也是音頻采樣的一個重要指標,我們再進行采樣時,每次采樣都能存儲的信息越精細,所采集的音頻也就越清晰,音頻質(zhì)量越高,常用的采樣深度大小為8 bit,16 bit,24 bit。
4.3 音頻通道數(shù)
這個概念很簡單了,我們在帶耳機時兩個耳朵所聽到的聲音不同,給人一種立體的感覺,那是因為音頻是雙聲道的,在電影院我們可以在環(huán)境中聽到立體聲的感覺,因為是5.1聲道。
4.4 音頻比特率
音頻比特率 = 采樣頻率 * 采樣深度 * 通道數(shù),比特率越大,音頻一般質(zhì)量越高,壓縮后音頻數(shù)據(jù)的比特率成為碼率,碼率 = 音頻文件大小 / 音頻時長。
5 總結(jié)
本人也剛開始接觸音視頻,博客中難免對一些概念解釋不到位,并且本節(jié)所介紹的概念也不全面,后期還會有補充,若有什么不對的地方,歡迎各位大佬指正。
