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

原文地址:https://www.cnblogs.com/ishen/p/12022942.html

时间: 2024-10-22 21:36:31

RTP Payload Format for VP8 Video的相关文章

多媒体开发之---h264中 的RTP PAYLOAD 格式

H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +---------------+      |0|1|2|3|4|5|6|7|      +-+-+-+-+-+-+-+-+      |F|NRI|  Type   |      +---------------+ F: 1 个比特.  forbidden_zero_bit. 在 H.264 规范中规定了这一位必须为 0. NRI: 2 个比特.  nal_ref_idc

wireshark 获取RTP payload

wireshark 抓包获取RTP TS流数据,保存为TS文件 首先解析RTP流 2.点击菜单栏[Statistics]-[RTP]-[Show All Streams] 3.在Wireshark:RTP Streams中 显示分析到的 RTP streams, 选择第一条 MPEG-2 ,此条即所需要的TS视频流 选中然后点击Analysis 4.分析完显示此条流的所有RTP数据包的相关信息,Jitter,BW等,然后点击[Save payload...] 5.在保存对话框中选择要保存的文件名

RTP传输JPEG图片到VLC实时播放(代码)

一.环境是ubuntu 二.采集视频. 我这里采集的是YUYV422,然后可以通过两种方式转化,1.yuyv422->yuv420->jpeg->rtp->vlc(yuv420解码).2.yuyv422->rgb->jpeg->rtp->vlc(yuv420解码) V4L2编程可以参考:V4L2编程 YUYV422转RGB参考:YUYV422TORGB 三.代码下载 包含jpeg-9a库,库安装百度就ok. 传输代码看readme. 点击这里下载源代码 四.

流媒体传输协议系列之----RTP/RTCP协议解析

RTP协议 实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的,后在RFC3550中进行更新. 国际电信联盟ITU-T也发布了自己的RTP文档,作为H.225.0,但是后来当IETF发布了关于它的稳定的标准RFC后就被取消了.它作为因特网标准在[ RFC 3550 ]有详细说明. RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式.它一开始被设计为一个多播协议,但后来被

H264 NAL RTP打包

1. 网络抽象层单元类型 (NALU) NALU是H264用于网络传输的单元类型,一个完整的NALU单元一般是以0x000001或者0x00000001开始,其后跟的则是NALU头和NALU的数据:我们在网络传输的时候,会去掉开始的0x000001或者0x00000001的标志:一般需要将这些标志替换为RTP payload的头部(1个字节): 其中NALU数据就是RBSP数据: NALU 头由一个字节组成, 它的语法如下: +---------------+ |0|1|2|3|4|5|6|7|

基于RTP的h.264视频传输系统设计(一)

一.H.264 的层次介绍 H.264 定义三个层次,每个层次支持一组特定的编码功能,并且依照各个层次指定所指定的功能.基础层次(baselineprofile)支持I 帧和 P 帧[1]的帧内和帧间编码,支持自适应的可变长度的熵编码(CAVLC).主要层次(main profile)支持隔行扫描视频,B帧[2]的帧内编码,使用加权预测的帧内编码和使用上下文的算术编码(CABAV).扩展层次(extendedprofile)不支持隔行扫描视频和CABAC,但增加了码流之间高效的转化模式(SP 和

H.264 基础及 RTP 封包详解

一. h264基础概念 1.NAL.Slice与frame意思及相互关系 1 frame的数据可以分为多个slice.每个slice中的数据,在帧内预测只用到自己slice的数据, 与其他slice 数据没有依赖关系. NAL 是用来将编码的数据进行大包的. 比如,每一个slice 数据可以放在NAL 包中.I frame 是自己独立编码,不依赖于其他frame 数据.P frame 依赖 I frame 数据. B frame 依赖 I frame, P frame 或其他 B frame 数

(转)RTP协议全解(H264码流和PS流)

写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析, 其中借鉴了很多文章,我都列在了文章最后,在此表示感谢. 互联网的发展离不开大家的无私奉献,我决定从我做起,希望大家支持. 原创不易,转载请附上链接,谢谢http://blog.csdn.net/chen495810242/article/details/39207305 1.RTP Header解析   图1 1)        V:RTP协议的版本号,占2位,当前协议版本号为2 2)        P:

H.264视频的RTP荷载格式

Status of This Memo This document specifies an Internet standards track protocol for the   Internet community, and requests discussion and suggestions for   improvements.  Please refer to the current edition of the "Internet   Official Protocol Stand