SIP SDP Profile-level-id解析
Posted 明明是悟空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SIP SDP Profile-level-id解析相关的知识,希望对你有一定的参考价值。
转自:http://blog.csdn.net/wh8_2011/article/details/53558504
基于SIP协议的VOIP通信,该字段通常位于视频协商sdp报文中,如:
- video 23456 RTP/AVP 121
- rtpmap:121 H264/90000
- fmtp: 121 profile-level-id=42801E; packetization-mode=1
42801E分三部分
0x42 66
0x80 1000 0000 (二进制)
0x1E 30
对应profile_idc(8 bits)、profile_iop(8 bits)、level_idc(8 bits),含义如下:
profile_idc:(16进制)
66 Baseline profile (VOIP中常用这个)
77 Main profile
88 Extended profile
profile_iop:(8位分别意义)
constraint_set0_flag 1代表编码的视频序列完全遵从A.2.1所有条款,0不一定。
constraint_set1_flag1代表编码的视频序列完全遵从A.2.2所有条款,0不一定。
constraint_set2_flag 1代表编码的视频序列完全遵从A.2.3所有条款,0不一定。
注意:当上面3位有任意一位设置为1时,意味着视频序列完全遵从A.2所有条款,当proifle_idc为44、100、110、122或244时,此三位必须为0。
constraint_set3_flag (1)当profile_idc为66、77或88且level_idc为11时,1代表遵从Annex A for level 1b,0代表遵从Annex for level 1.1。
(2)当profile_idc为100或110,1代表遵从Annex A for the High 10 Intra profile,0不一定。
(3)当profile_idc为122,1代表遵从Annex A for the High 4:2:2 Intra profile,0不一定。
(4)当profile_idc为44,此数据位应设置为1,0是错误的。
(5)当profile_idc为244,1代表遵从Annex A for the High 4:4:4 Intra profile,0不一定。
(6)当profile_idc为66、77或88且level_idc不为11时,1保留给未来使用,应设置为0,同时解码器应该忽略此数据位的值。
constraint_set4_flag (1)当profile_idc为77、88或100,1代表frame_mbs_only_flag等于1,0则表示frame_mbs_only_flag可能1可能0。
(2)当profile_idc为118或128,,1代表编码的视频序列遵从H.10.1.1的所有条款,0不一定。
(3)当profile_idc不为以上两条时,1保留给未来使用,应设置为0,同时解码器应该忽略此数据位的值。
constraint_set5_flag (1)当profile_idc为77、88或100,1代表Bslice类型不存在于编码的视频序列中,0不一定。
(2)当profile_idc为118,1代表遵从H.10.1.2的所有条款,0不一定。
(3)当profile_idc不为以上两条时,1保留给未来使用,应设置为0,同时解码器应该忽略此数据位的值。
constraint_set6_flag保留,设置为0。
constraint_set7_flag保留,设置为0。
levle_idc:
等级 最大比特率(BP、MP、EP)kbit/s 高分辨率示例@最高帧率(最大存储帧)
1 64 128*[email protected](8) 176*[email protected](4)
1b 128 128*[email protected](8) 176*[email protected](4)
1.2 384 320*[email protected](7) 352*[email protected](6)
1.3 768 320*[email protected](7) 352*[email protected](6)
2 2000 320*[email protected](7) 352*[email protected](6)
2.1 4000 352*[email protected](7) 352*[email protected](6)
2.2 4000 352*[email protected](12) 352*[email protected](10) 720*[email protected](6) 720*[email protected](5)
3 10000 352*[email protected](12) 352*[email protected](10) 720*[email protected](6) 720*[email protected](5)
3.2 20000 1280*[email protected](5) 1280*[email protected](4)
5 135000 1920*[email protected](13) 2048*[email protected](13) 2048*[email protected](12) 2560*[email protected](5) 3672*[email protected](5)
5.1 240000 1920*[email protected](16) 2560*[email protected](9) 3840*[email protected](5) 4096*[email protected](5) 4096*[email protected](5) 4096*[email protected](5)
5.2 240000 1920*[email protected](16) 2560*[email protected](9) 3840*[email protected](5) 4096*[email protected](5) 4096*[email protected](5) 4096*[email protected](5)
其在协商中的值=level_idc*10的16进制数,如上面的1E=30,就是等级3,另外packetization-mode表示载荷类型,范围0-2(0:NAL 1:非交错 2:交错,隔行扫描)。
以上是关于SIP SDP Profile-level-id解析的主要内容,如果未能解决你的问题,请参考以下文章
sprop-parameter-sets 或 profile-level-id 是解码 H264 所需的 SDP 参数吗?