zoukankan      html  css  js  c++  java
  • SIP SDP Profile-level-id解析

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

    基于SIP协议的VOIP通信,该字段通常位于视频协商sdp报文中,如:
    [html] view plain copy
     
     
     
     在CODE上查看代码片派生到我的代码片
    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
  • 相关阅读:
    查看服务器被动手脚
    cordova安卓sdk
    Nginx 启动报错 “/var/run/nginx/nginx.pid" failed”
    家庭里如何搭建一个互联网可访问的服务器
    Mysql5.7基于事务转为基于日志
    021 基本数据类型小结
    018 字符串类型及操作
    022 程序的控制结构
    020 实例4-文本进度条
    017 示例3-天天向上的力量
  • 原文地址:https://www.cnblogs.com/x_wukong/p/6431279.html
Copyright © 2011-2022 走看看