一、  MP2T视频协议

视频直播一般使用MP2T(ISO/IEC 13818-1,MPEG-TS)协议, 具体有如下几种:

常用的是MP2T/RTP/UDP和MP2T/ UDP,主要是直播视频不需要重传。

每7个MP2T包打包为一个RTP,然后每个RTP再打包为一个UDP。或者每7个MP2T包也可以直接打包为一个UDP。(由信令决定TS所属的UDP端口号)。

如果视频速率传输方式是CBR(const bit rate),如果实际视频源压缩比较高或者P帧,则填充无有效载荷的包。注: VBR(variable bit rate)

MP2T包:PDU 188B(含头),头部4B,头部字段如下:

sync_byte  同步字节,固定为0x47 ,表示后面的是一个TS分组,包中数据是不会出现0x47

transport_error_indicator传输错误标志位,一般传输错误的话就不会处理这个包了

payload_unit_start_indicator这个位功能有点复杂,字面意思是有效负载的开始标志,根据后面有效负载的内容不同功能也不同

transport_priority  传输优先级位,1表示高优先级,传输机制可能用到,解码好像用不着。

PID指出了这个包的有效负载数据的类型,音频 或 视频 或者 播放目录。

transport_scrambling_control加密标志位,表示TS分组有效负载的加密模式。TS分组首部(也就是前面这32bit)是不应被加密的,00表示未加密。

adaption_field_control  翻译为“调整字段控制”,表示TS分组首部后面是否跟随有调整字段和有效负载。01仅含有效负载,10仅含调整字段,11含有调整字段和有效负载。为00的话解码器不进行处理。空分组没有调整字段

continuity_counter   一个4bit的计数器,范围0-15,具有相同的PID的TS分组传输时每次加1,到15后清0。不过,有些情况下是不计数的。如下:(1)TS分组无有效负载(2)复制的TS分组和原分组这个值一样(3)标志discontinuity_indicator为1时

adaptation_field()调整字段的处理

二、  视频丢帧分析

1、 如果UDP上面直接是mp2t包(ISO/IEC的包),过滤UDP视频流

输入过滤表达式 udp.stream==流号,保存(File->Export Specified Packets)。

2、 如果是UDP上面是RTP,需要先把data解码设置为RTP解码

3、 UDP视频流丢帧分析

查看wireshark诊断信息(Analyze->Expert Info), Error中是否有Malform MP2T信息。

丢帧判断依据: 相同PID的连续号CC在[0,15] 循环,不连续则为丢帧。如有丢帧,查看对应(最靠近视频udp层)的ip层,ip.id是否连续。

[ip.id连续] 摄像头视频源导致丢帧

[ip.id不连续] 最有可能为丢包导致丢帧,但要排除以下2点导致的id不连续的因素

  1. 视频业务层面的路由节点修改ip.id
  2. 摄像头把中间ip.id分配给其他协议包,如TCP/ICMP等。如加上其他包,业务层面的ip.id连续,则仍为摄像头视频源导致丢帧

三、  视频抖动分析

4、 UDP视频流抖动分析

查看IO统计信息(Statistics->IO Graph), 输出每ms/s的速率,发包间隔。

输出ms/s级速率(点copy)

输出发包间隔

对ms级速率从1一直编号,刷选速率非0项,编号前后相减,即为间隔(单位ms)

5、 输出非0项的发包间隔和速率的均值(average),偏差(stdev),最大值(max)

四、  视频还原分析

6、 还原UDP/MP2T视频

选择一个UDP/MP2T视频流,Analyze->Follow UDP Stream,

选择视频数据的方向,保存为Raw的数据,并命名为.ts的文件。

另新版wireshark显示如下:

7、 播放视频

如果视频分辨率比较高,本机可能无法播放。

用VLC或Potplayer视频播放器播放,就可以看到这个视频流的表现效果了。

五、  央视视频源发包规律

I帧数据 155KB

P帧数据 24KB

UDP视频流MP2T的分析方法相关推荐

  1. linux防火墙转发udp,一次穿透 iptables 防火墙的 UDP ***报文真实案例分析

    一次穿透 iptables 防火墙的 UDP ***报文真实案例分析,揭示了一些在使用 iptables 时鲜为人知的安全隐患,希望能给大家带来帮助! 这类***确实少见,也是一次好的排错过程,所以转 ...

  2. 高通SDX55平台:5G速率问题排查分析方法

    高通SDX55平台:5G速率问题排查分析方法 1. 背景 2. 测速环境配置介绍 2.1 测速工具 2.2 工具使用 2.3 网络参数介绍 2.3.1 带宽 2.3.2 信号质量 2.3.3 RB 2 ...

  3. 典型问题分析——wifi吞吐量测试和分析方法

    一.手机吞吐量测试方法 准备工具:手机侧安装Magic Iperf软件:PC侧安装iperf.exe 1.上行吞吐量测试方法 手机作为client端,PC为server端 2.下行吞吐量测试方法 手机 ...

  4. 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?

    AutoSAR入门到精通系列讲解 将从2019年开始更新关于AutoSAR的知识,从入门到精通,博主xyfx和大家一起进步 雪云飞星 ¥29.90 去订阅 简单地说结构化分析方法主要用来分析系统的功能 ...

  5. java三维滑雪,第六章 三维数据空间分析方法.ppt

    第六章 三维数据空间分析方法 * * * * 可视性分析 * * 自然邻域法插值 基本思路: 利用输入点及邻近栅格单元进行插值生成栅格表面. 方法: 利用输入数据点(样本点)为节点,建立Delauna ...

  6. mysql慢查询开启及分析方法

    最近服务维护的公司的DB服务器,总是会出现问题,感觉需要优化一下了,登陆上去,发现慢查询日志都没有开,真是惭愧, 故果断加上慢查询日志,经过分析sql记录,发现问题很多,开发人员很多没有对sql优化, ...

  7. 图论分析方法gretna_基于磁共振的多模态分析对血管性认知障碍患者脑网络的研究...

    摘要:目的:1.通过对血管性认知障碍(VCI)患者的结构相及静息态磁共振数据进行采集和分析,运用图论的分析方法来研究VCI患者与正常者之间的脑网络差异,并将脑网络拓扑属性与临床认知评分进行相关性分析, ...

  8. Nature Microbiology: 微生物数据的系统发育分析方法

    本文转载自美格基因,己获授权. 佳作推荐 推荐指数:★★★★★ 阅读时间:4 分钟 文本字数:1800字 推荐理由: 这篇文章总结了对微生物组数据的系统发育进行分析的几种方法,举例说明不同方法适用的数 ...

  9. 什么是信度分析(Reliability)?有哪些信度分析方法?那什么又是效度?

    什么是信度分析(Reliability)?有哪些信度分析方法?那什么又是效度? 目录 什么是信度分析(Reliability)?有哪些信度分析方法?那什么又是效度? #常见信度分析方法

最新文章

  1. Tomcat中文乱码问题的原理和解决方法
  2. 其实吧,微信就是已经用电脑上线,第二天消息还是从手机上重新接收
  3. delphi 中的dll编程注意事项
  4. DSP学习--BCC校验(异或校验)
  5. java高并发(三)并发编程的基础
  6. sql 数据库中只靠一个数据,查询到所在表和列名
  7. 消息队列MQ如何保证消息的幂等性
  8. 309. zui佳买卖股票时机含冷冻期(JavaScript)
  9. 学习Python编程培训 有哪些爬虫技术课程需要掌握
  10. Android Excel 解析 xls 和 xlsx,方法也可以很简单
  11. 机器学习中的核函数与核方法(是什么?为什么?怎么做?)
  12. onedrive 添加到本地硬盘_Win10系统OneDrive映射到本地磁盘的解决设置技巧
  13. 数据库表及其字段变量命名神器之codeIf
  14. windows与mac字体设置
  15. 中华好诗词大学季第二季(四)
  16. 我的阿里云盘资源搜索引擎首次试运行
  17. 微信小程序聊天客服工具
  18. 《深入浅出图神经网络》读书笔记(5.图信号处理与图卷积神经网络)
  19. 浙江省高等学校教师教育理论培训上机考试
  20. 【HTML期末作业】大学生抗疫感动专题网页设计作业 抗疫最美逆行者网页 致敬疫情感动人物网页设计制作

热门文章

  1. Hibernate:DisjunctionConjunction构造复杂的查询条件
  2. 我为什么要立刻放弃React而使用Vue?
  3. 微信小程序----第二天(小程序 - 模板与配置)
  4. java 数组的class_Java Class isArray()方法
  5. [转]微信公众平台(测试接口)开发前的准备工作(转载自walkingmanc的专栏)
  6. 【Unity3D日常开发】修改游戏对象的材质颜色
  7. 终于去看了麦兜响当当
  8. 【Linux 性能优化】利用perf和CPU使用率定位异常函数
  9. CSAPP实验四:性能优化实验(Perflab)
  10. SpringBoot整合Quartz--使用/教程/实例