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

webrtc代码走读九(vp8 rtp 报文解析)一 wireshark 解析 VP8 报文方法首先 webrtc 里面默认开启了 FEC 和 SRTP 功能 导致 wireshark 无法正常解析 VP8 的报文 所以若想了解 VP8 的 RTP 报文格式 还需要先关闭 FEC SRTP 1 关闭 FEC internalenco cc 文件屏蔽 kRedCodecNam kUlpfecCodec 关闭 SRTPwebrtc src

一、wireshark解析VP8报文方法

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

1、关闭FEC。

internalencoderfactory.cc文件屏蔽kRedCodecName、kUlpfecCodecName

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

2、关闭SRTP

webrtc\src\webrtc\api\peerconnectioninterface.h

disable_encryption = true 取消SRTP

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

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

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

3、启动RTP数据抓包

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

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

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

二、协议定义

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

 

1、RTP公共头

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

2、VP8 Payload Descriptor

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

 

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

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

2、VP8 Payload Header

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

三、参考

 

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209615.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午8:49
下一篇 2026年3月19日 上午8:50


相关推荐

  • java inputstream和outputstream_java input

    java inputstream和outputstream_java input原文地址:http://www.zgljl2012.com/javaji-chu-inputstream-inputstreamreaderhe-bufferedreader/在Java中,上述三个类经常用于处理数据流,下面介绍一下三个类的不同之处以及各自的用法。InputStream:是所有字节输入流的超类,一般使用它的子类:FileInputStream等,它能输出字节流;…

    2026年4月14日
    5
  • The database disk image is malformed_数据库sqlite

    The database disk image is malformed_数据库sqlite一.问题分析此问题的提示也就是数据库文件损坏。如果在程序访问数据库期间拷贝是很容易出现该问题的,断开所有连接去拷贝在实际项目中有时候是不现实的,所以我们有时去做一下手动修复。二.问题修复1.下载sqlite3.exe到本地,并将损坏的数据库文件拷贝到同一个目录2.打开命令行工具(CMD),进入到sqlite3.exe所在目录3.使用sqlite3.exe打开损坏的数据库文件,并导出sql语句到临时文件E:\sqlite>sqlite3.exe2022_03_03

    2025年9月3日
    7
  • python中代码注释_python中文注释

    python中代码注释_python中文注释一个极小的问题。在python代码中,用了中文注释,不能被python解释器理解(python2.5)。解决方案是:# coding=gb2312print ok #中文注释没问题或者:# -*- coding: gb2312 -*-print ok  #这样也行

    2022年8月23日
    7
  • mybatis缓存配置

    mybatis缓存配置mybatis的缓存有三种方式:1、一级缓存(基于SqlSession会话级别的;2、二级缓存(基于nameSpace级别的,范围比以及缓存更广);3、第三方缓存;mybatis缓存使示意图:一、一级缓存说明:其中一级缓存是mybatis默认使用的缓存,无需手动配置,二级缓存需要手动配置;一级缓存失效条件1)sqlSession不同,由于一级缓存是基于sqlSession级别的,所以当使用不同sq…

    2022年5月21日
    119
  • SpringBoot——MybatisPlus修改时空字段不修改

    SpringBoot——MybatisPlus修改时空字段不修改SpringBoot——MybatisPlus修改时空字段不修改

    2022年4月23日
    73
  • java 基础 代码 详解_java新手入门-java新手代码大全

    java 基础 代码 详解_java新手入门-java新手代码大全​java中有很多的知识非常的繁琐,经常需要我们花费大量的时间和精力去学习和理解。关于synchronized锁和ReentrantLock锁的知识点有很多,你都掌握了吗?一起来了解一下吧。对于synchronized意思相信大家都应该很清楚了,但是同时有很多小白表示对于synchronized是不是悲观锁以及它的使用场景不是很清楚,那么就一起通之前给大家介绍了synchronized和lo…

    2022年7月8日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号