RTP Payload Format for VP8 Video

Posted ishen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RTP Payload Format for VP8 Video相关的知识,希望对你有一定的参考价值。

整体结构

      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             |
     |                             ....                              |
     +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
     |            VP8 payload descriptor (integer #bytes)            |
     :                                                               :
     |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                               : VP8 payload header (3 octets) |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | VP8 pyld hdr  :                                               |
     +-+-+-+-+-+-+-+-+                                               |
     :                   Bytes 4..N of VP8 payload                   :
     |                                                               |
     |                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                               :    OPTIONAL RTP padding       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

RTP头之后会有VP8的载荷信息,如果RTP头设置了Mbit,则是左边的结构,否则是右边, 第一个8bit用来说明后面是否扩展,是的话,后面会跟着相应的X,I,L,T/K等字段的信息

         0 1 2 3 4 5 6 7                                   0 1 2 3 4 5 6 7
        +-+-+-+-+-+-+-+-+                                   +-+-+-+-+-+-+-+-+
        |X|R|N|S|R| PID | (REQUIRED)                        |X|R|N|S|R| PID | (REQUIRED)
        +-+-+-+-+-+-+-+-+                                   +-+-+-+-+-+-+-+-+
   X:   |I|L|T|K| RSV   | (OPTIONAL)                   X:   |I|L|T|K| RSV   | (OPTIONAL)
        +-+-+-+-+-+-+-+-+                                   +-+-+-+-+-+-+-+-+
   I:   |M| PictureID   | (OPTIONAL)                   I:   |M| PictureID   | (OPTIONAL)
        +-+-+-+-+-+-+-+-+                                   +-+-+-+-+-+-+-+-+
   L:   |   TL0PICIDX   | (OPTIONAL)                        |   PictureID   |
        +-+-+-+-+-+-+-+-+                                   +-+-+-+-+-+-+-+-+
   T/K: |TID|Y| KEYIDX  | (OPTIONAL)                   L:   |   TL0PICIDX   | (OPTIONAL)
        +-+-+-+-+-+-+-+-+                                   +-+-+-+-+-+-+-+-+
                                                       T/K: |TID|Y| KEYIDX  | (OPTIONAL)
                                                            +-+-+-+-+-+-+-+-+
                <left>                                                <right>

ref

RTP Payload Format for VP8 Video

以上是关于RTP Payload Format for VP8 Video的主要内容,如果未能解决你的问题,请参考以下文章

使用命名管道使用 FFMPEG 记录 RTP VP8 数据包

用ogg容器封装RTP包中提取的opus payload的实现

RTP/RTCP协议详解

Bluetooth A2DP --Audio payload type

WebRtc Native M96 远端视频接收之PacketBuffer-组帧原理分析

WebRtc Native M96 远端视频接收之PacketBuffer-组帧原理分析