1、H265一個影象序列的組成:VPS+SPS+PPS+SEI+一個I幀+若干個P幀。VPS、SPS、PPS、SEI、一個I幀、一個P幀都可以稱
為一個NALU。
2、H265的NALU結構:開始碼+NALU頭+NALU資料
(1)、開始碼大小為四個位元組,是一個固定值00 00 00 01(十六進位制),標識一個NALU的開始。
(2)、NALU頭大小為兩個位元組,共16位,第1位值為0,第2-7位為NALU的type位(共6位),標識當前NALU的型別
,第8-15位值為0,第16位值為1。
(3)、NALU資料為編碼器編出來的影象資訊或影象資料。
3、六種型別的NALU
(1)、VPS(影片引數集):NALU頭值為0x40 01(十六進位制),NALU頭type位值為32(十進位制)。
(2)、SPS(序列引數集):NALU頭值為0x42 01(十六進位制),NALU頭type位值為33(十進位制)。
(3)、PPS(影象引數集):NALU頭值為0x44 01(十六進位制),NALU頭type位值為34(十進位制)。
(4)、SEI(補充增強資訊):NALU頭值為0x4e 01(十六進位制),NALU頭type位值為39(十進位制)。
(5)、I幀:NALU頭值為0x26 01(十六進位制),NALU頭type位值為19(十進位制)。
(6)、P幀:NALU頭值為0x02 01(十六進位制),NALU頭type位值為1(十進位制)。
4、H265的NALU打包成RTP包的模式(下面是用到的兩種模式)
(1)、一個NALU打包成一個RTP包,只需要在一個12位元組的RTP包頭後新增去掉開始碼的NALU即可
(這種模式在一個NALU的大小小於MTU時使用)。
(2)、一個NALU打包成幾個RTP包(FUs模式),在12個位元組的RTP頭後面有兩個位元組的PayloadHdr和一個位元組的FU
header。PayloadHdr的值等於NALU頭的type位改為49(十進位制)後的值,FU header第1位標記RTP包是否為NALU的第一片,第2位標
記RTP包是否為NALU的最後一片。後6位是NALU頭的type位。
SDP參考:
一、h265的VPS/SPS/PPS
與解析度有關
與幀率無關(與幀率是否有關主要看sps中某個欄位的值,當前海思編出的sps中該欄位值標識與幀率無關)
與N/P制無關
1、4M
Payload: 40010c01ffff016000000300b00000030000030099aa0240
Payload: 420101016000000300b00000030000030099a001402005a1636aa4932f90
Payload: 4401c0f2f03c90
2、4M_4x3
Payload: 420101016000000300b00000030000030099a001202006c1636aa4932f90
3、3M
Payload: 420101016000000300b00000030000030099a00100200601636aa4932f90
4、1080P
Payload: 40010c01ffff016000000300b0000003000003007baa0240
Payload: 420101016000000300b0000003000003007ba003c08010e58daa924cbe40
5、960P
Payload: 420101016000000300b0000003000003007ba00280803c1636aa4932f9
6、720P
Payload: 40010c01ffff016000000300b0000003000003005daa0240
Payload: 420101016000000300b0000003000003005da00280802d1636aa4932f9
7、D1
Payload: 40010c01ffff016000000300b0000003000003005aaa0240
Payload: 420101016000000300b0000003000003005aa00582009058daa924cbe4
8、CIF
Payload: 40010c01ffff016000000300b0000003000003003caa0240
Payload: 420101016000000300b0000003000003003ca00b0804858daa924cbe40
1、H265一個影象序列的組成:VPS+SPS+PPS+SEI+一個I幀+若干個P幀。VPS、SPS、PPS、SEI、一個I幀、一個P幀都可以稱
為一個NALU。
2、H265的NALU結構:開始碼+NALU頭+NALU資料
(1)、開始碼大小為四個位元組,是一個固定值00 00 00 01(十六進位制),標識一個NALU的開始。
(2)、NALU頭大小為兩個位元組,共16位,第1位值為0,第2-7位為NALU的type位(共6位),標識當前NALU的型別
,第8-15位值為0,第16位值為1。
(3)、NALU資料為編碼器編出來的影象資訊或影象資料。
3、六種型別的NALU
(1)、VPS(影片引數集):NALU頭值為0x40 01(十六進位制),NALU頭type位值為32(十進位制)。
(2)、SPS(序列引數集):NALU頭值為0x42 01(十六進位制),NALU頭type位值為33(十進位制)。
(3)、PPS(影象引數集):NALU頭值為0x44 01(十六進位制),NALU頭type位值為34(十進位制)。
(4)、SEI(補充增強資訊):NALU頭值為0x4e 01(十六進位制),NALU頭type位值為39(十進位制)。
(5)、I幀:NALU頭值為0x26 01(十六進位制),NALU頭type位值為19(十進位制)。
(6)、P幀:NALU頭值為0x02 01(十六進位制),NALU頭type位值為1(十進位制)。
4、H265的NALU打包成RTP包的模式(下面是用到的兩種模式)
(1)、一個NALU打包成一個RTP包,只需要在一個12位元組的RTP包頭後新增去掉開始碼的NALU即可
(這種模式在一個NALU的大小小於MTU時使用)。
(2)、一個NALU打包成幾個RTP包(FUs模式),在12個位元組的RTP頭後面有兩個位元組的PayloadHdr和一個位元組的FU
header。PayloadHdr的值等於NALU頭的type位改為49(十進位制)後的值,FU header第1位標記RTP包是否為NALU的第一片,第2位標
記RTP包是否為NALU的最後一片。後6位是NALU頭的type位。
SDP參考:
一、h265的VPS/SPS/PPS
與解析度有關
與幀率無關(與幀率是否有關主要看sps中某個欄位的值,當前海思編出的sps中該欄位值標識與幀率無關)
與N/P制無關
1、4M
Payload: 40010c01ffff016000000300b00000030000030099aa0240
Payload: 420101016000000300b00000030000030099a001402005a1636aa4932f90
Payload: 4401c0f2f03c90
2、4M_4x3
Payload: 40010c01ffff016000000300b00000030000030099aa0240
Payload: 420101016000000300b00000030000030099a001202006c1636aa4932f90
Payload: 4401c0f2f03c90
3、3M
Payload: 40010c01ffff016000000300b00000030000030099aa0240
Payload: 420101016000000300b00000030000030099a00100200601636aa4932f90
Payload: 4401c0f2f03c90
4、1080P
Payload: 40010c01ffff016000000300b0000003000003007baa0240
Payload: 420101016000000300b0000003000003007ba003c08010e58daa924cbe40
Payload: 4401c0f2f03c90
5、960P
Payload: 40010c01ffff016000000300b0000003000003007baa0240
Payload: 420101016000000300b0000003000003007ba00280803c1636aa4932f9
Payload: 4401c0f2f03c90
6、720P
Payload: 40010c01ffff016000000300b0000003000003005daa0240
Payload: 420101016000000300b0000003000003005da00280802d1636aa4932f9
Payload: 4401c0f2f03c90
7、D1
Payload: 40010c01ffff016000000300b0000003000003005aaa0240
Payload: 420101016000000300b0000003000003005aa00582009058daa924cbe4
Payload: 4401c0f2f03c90
8、CIF
Payload: 40010c01ffff016000000300b0000003000003003caa0240
Payload: 420101016000000300b0000003000003003ca00b0804858daa924cbe40
Payload: 4401c0f2f03c90