SEI簡介
SEI即補(bǔ)充增強(qiáng)信息(Supplemental Enhancement Information),它提供了向視頻碼流中加入額外信息的方法奔则,是H.264/H.265這些視頻壓縮標(biāo)準(zhǔn)的特性之一蛮寂。
在視頻內(nèi)容的生成端和傳輸過程中插入SEI信息,SEI和視頻內(nèi)容一同經(jīng)過傳輸鏈路到達(dá)消費(fèi)端易茬,消費(fèi)端通過解析NAL獲取對(duì)應(yīng)的SEI信息酬蹋,并執(zhí)行相應(yīng)的操作。
舉例:
直播問答模式抽莱,就是通過SEI傳遞較多和答題業(yè)務(wù)相關(guān)的信息范抓。通過SEI承載的信息,極大地優(yōu)化了題目顯示和觀眾音視頻觀看的同步性食铐。
NAL簡介
H264整個(gè)系統(tǒng)框架分為兩層:視頻編碼層面(Video Coding Layer匕垫,簡稱VCL)和網(wǎng)絡(luò)抽象層面(Network Abstraction Layer,簡稱NAL)虐呻。VCL負(fù)責(zé)表示有效視頻數(shù)據(jù)的內(nèi)容象泵,NAL負(fù)責(zé)格式化數(shù)據(jù)并提供頭信息,以保證數(shù)據(jù)適合各種信道和存儲(chǔ)介質(zhì)上的傳輸斟叼。NAL unit是NAL的基本語法結(jié)構(gòu)偶惠,它包含一個(gè)字節(jié)的頭信息(NAL header)和一系列來自VCL的原始數(shù)據(jù)字節(jié)流(RBSP)。
(1)H264 中 NAL unit type
NAL unit type儲(chǔ)存在NAL header中朗涩,用一個(gè)字節(jié)表示洲鸠。在H.264/AVC標(biāo)準(zhǔn)中,可用的NAL unit type一共有17種馋缅。其中值為6時(shí)表征SEI內(nèi)容扒腕。比較常見的類型如下表所示
(2)NAL unit type 存儲(chǔ)
解析SEI的內(nèi)容
要解析SEI,需要先將解析出每個(gè)NAL unit萤悴。然后type=6即為SEI瘾腰。
SEI=類型+長度+內(nèi)容。
對(duì)于AVCC和ANNEX「猜摹B兩種不同包裝格式蹋盆,解析NAL的方式不同费薄。
AVCC:一個(gè)前綴字節(jié)(表示NALU的長度)+ NALU
ANNEX B
ANNEX B:開始碼(一般為000001或者00000001)+ NALU
參考資料:
https://blog.csdn.net/romantic_energy/article/details/50508332
https://blog.csdn.net/zhying719/article/details/108557508