https://blog.csdn.net/CrystalShaw/article/details/109527689
根據《T-REC-H.265-201504-I!!PDF-E》協議描述。
## 一,HEVC的碼流格式定義
字節流格式由字節流NAL 單元語法結構序列構成。每一字節流NAL 單元語法結構包含有一個起始編碼前綴,后面跟隨一個nal\_unit(NumBytesInNALunit)語法結構。它可能(一定情況下,它應該)包含一個額外的zero\_byte 語法元素。它也可能包含一個或多個額外的trailing\_zero\_8bits 語法元素。當為第一個字節流NAL 單元時,也可能包含一個或多個額外的leading\_zero\_8bits語法元素。


## 二,NAL\_TYPE定義
~~~cpp
/** * Table 7-1: NAL unit type codes */enum HEVCNALUnitType { HEVC_NAL_TRAIL_N = 0, HEVC_NAL_TRAIL_R = 1, HEVC_NAL_TSA_N = 2, HEVC_NAL_TSA_R = 3, HEVC_NAL_STSA_N = 4, HEVC_NAL_STSA_R = 5, HEVC_NAL_RADL_N = 6, HEVC_NAL_RADL_R = 7, HEVC_NAL_RASL_N = 8, HEVC_NAL_RASL_R = 9, HEVC_NAL_VCL_N10 = 10, HEVC_NAL_VCL_R11 = 11, HEVC_NAL_VCL_N12 = 12, HEVC_NAL_VCL_R13 = 13, HEVC_NAL_VCL_N14 = 14, HEVC_NAL_VCL_R15 = 15, HEVC_NAL_BLA_W_LP = 16, HEVC_NAL_BLA_W_RADL = 17, HEVC_NAL_BLA_N_LP = 18, HEVC_NAL_IDR_W_RADL = 19, HEVC_NAL_IDR_N_LP = 20, HEVC_NAL_CRA_NUT = 21, HEVC_NAL_IRAP_VCL22 = 22, HEVC_NAL_IRAP_VCL23 = 23, HEVC_NAL_RSV_VCL24 = 24, HEVC_NAL_RSV_VCL25 = 25, HEVC_NAL_RSV_VCL26 = 26, HEVC_NAL_RSV_VCL27 = 27, HEVC_NAL_RSV_VCL28 = 28, HEVC_NAL_RSV_VCL29 = 29, HEVC_NAL_RSV_VCL30 = 30, HEVC_NAL_RSV_VCL31 = 31, HEVC_NAL_VPS = 32, HEVC_NAL_SPS = 33, HEVC_NAL_PPS = 34, HEVC_NAL_AUD = 35, HEVC_NAL_EOS_NUT = 36, HEVC_NAL_EOB_NUT = 37, HEVC_NAL_FD_NUT = 38, HEVC_NAL_SEI_PREFIX = 39, HEVC_NAL_SEI_SUFFIX = 40,};
~~~
## 三,實例分析
1,截取一段HEVC視頻碼流

2,elecard對應該段碼流的分析結果。

3,具體分析說明:
第一個NALU:0x00000001 NAL起始碼?0x40>>1,0x20,十進制32,為NAL\_VPS(Video Parameter Set視頻參數集)。
第二個NALU:0x00000001 NAL起始碼 0x42>>1,0x21,十進制33,為NAL\_SPS(Sequence Parameter Set序列參數集)。
第三個NALU:0x00000001 NAL起始碼? 0x44 >> 1,0x22,十進制34,為NAL\_PPS(Picture Parameter Set圖像參數集)。
第四個NALU:0x00000001 NAL起始碼 0x4E >> 1,0x27,十進制39,為NAL\_SEI\_PREFIX(Supplemental enhancement information)
第五個NALU:0x00000001 NAL起始碼? 0x26 >> 1,0x13,十進制19, 為NAL\_IDR\_W\_RADL(Instantaneous decoding refresh)
- 序言
- 編解碼
- H264
- HEVC碼流解析
- H264編碼原理
- 多媒體封裝
- MP4
- 學好 MP4,讓直播更給力
- AAC
- FLV
- 流媒體協議
- RTSP
- RTCP
- RTP
- H265 RTP封包筆記
- SDP
- RTMP
- RTMP URL
- rtmp url基礎
- webrtc
- 編譯
- 最簡單的編譯webrtc方案
- Webrtc音視頻會議之Webrtc“不求甚解”
- Webrtc音視頻會議之Mesh/MCU/SFU三種架構
- 音頻傳輸之Jitter Buffer設計與實現
- Janus
- Webrtc音視頻會議之Janus編譯
- Webrtc音視頻會議之Janus源碼架構設計
- webrtc服務器-janus房間管理
- 源碼分析
- WebRTC視頻JitterBuffer詳解
- 走讀Webrtc 中的視頻JitterBuffer(一)
- 走讀webrtc 中的視頻JitterBuffer(二)
- webrtc視頻幀率控制算法機制
- 目標碼率丟幀-1
- 目標幀率丟幀-2
- 29 如何使用Medooze 實現多方視頻會議
- FFmpeg
- FFmpeg編譯
- Window10下編譯最新版FFmpeg的方法步驟
- FFMPEG靜態庫編譯
- ffmpeg實現畫中畫
- FFmpeg推流器
- ffmpeg-aac
- OpenCV
- OpenCV學習筆記——視頻的邊緣檢測
- 圖像特征點匹配(視頻質量診斷、畫面抖動檢測)
- 圖像質量診斷