分析问题的前期准备步骤:

1.      准备一台笔记本电脑,并且安装360免费wifi。

2.      两部移动终端连接上360共享的wifi

3.      在笔记本电脑上开启wireshark抓包,并且在linux服务器上用tcpdump进行抓包

4.      停止抓包,并且下载服务器上的数据包到本地

数据包分析过程:

1.      首先分析笔记本电脑的数据包,看移动终端的发送端视频包,RTP的SEQ是否连续;如果SEQ不连续说明移动终端有问题,否则,需要接下来分析

2.      移动终端的发送端视频包,RTP的SEQ是连续,但在服务器端接收的RTP包的SEQ是否连续;如果接收到收到的RTP不连续,说明发送端到接收端的网络环境有问题或者发送端发送的数据包有问题,导致RTP丢包,否则,接收的RTP是连续的。

3.      服务器端接收的RTP包是连续的,接下来分析,服务器端进行转发的RTP包是否连续,如果不连续,服务器端对数据包的转发程序有问题,否则,需要接下来分析,移动终端接收RTP包端。

4.      移动终端的接收RTP端数据包是否连续,如果不连续,说明服务器到接收端的网络环境有问题或者发送端的数据包有问题,导致RTP丢包,否则,需要分析移动终端RTP流的视频解码程序。

数据包分析实例:

1.      首先用wireshark工具分析移动发送端RTP报数据,看RTP数据包是否有丢包,SEQ是否连续,从下图红色框选部分可以看出,发送端的RTP数据包没有丢包发生。

2.      接下来用wireshark工具分析服务器接收端RTP数据,看RTP数据包是否有丢包,SEQ是否连续,从下图红色框选部分可以看出,接收端和发送端接收数据包的总数一致,但接收端的丢包率28.60%,SEQ出错259次。

3.      根据以上两段数据包的分析,丢包可能是网络导致,也可能是终端发送的数据不正确导致。

4.      接下来分析服务器接收端的RTP数据包,SEQ的那个数据丢包了。

5.      分析服务器端收据RTP包,发现seq=26的数据包,服务器端没有收到。

6.      分析移动终端的发送端RTP包,seq=26的数据包,发现RTP发送但长度为54。详细见下图。

Ø  分析SEQ=26的数据包

Ø  分析该包发现,发送SEQ=26的数据包大小为54,IP包长度为40,但UDP数据包长度为1396。

Ø  再次分析多个丢失的数据包,发现存在同样的问题。

Ø  分析移动终端发送的RTP流数据用udp.length > 1350进行过滤,发现没有找到任何一条RTP数据,用udp.length > 1300进行过滤,发现有数据包,并且也是正常的。

Ø  根据以上数据的分析,发现导致该问题的是移动终端进行RTP分片超过1350,就会导致RTP严重丢包。

Ø  因此,修改移动终端RTP分片为1300,进行测试,终端之前图像显示正常。

MTU说明:

通信术语 最大传输单元(MaximumTransmission Unit,MTU)是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。

MTU越大,通信效率越高而传输延迟增大,所以要权衡通信效率和传输延迟选择合适的MTU。

以以太网传送IPv4报文为例。MTU表示的长度包含IP包头的长度,如果IP层以上的协议层发送的数据报文的长度超过了MTU,则在发送者的IP层将对数据报文进行分片,在接收者的IP层对接收到的分片进行重组。

这里举一个具体的例子说明IP包分片的原理。以太网的MTU值是1500 bytes,假设发送者的协议高层向IP层发送了长度为3008 bytes的数据报文,则该报文在添加20 bytes的IP包头后IP包的总长度是 3028 bytes,因为3028 > 1500,所以该数据报文将被分片,分片过程如下:

1. 首先计算最大的IP包中IP净荷的长度 =MTU-IP包头长度=1500-20= 1480bytes。

2. 然后把3028 bytes按照1480 bytes的长度分片,将要分为3片,3028=1480+1480+68。

3. 最后发送者将为3个分片分别添加IP包头,组成3个IP包后再发送,3个IP包的长度分别为1500 bytes、1500 bytes和 88 bytes。

从以上分片例子可以看出第一、二个分片包组成的 IP 包的长度都等于 MTU 即 1500 bytes 。

视频不显示的分析方法相关推荐

  1. QT界面中实现视频帧显示的多种方法及应用

    QT界面中实现视频帧显示的多种方法及应用 (一) 引言 1.1 视频帧在QT界面中的应用场景 1.2 不同方法的性能和适用性分析 1.2.1 使用QLabel和QPixmap 1.2.2 使用QPai ...

  2. 图像处理--视频分析方法

    视频分析方法   主要有3类:   1)背景减除方法.背景减除方法是利用当前图象和背景图象的差分(SAD)来检测出运动区域的一种方法,可以提供比较完整的运动目标特征数据.   2)时间差分法.   3 ...

  3. kindeditor html5视频,kindeditor编辑器插入mp4视频不显示及不过滤video的方法

    传视频是单独做了htm5的video调用,所以在电脑及移动设备上访问没问题,但是很多地方比如题目,题目解析等都在kindeditor编辑器里面添加的,因为肯定要添加图文,但是添加视频的话,因为kind ...

  4. python视频抽帧 后 前端javascript如何显示_python通过ffmgep从视频中抽帧的方法

    如下所示: ffmpeg中文文档:http://linux.51yip.com/search/ffmpeg ffmpeg -i test_baofeng.wmv -y -f image2 -ss 00 ...

  5. Android 系统(126)---Android的死机、重启问题分析方法

    Android的死机.重启问题分析方法 阅读数:11986 Android的死机.重启问题分析方法 1.     死机现象 1.1      死机定义 当手机长时间无法再被用户控制操作时,我们称为死机 ...

  6. AnyChat视频直播系统全面分析

    一.简介 视频直播是指利用互联网及流媒体技术进行直播,视频因融合了图像.文字.声音等丰富元素,声形并茂,效果极佳,逐渐成为互联网的主流表达方式.它将电视机.个人电脑及手持设备作为显示终端,通过机顶盒或 ...

  7. 一种全景视频的主观质量评价方法(译)

    A subjective visual quality assessment method of panoramic videos ICME 2017 abstract 与传统的2D视频不同,在头戴式 ...

  8. 大数据可视化分析以及预测性分析方法

    摘要:大数据分析要实现的应用领域之一就是预测性分析,可视化分析和数据挖掘都是前期铺垫工作,只要在大数据中挖掘出信息的特点与联系,就可以建立科学的数据模型,通过模型带入新的数据,从而预测未来的数据. 大 ...

  9. 产品岗常见名词公式及分析方法

    文章目录 专业名词 基本公式 1. 电商 2. 内容网站 (爱奇艺) 分析方法 1. A/B Test 2. 用户增长 AARRR 模型 专业名词 DAU(Daily Active User)日活跃用 ...

  10. 董树义 近代微波测量技术_微波和微波信号的分析方法介绍

    由于微波在现代技术和日常生活中的巨大影响,使用微波测量或工程术语在今天是相当普遍的,因此 值得花一点时间来定义微波技术及其在当今社会中的作用. 让我们从简单的科学定义开始,微波作为交流信号,频率在30 ...

最新文章

  1. CString类型的头文件、CString的输出、CString的常用用法
  2. html写三角形,css3怎么写三角形?
  3. 操作系统第二章总结/
  4. 嵌入式开发中数值常量如何转化为内存地址?
  5. windows xp 的开机黑屏只有光标闪动的解决方法
  6. 算法设计与分析第二版第一章笔记
  7. Anaconda出现Navigator Error的解决办法
  8. 手电筒app制作实录
  9. python打开qq并登录_python爬虫入门之qq登陆初探
  10. 为什么我的计算机不能更新系统,为什么我的电脑重新安装系统建设银行网银不能......
  11. 【教程】Spire.PDF教程:C# 如何提取 PDF 文档中的文本和图片
  12. 【面试】计算机操作系统
  13. 玩抖音必知的3个数据分析工具:会用它们,少走很多弯路
  14. 第一卷清晨的帝国 第一百四十三章 辩难始
  15. 163邮箱发送不出去服务器,我是网易163的免费邮箱,最近发现不能发邮件了,不知怎么回事,请热水人帮一下。...
  16. 微软打算用DNA存储数据 但成本和速度仍是个大问题
  17. 论文阅读——MISF:Multi-level Interactive Siamese Filtering for High-Fidelity Image Inpainting
  18. 聚水潭完成3亿元B3轮融资,红杉资本中国基金独家投资
  19. uni-app App端半屏连续扫码
  20. Toolbar控件:32位真彩色大图标

热门文章

  1. 黑马程序员__用户禁用cookie后登录不成功的原因
  2. 剖析Disruptor:为什么会这么快?(一)Ringbuffer的特别之处
  3. 数据中心效率:40%的改进是通过最佳实践方案
  4. mysql 保存emoji 4字节宽度字符串
  5. 通过YAJL生成json语句
  6. Android游戏开发的开源框架
  7. Oracle财务系统常用标准报表
  8. 更改boot.ini自动进入DSRM模式
  9. redis 的 key 设计原则
  10. android中自定义动态壁纸