webrtc代码走读九(vp8 rtp 报文解析)

article/2025/9/7 19:32:46

一、wireshark解析VP8报文方法

首先webrtc里面默认开启了FEC和SRTP功能,导致wireshark无法正常解析VP8的报文。所以若想了解VP8的RTP报文格式,还需要先关闭FEC、SRTP。

1、关闭FEC。

internalencoderfactory.cc文件屏蔽kRedCodecName、kUlpfecCodecName

2、关闭SRTP

webrtc\src\webrtc\api\peerconnectioninterface.h

disable_encryption = true 取消SRTP

bool Conductor::CreatePeerConnection(bool dtls)配置不生成密钥。

3、启动RTP数据抓包

这样就能捕获VP8的RTP报文,进行分析了。

二、协议定义

 

1、RTP公共头

2、VP8 Payload Descriptor

 

X:该位为1时,后面这些 OPTIONAL(Ibit、Lbit、Tbit、Kbit)需要进行解析,如果为0的话,则直接忽略这些可选的项目。
R:保留。
N:Non-reference帧。默认是0,以备后续扩展。
S:Start of VP8 partition,如果当前的帧为VP8 partition的起始,则该参数必须被置1。
PartID:partition index,如果S位为1,那么partid为1。

之后的I bit、L bit、T bit、K bit都是需要X置1才有效。

I:picture id呈现标志位,置1时,必须在后面I所示行呈现picture id。
L:TL0PICIDX呈现标志位,置1时,必须在后面L所示行呈现TL0PICIDX。
T:TID呈现标志位.被置1时,可选的TID/KEYIDX部分必须被呈现。TID|Y部分必须在其之后。如果K被置1但T为0,TID/KEYIDX必须呈现出来,但是TID|Y必须被忽略。T或K都不为1时,TID/KEYIDX都不必呈现!
K:KEYIDX present,这个其实和T说明的差不多了。
RSV:保留。

PictureID:8位或16位的长度,其中首位为为1时,则为16位的长度,后15位为picture id,为0,则为8位的长度,后7位为picture id。PictureID为视频帧序列号。可以以随机数起始,但是必须以1递增。
TL0PICIDX:8位temporal level为0的帧序号。当下面的TID为0时,是temporal level为0的帧序号。否则是当前帧参考前面帧的个数。
TID:2为temporal layer index.目前VPX和264支持最大4层Temporal Scalability。
Y:1 layer sync bit.
Informative note: This document does not describe how to determine the dependency status for a frame; this information is preferably provided from the encoder implementation. In the case of unknown status, the Y bit can safely be set to 0.
KEYIDX:5 bits temporal key frame index.

关于TID、TL0PICIDX、Y参数含义的理解,请参考https://blog.csdn.net/CrystalShaw/article/details/81184531

2、VP8 Payload Header

三、参考

 

https://tools.ietf.org/html/rfc7741

http://elkpi.com/topics/vp8-rtp-payload.html


http://chatgpt.dhexx.cn/article/96fvWs5v.shtml

相关文章

vp8 的下载

1. vp8 的下载 页面地址 https://github.com/webmproject/libvpx git 下载 git clone https://github.com/webmproject/libvpx.git2. 在 android 上面搭建的 vp8 环境 页面地址 https://github.com/cmeng-git/vpx-android git 下载 git clone https://github.com/cmeng-gi…

VP8视频格式初探

作者: 阮一峰日期: 2010年5月20日 昨天,Google发布了一个开源项目WebM。 这个项目的目的,是在文件格式方面,为制作和发布互联网视频提供了一个开源的解决方案。 WebM采用MKV作为封装格式,里面的音频编码用V…

深入了解 VP8

部分翻译:http://x264dev.multimedia.cx/?p377 译者:delectate 问题一:vp8到底怎么样? 难道他真的比x264拥有更高的压缩比率,是个优秀的编码器吗?他真的比h264优秀吗?似乎On2自己都羞于承认……

VP8的前途与使命

文 / 金尹 VP8是视频压缩解决方案厂商On2推出的视频压缩格式。今年年初,Google完成了对On2的收购,随即开放了VP8视频编码技术源代码并免费提供给开发者使用。但业界对此一直褒贬不一,本文作者从多个角度进行阐述,对VP8的前途与发展…

如何使用Win10剪切板

几乎所有接触电脑的人都会使用CtrlC和CtrlV,但是每次CtrlC只能复制一次,并且会覆盖之前已经复制的内容。如果需要多次复制不同内容,那就操作多次。如果需要切换页面进行复制,特别不方便。其实,Win10有内置剪切板&#…

windows剪切板的历史记录

windows剪切板的历史记录 最近遇到一件比较坑的事情。当然可能也是我本人粗心大意了吧。但是这种事情难免要发生。比如说你要移动一个比较重要的东西,然后按了ctrlx,但是之间因为别的事情耽搁了一下,而自己的重要的东西还放在剪切板里面&…

win10如何查看剪切板内容?

cv大法我们经常用,但如果复制了新的内容但又想粘贴使用上次复制的内容怎么办? 其实复制新的内容并没有覆盖掉之前复制的内容,可以使用CtrlV快捷键打开剪切板,在剪切板里可以找到以前复制过的内容。 注意:这里的剪切板…

windows 剪贴板监控

迅雷下载或者旋风下载都有一个很有意思的剪贴板监控功能,当你打开剪贴板监控时,如果你复制了一个下载的URL,这两个程序都会弹出来下载框来让你去下载,显得很智能,昨天发现灵格斯词霸也有个剪贴板取词功能。 上个月写了…

Win10清空剪切板内容的方法介绍

剪切板是用户最经常使用的系统功能,可以对想要操作的内容进行临时缓存,但是长时间对里面的内容不清理的话,就会造成系统卡顿。下面小编就给大家介绍一下Win10清空剪切板内容的方法。 操作过程: 1、在Win10桌面空白处点击鼠标右键&…

WIN10剪切板打不开无法调用win+v无法打开

1.确认设置——>剪切板设置——>剪切板打开 2.第一步打开之后仍然无法调用尝试第二步 管理员运行cmd——>输入以下命令 DISM /Online /Add-Capability /CapabilityName:Windows.Client.ShellComponents~~~~0.0.1.0 等待安装完毕——>winv调用成功!

Windows 远程桌面剪切板失效

环境: Windows Server 2019 Windows 10 问题描述: 从本机复制文本或图片,无法粘贴到远程主机,从远程主机无法复制文本或图片到当前本地主机,远程桌面剪切板失效 解决方案: 1.在远程主机打开任务管理器,找到rdpcli…

windows如何查看剪贴板历史

改论文的时候,总是因为复制粘贴后找不到上一个复制而烦恼,每次都要alttab来回切换 甚是烦恼,无意间找到访问粘贴板的快捷键分享一下。 WinV 第一步,打开开始菜单栏点击设置 第二步、选择系统设置 第三步、下拉选择剪贴板 第四步…

windows如何修改复制粘贴与剪切快捷键?

背景介绍 在用惯了Mac OS后,发现其复制粘贴的默认快捷键确实好用windows上我们都值是ctrl c / v / x 来实现但是大家在日常使用过程中不觉得ctrl 这几个键手指头按的很费劲吗?究其根本原因还是离的有点远了而我更喜欢用简谱上类似Mac OS 的的位置 Alt …

Windows10剪贴板的使用

在windows10操作系统中,有一个非常好用的软件——剪贴板。使用快捷键(winv)可打开剪贴板。 在剪贴板中历史记录可最多存放25条,容量限制大小为每项4MB,共25个复制条目,先进先出。(2018年10月更…

如何清空windows的系统剪贴板

有的时候我们需要模拟清空系统剪贴板的场景可以如下操作: windows11系统为例子: windows菜单,选择 设置 打开设置面板 搜索 剪贴板 点击清除即可

windows 清空剪切板

清空剪切板有多重方法: 一、方法最快捷 windows徽标键r启动运行,输入cmd打开命令窗口:输入“dir | clip”(不包括引号),回车即可。 Windowsr,输入 cmd /c "echo off | clip" ,Ente…

Windows10如何查看剪切板

一、Ctrlr,输入clipbrd,回车 二、找不到clipbrd.exe 1、网上搜索下载clipbrd.exe,资源很多的。下载之后解压 2、将 clipbrd.exe 复制到 C:\Windows\System32 三、重复第一步 .

【技巧】windows剪切板

快捷键windowv打开常用剪切板