音視頻基礎知識(一)

數據------>解協議----->封裝格式數據---->解封裝---(音視頻流數據)---->(音視頻解碼)--->音視頻數據--->(硬件加速聲卡,顯卡)-->呈現出畫面與聲音算法

1.協議層:(protocol layer)----http/rtmp/file編程

2.封裝層:(format layer)-----mkv/mp4/flv/avi緩存

3.編碼層:(code layer)---h264/h265/mpeg2/mpeg4網絡

4.像素層:(pixel layer)---yuv420p/yuv422p/yuv444p/rgb24socket

 

流媒體開發編程語言

網絡層:socket負責傳輸ide

協議層:rtmp/hls負責網絡打包編碼

封裝層:flv/ts負責編解碼數據的封裝code

 

幀:每幀表明這一副靜止的圖像orm

GOP:GOP就是一組連續的畫面,每一個畫面都是一幀,一個GOP就是不少幀的集合。GOP cache長度越長,畫面質量就越好

碼率:圖片進行壓縮後每秒顯示的數據量

幀率:每秒顯示圖片的數,人眼所看到的畫面在16幀以上,就會認爲是連貫的

分辨率:圖片的長度&寬度,圖片的尺寸

壓縮前每秒數據:幀率 *分辨率

壓縮比:壓縮前的每秒鐘數據/碼率,(壓縮比越高,畫面質量越差)

視頻文件格式:wmv,mov,mp4,mp3,avi,

視頻封裝格式:一種存儲視頻信息的容器,流式封裝:TS\FLV,索引封裝:MP4\MOV\AVI,主要做用:一個視頻文件每每包含圖像和音頻,還有一些配置信息,這些內容按照必定的規則拼裝起來

注意:封裝格式和文件格式同樣,由於通常視頻文件格式的後綴即採用相應的視頻封裝格式的名稱,因此視頻文件格式就是視頻封裝格式

視頻封裝格式&視頻壓縮編碼標準:(項目工程,編程語言):

 

視頻編碼技術:

MPEG:幀間壓縮,存儲連續幀直接的有差異的地方,從而達到較大的壓縮比

H264:世面普遍使用的,算法比較複雜

H264組成:1.網絡提取層(Network Abstraction Layer)NAL 2,視訊編碼層(Video Coding Layer)VCL

 

Slice編碼構成:I幀,P幀,B幀

H.264 stream consists of a sequence of NAL Units

SPS:序列參數集,做用於一系列連續的編碼圖像

PPS:圖像參數集,做用於編碼視頻序列中的一個或多個獨立的圖像

參數集是一個獨立的數據單位,不依賴參數集外的其餘語法元素,只有編碼器認爲須要更新參數集內容時,纔會發出新的參數集

 

H265:基於H264,使用原來的技術,將相關的技術加以改進,例如碼流,編碼質量,延時,傳輸時更省帶寬

I幀:關鍵幀 解碼關鍵

P幀(差異幀):保留幀與前幀的區別,解碼須要緩存畫面疊加本幀定義的差異,生成最終的畫面,P幀只存儲差異數據,並非完整幀

B幀:雙向幀

合成muxing:  將視頻流、⾳音頻流、字⺟母流合成封裝到⼀一個⽂文件中,做⽂文⼀一個信號進⾏行行傳輸

相關文章
相關標籤/搜索