SIP SDP Profile-level-id解析

转自:http://blog.csdn.net/wh8_2011/article/details/53558504

基于SIP协议的VOIP通信,该字段通常位于视频协商sdp报文中,如:
  1. video 23456 RTP/AVP 121
  2. rtpmap:121 H264/90000
  3. 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*96@30.9(8)  176*144@15.0(4)
1b   128 128*96@30.9(8)   176*144@15.0(4)
1.1   192 176*144@30.3(9)   320*240@10.0(3)   352*288@7.5(2)
1.2   384 320*240@20.0(7)   352*288@15.2(6)
1.3   768 320*240@36.0(7)   352*288@30.0(6)
2   2000 320*240@36.0(7)   352*288@30.0(6)
2.1   4000 352*480@30.0(7)   352*576@25.0(6)
2.2   4000 352*480@30.7(12)   352*576@25.6(10)   720*480@15.0(6)   720*576@12.5(5)
3   10000 352*480@61.4(12)   352*576@51.1(10)   720*480@30.0(6)   720*576@25.0(5)
3.1   14000 720*480@80.0(13)   720*576@66.7(11)   1280*720@30.0(5)
3.2   20000 1280*720@60.0(5)   1280*1024@42.2(4)
4   20000 1280*720@68.3(9)   1920*1080@30.1(4)   2048*1024@30.0(4)
4.1   50000 1280*720@68.3(9)   1920*1080@30.1(4)   2048*1024@30.0(4)
4.2   50000 1280*720@145.1(9)   1920*1080@64.0(4)   2048*1080@60.0(4)
5   135000 1920*1080@72.3(13)   2048*1024@72.0(13)   2048*1080@67.8(12)   2560*1920@30.7(5)   3672*1536@26.7(5)
5.1   240000 1920*1080@120.5(16)   2560*1920@51.2(9)   3840*2160@31.7(5)   4096*2048@30.0(5)   4096*2160@28.5(5)   4096*2304@26.7(5)
5.2   240000 1920*1080@172.0(16)   2560*1920@108.0(9)   3840*2160@66.8(5)   4096*2048@63.3(5)   4096*2160@60.0(5)   4096*2304@56.3(5)
 
 
其在协商中的值=level_idc*10的16进制数,如上面的1E=30,就是等级3,另外packetization-mode表示载荷类型,范围0-2(0:NAL  1:非交错  2:交错,隔行扫描)。
 
 

参考文档:ITU-T H264 04/2013

上一篇:驱动笔记 - ioctl


下一篇:docker启动后忘记挂载nvidia-docker-volume的解决方法