在 RTSP Describe 所回覆的 SDP 內容中,會出現下列的描述,此處 packetization-mode 與 profile-level-id 各是什麼意思呢
a=fmtp:96 packetization-mode=1;profile-level-id=4D0029;sprop-parameter-sets=Z00AKZpigPAET8uAtQEBAUAAAPoAADqYOhgA9CAAA7msrvLjQwAehAAAdzWV3lwo,aO48gA==
packetization-mode 可以是 0, 1, 2, 分別對應下列模式 (參考 RFC3984 )
- Single NAL unit mode (當NALU 小於MTU時,只需要一個Packet便可以傳送,傳送順序與 RTP 序號順序,解碼順序都一致)
- Non-interleaved mode (NALU 按照解碼順序進行傳送)
- Interleaved mode (允許NALU傳送順序,不必按照解碼順序)
一般常見實作時大多使用 Non-interleaved mode。
profile-level-id 則是下列三個值的 Binary
AVCProfileIndication | profile_compatibility |AVCLevlIndication
AVCProfileIndication
enum profile_e
{
PROFILE_BASELINE = 66,
PROFILE_MAIN = 77,
PROFILE_HIGH = 100,
PROFILE_HIGH10 = 110,
PROFILE_HIGH422 = 122,
PROFILE_HIGH444_PREDICTIVE = 244,
};
profile_compatibility 一般設置 00
AVCLevlIndication 包含以下三個數值,實際內容需要查表
- Max decoding speed
- Max frame size
- Max video bit rate for video coding layer (VCL) kbit/s
以 0x4D0029 為例,推導其代表的意思
AVCProfileIndication = 0x4D = 77,表示 Main Profile
profile_compatibility = 0x00
參考資料:AVCLevlIndication = 0x29 = 41,查表可得到以下資料