zoukankan      html  css  js  c++  java
  • RTP中的H264的SVC相关信息

    概览

    本文简单的介绍了rtp中的h264的svc相关信息

    h264的svc相关格式信息

    RTP Payload Format for H.264 Video可以看见264在rtp的传输过程中,在rtp头后面有一个NALU头,其包含了F,NRI,type相关信息

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |V=2|P|X|  CC   |M|     PT      |       sequence number         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                           timestamp                           |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |           synchronization source (SSRC) identifier            |
    +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
    |            contributing source (CSRC) identifiers             |
    |                             ....                              |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |F|NRI|  type   |                                               |
    +-+-+-+-+-+-+-+-+                                               |
    |                                                               |
    |               Bytes 2..n of a Single NAL unit                 |
    |                                                               |
    |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                               :...OPTIONAL RTP padding        |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    

    RFC6190中, 其对这个nalu头进行了扩展, 当type为14和20的时候,这个nalu附带了3个byte的额外信息, 如下所示:

    +---------------+---------------+---------------+
    |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |R|I|   PRID    |N| DID |  QID  | TID |U|D|O| RR|
    +---------------+---------------+---------------+
    

    简单的介绍一下各个位:

    R: 保留位, 但这个位现在多用来表示svc是否开启的标志了(在RFC6190还未看到,但在wireshark 解包看到的说明如此)
    I:  IDR帧位, 1为IDR帧
    PRID: priority_id, 标志当前nalu单元的优先级
    N:  no_inter_layer_pred_flag, 是否启用层间预测
    DID: 空域层ID
    QID: 质量层ID
    TID: 时域层ID
    U:   1表示层间预测的时候只用到base层
    D:   1表示其它NALU的DID的大于当前的,当前的NALU不参与其它的解码
    O:   对解码输出有影响的一个位
    RR:  保留位
    

    比较重要的是R, DID, QID, TID,

    REF

    RFC6190: RTP Payload Format for Scalable Video Coding

  • 相关阅读:
    Excel组件使用配置文档下载
    mysql 的书籍推荐~
    基于HTTP 协议认证介绍与实现
    DebianKvm快速安装上手教程
    spring事务,TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
    项目中用到的设计模式(持续更新)
    项目中用到的架构模式(持续更新)
    添加验证
    ASP.NET Core中使用appsettings.json
    使用 ASP.NET Core 和 MongoDB 创建 Web API
  • 原文地址:https://www.cnblogs.com/ishen/p/12023228.html
Copyright © 2011-2022 走看看