音視頻基本概念


容器/文件

  1. 指特定格式的多媒體文件,比如mp4, flv等。

媒體流

  1. 指事件軸上的一段連續數據,比如一段音頻數據,一段視頻數據,一段字幕數據。
  2. 可以是壓縮的,也可以是未壓縮的。

數據幀/數據包

  1. 數據包存儲的是編碼后的多媒體數據,一段媒體流是由大量數據包組成的。
  2. 數據幀存儲的戳編碼前的多媒體數據,幀對應着編解碼器的最小處理單元。
  3. 編碼前(解碼后)的數據為數據幀,編碼后(解碼前)的數據為數據包。

編解碼器

  1. 編解碼器的作用是轉換數據包與數據幀,比如libx264,fdk-aac等

音頻

聲波三要素

  1. 頻率(過零率):音階的高低,頻率越高,波長越短。越容易穿過障礙物,能量衰減月底,傳得更遠。
  2. 振幅:聲音的響度,反映能量的大小。
  3. 波形:音色,波的形狀決定了其所能代表的音色,比如鋼琴和小提琴的音色差異。。。

數字音頻

  1. 采樣:時間軸上對信號進行數字化。
  2. 量化:幅度軸上對信號進行數字化。
  3. 編碼:按照一定格式記錄采樣和量化后的數字數據。

PCM描述

PCM(Pulse Code Modulation,脈沖編碼調制)音頻數據是未經壓縮的音頻采樣數據裸流,它是由模擬信號經過采樣、量化、編碼轉換成的標准數字音頻數據。

  1. 量化格式:表示來聲音的有效范圍,高音與低音的可容忍性,比如8位,16位,32位等
  2. 采樣率:每秒從連續信號中提取並組成離散信號的采樣個數,比如44100,48000等
    采樣率的倒數為采樣周期,采樣間隔,即每個樣本的持續事件
    44.1kHz 采樣周期為1 / 44100 * 1000 = 0.0226757ms
    44.1kHz 單聲道每秒1024個樣本 = 1024 / 44100 * 1000 = 24.219954ms
    
  3. 通道個數:表示聲音的立體效果,即錄制時的音源數量或者播放時的揚聲器數量,單聲道(mono),雙聲道(stereo),5.1聲道等
  4. 比特率(碼率):1s內的數據比特數量,體現來媒體數據的質量,比如44100 x 16 x 2 = 1378.125kbps
    2M = 2 * 1024 byte
    1Byte = 8bit
    2M帶寬的網速 = 2 * 1024 / 8 = 256KB/s
    
  5. 整形或浮點型:大多數的pcm數據使用整型標示,對於精度要求較高的場景使用浮點類型標示pcm樣本數據[-1.0, 1.0]
  6. 幀率:每秒播放樣本的數量,單位為fps(frame per second),比如1024

視頻

  1. 分辨率:每個方向上的像素數量,分辨率越高,可顯示的點越多,畫面就越精細。比如1920x1080
  2. 碼率:同樣分辨率下,視頻文件的碼流越大,壓縮比就越小,畫面質量就越高。
    1KB/s = 8Kbps
    
  3. 幀率:每秒傳輸圖像的數量,表示是實時性的還原度
    25fps:每秒顯示25幀數據 => 每幀數據顯示時長為1000 / 25 = 40ms
    60fps:每秒顯示60幀數據 => 每幀數據顯示時長為1000 / 60 = 16.667ms

幀率是每秒圖像的數量,分辨率表示每幅圖像的尺寸即像素數量,碼流是經過視頻壓縮后每秒產生的數據量,而壓縮是去掉圖像的空間冗余和視頻的時間冗余,所以,對於靜止的場景,可以用很低的碼流獲得較好的圖像質量,而對於劇烈運動的場景,可能用很高的碼流也達不到好的圖像質量,所以結論是設置幀率表示您要的實時性,設置分辨率是您要看的圖像尺寸大小,而碼率的設置取決於攝像機及場景的情況,通過現場調試,直到取得一個可以接受的圖像質量,就可以確定碼流大小。
一幀就是一副靜止的畫面,連續的幀就形成動畫,如電視圖象等。我們通常說幀數,簡單地說,就是在1秒鍾時間里傳輸的圖片的幀數,也可以理解為圖形處理器每秒鍾能夠刷新幾次,通常用fps(Frames Per Second)表示。每一幀都是靜止的圖象,快速連續地顯示幀便形成了運動的假象。高的幀率可以得到更流暢、更逼真的動畫。每秒鍾幀數 (fps) 愈多,所顯示的動作就會愈流暢。
幀率,碼率,分辨率關系


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM