利用WireShark工具定位视频质量问题的方法.doc
- 文档编号:234777
- 上传时间:2022-10-07
- 格式:DOC
- 页数:9
- 大小:782.50KB
利用WireShark工具定位视频质量问题的方法.doc
《利用WireShark工具定位视频质量问题的方法.doc》由会员分享,可在线阅读,更多相关《利用WireShark工具定位视频质量问题的方法.doc(9页珍藏版)》请在冰豆网上搜索。
利用WireShark工具定位视频质量问题的方法
内部公开
利用WireShark工具定位视频质量
问题的方法
杭州华三通信技术有限公司
H3CTechnologiesCo.,Ltd.
版权所有侵权必究
Allrightsreserved
修订记录RevisionRecord
日期
Date
修订
版本
RevisionVersion
修改
章节
SecNo.
修改描述
ChangeDescription
作者
Author
2010-11-18
1.00
初稿整理完成
罗翔
目录
1 面临的问题 4
2 解决方案 4
2.1 原始抓包文件中过滤出TS视频流 4
2.1.1 抓包文件中过滤出TS流 5
2.1.2 TS流中过滤出TS视频流 7
2.2 将视频流报文转换为视频文件 8
1面临的问题
在IP监控的实际应用中,IP监控的视频报文常常运行在无保障的IP网络中。
一旦出现视频质量问题,定位问题的第一步,就是要确认该问题是否与网络相关。
如何确认呢?
在MPPV1中,我们可以通过在编码侧和解码侧两端进行抓包,然后利用ethereal的rtpstreamanalysis功能快速统计出丢包率的方式来确认。
但是对于MPPV3,由于改用TS协议进行打包,而ethereal又不提供TS流的分析功能,导致我们很难判断TS流是否在网络中被正常发送和接收。
2解决方案
WireShark帮助我们解决了这个难题。
WireShark可以正常的解析TS流报文,虽然
它不提供“tsstreamanalysis”,但是通过WireShark,我们可以将捕获的报文转换为视频文件。
有了这个功能,在定位问题时,我们只需要将编码、解码两端的抓包还原视频文件,然后使用VLC或者是迅雷看看等工具进行播放对比,同样可以判断问题是出现在网络侧还是出现在监控侧,提高我们定位问题的效率。
下面就为大家介绍具体的使用方法。
2.1原始抓包文件中过滤出TS视频流
要实现将抓包转换为TS视频文件,我们必须在原始抓包文件中将TS视频流报文过滤出来。
参考图1,我们可以看到在原始的抓包文件中包含sip、ssh、pppoe、arp、ts音频流、ts视频流等多种协议报文。
要达成我们过滤TS视频流报文的目的,需要分两步进行:
n在抓包文件中,首先将TS流过滤出来
n在TS流中,将TS视频流过滤出来
图1-原始抓包文件
2.1.1抓包文件中过滤出TS流
通过对TS流音频、TS流视频的报文分析,我们可以发现TS流的UDP目的端口号是固定的,即udp53340端口。
图2-TS音频流UDP目的端口
图3-TS视频流UDP目的端口
通过以udp目的端口53340为过滤条件,我们可以在抓包文件中将TS流过滤出来。
这里教大家一个过滤报文的小窍门:
以往我们在过滤报文时,往往苦恼无法记住WireShark或者是ethereal等抓包工具过滤报文的语法,但实际上,聪明的开发者早就体会到了我等菜鸟的苦衷,我们只需在报文中选中需要过滤的字段,点击右键,选择“applyasfilter”,WireShark就可以自动的生成过滤条件,将所需的报文过滤出来!
图4-在报文中选择要过滤的字段
图5-filter工具栏自动生成过滤条件
参考图4,之前提到需要以udp目的端口53340为过滤条件,那么只需要在报文中选中“Destinationport:
53340(53340)”这个字段,点击右键,在右键菜单中选中“ApplyasFilter”,此时Wireshark就会自动在Filter工具栏中生成“udp.dstport==53340”的过滤条件(参考图5),就可以自动将所有的TS流报文过滤出来啦!
细心的读者可能还会注意到图4右键菜单中另一个选项,即“PrepareasFilter”,那么它和“ApplyasFilter”有什么区别呢?
在本例中,如果选择“ApplyasFilter”,WireShark会立即执行“udp.dstport==53340”这个过滤条件;如果选择“PrepareasFilter”,WireShark则是将“udp.dstport==53340”这个过滤条件在Fitler栏中显示出来,而不会立即执行过滤。
当完成过滤后,需要将过滤出来的报文另存为一个新的文件ts.cap。
注意,在选择SAVEAS后,一定要选择“Displayed”(参考图6),才能将所需的TS流报文另存为ts.cap。
图6-将TS流报文另存为ts.cap
2.1.2TS流中过滤出TS视频流
打开刚才建立的ts.cap文件,找到TS音频流报文,在其IS0/IEC封装中找到“PacketizedElementaryStream”字段,选择“stream:
audio-stream(0xc0)”后,点击右键,在右键菜单中选择“PrepareasFilter”,filter工具栏中即出现TS音频流过滤条件:
mpeg-pes.stream==0xc0(参考图7)。
图7-TS音频流过滤条件
由于我们不需要TS音频流,所以我们要修改过滤条件。
在filter工具栏中将“mpeg-pes.stream==0xc0”修改为“!
mpeg-pes.stream==0xc0”,“!
”在这里表示反向选择,即WireShark会在ts.cap中将除TS音频流之外的报文都过滤出来。
过滤完成后,将过滤的结果另存为ts-video.cap。
至此,我们就得到了一个纯粹的TS视频流抓包文件了。
2.2将视频流报文转换为视频文件
打开刚才创建的ts-video.cap文件,在“Analyze”下拉菜单中选中“FollowUDPStream”(参考图8)。
选择完成后,在跳出的对话框中,将格式选为“raw”,然后点击“saveas”,将文件命令为ts-video.ts,点击“save”后即可完成视频文件的转换!
(参考图9、图10)。
图8-WireShark“followudpstream”菜单
图9-WireShark“followudpstream”对话框
图10-保存为ts-video.ts文件
完成转换之后,我们就可以通过VLC或者是迅雷看看播放我们转换过的ts-video.ts文件了,下图就是播放的截图。
2008-07-16
华为三康机密,未经许可不得扩散
第9页,共9页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 WireShark 工具 定位 视频 质量问题 方法