51学通信论坛2017新版
标题:
利用Wireshark解析RTP流中的1080P视频的方法_宗倧
[打印本页]
作者:
admin
时间:
2017-9-13 22:02
标题:
利用Wireshark解析RTP流中的1080P视频的方法_宗倧
[attach]105[/attach]
文字版:
视音频专栏1引言
1080P的视频是目前网络中主流
的高清视频分辨率视频,当我们在网络
中捕捉到流媒体的数据包时,如何判断
这个视频是不是1080P的视频,已经
成为流媒体工作中的首要任务。借助解
析流量的专用工具很好判断视频的分辨
率,但是没有专用的设备和工具时,要
如何判断?我们可以利用Wireshark
这款软件来判断当前的视频分辨率。
Wireshark(前称Ethereal)是
一个免费开源的网络数据包分析软件,
它能够截取网络数据包并解析出网络
上常见的协议。它的功能非常强大,
可以分析出多种常见和非常见的基本
协议,下面通过实例给大家演示如何
通过Wireshark来判断网络中的RTP
流中的1080P视频流量。
2前期准备
(1)Wireshark软件的安装
Wireshark是一款免费软件,可以
直接从官网
www.Wireshark.org
网站
上获取,本文采用的软件版本为V2.0.1。
(2)视频流的获取
本文所抓到的数据包为华为会议
电视终端在采用H.323协议进行H.264
1080P的会议时所捕捉到的数据包。
采用“h245|h225|rtp”这条过滤命令,
可以把本文所关注的数据包全过滤出
来,此数据包的前面几十包如图1所示。
3解析数据包
从数据包中可以清楚的看到采用
H.323协议进行会话的基本框架。里面
包括Setup、CallProceeding、alerting、connect等H.225的包。但是却没
有H.264的包,更看不出来是1080P
的视频,只能看出来抓到了许多的
RTP的包。其实这是因为在RTP协议
中可以采用H.261、H.263、H.264等
多种编码方式对媒体流进行打包,而
Wireshark不能智能解析出到底是采用
的什么包,这时就要靠人工来进行解析。
此时我们需要把H.323协议族中
的H.245协议过滤出来。如图2所示,
利用Wireshark解析RTP流中的
1080P视频的方法
文/国家新闻出版广电总局北京地球站宗倧
摘要:本文介绍了使用
Wireshark从H.264编码的RTP
流中分析出视频的质量和分辨
率的方法。
关键词:Wireshark分辨率
RTPH.2641080P
图1采用H.323协议的数据包
DOI:10.16045/j.cnki.rti.2016.09.009
51学通信(51xuetongxin.com),致力打造最佳的通信技术分享平台,主打IMS、EPC、NFV、云、SDN以及5G核心网等主题。
终身视频会员赠送51学通信所有原创高清视频及PDF课件,终身免费更新。有微信群答疑。
购买请联系站长爱卫生微信:gprshome201101或51学通信淘宝店:51xuetongxin.taobao.com。视音频专栏Video&Audio
.
www.rti.cn39
2016年9月月刊总第293期
可以清晰地看出H.245的呼叫流程
有TCS、MSD、OLC等流程。这时
我们需要找到openLogicalChannel
(genericVideoCapability)这个包。
我们双击此包打开它,对H.245
这一层进行展开,找到mediaPacketization字段进一步展开。找到
payloadType读出其值为105,这
个值不是固定的,而是不同厂家自己
决定的,所以Wireshark不能智能
地解析出来数据流到底是H.263还是
H.264。从图3中可以看出来,这个值
就是RTP中H.264的payloadType。
找到payloadType的值是105
后,我们在Wireshark中设置H264
中RTP中的解析payloadType。如
图4所示,在Wireshark中找到菜单
Eidt->Pre-ferences,在弹出的窗口
左侧中找到Protocols->H264,并
在右侧的H.264dynamicpayload
types中输入105。设备完成之后,
Wireshark软件就会把所有Payload
为105的RTP数据流都识别成H.264
的数据包,并做相应的解析。
设置完之后,所有payLoad为
105的RTP流就被解析成H.264的
协议了,原来只显示RTP的数据流可
以明显看出来有的被解析成H.264了。
这时要把所有H.264的数据包过滤出
来,然后从中找到Seq=1的第一个数
据包,这个数据包就是H.264流的第
一个数据包,里面有整个视频流的相
关参数,如图5所示。
把找到的数据包打开,并展开
H.264协议,找到pic_width_in_mbs_
minus1和pic_height_in_map_units_
minus1两个字段,读出相应的值为
119和67。
图2H.245协议OLC报文
图3H.264在RTP中的payloadType
图4设置payloadtype值
51学通信(51xuetongxin.com),致力打造最佳的通信技术分享平台,主打IMS、EPC、NFV、云、SDN以及5G核心网等主题。
终身视频会员赠送51学通信所有原创高清视频及PDF课件,终身免费更新。有微信群答疑。
购买请联系站长爱卫生微信:gprshome201101或51学通信淘宝店:51xuetongxin.taobao.com。视音频专栏图6I/OGraph菜单
根据ITU-TH.264协议,可以查
到计算分辨率的方法:用此字段的值加
1乘以16,就可以得出分辨率,视频
宽度为(119+1)×16=1920,视频高
度为(67+1)×16=1088,因此可得出
分辨率为1080p,从而可以确定此视频
流采用的编码方法为H.264,且分辨率
为1080P。
4帧率的查看方法
除了分辨率外,帧率也是体现视
频质量的重要指标,帧率的测量单位
为每秒显示帧数(fps)或“赫兹”(Hz)。
用Wireshark来查看视频帧率的步骤
如下。
(1)用Wireshark打开要分析的
数据包。
(2)如图6所示,找到菜单Statistics->I/OGrap。
(3)在编辑窗口中编写一条过滤
条目:
ip.src==192.168.1.100&&rtp.
marker==1
其中,192.168.1.100是发送设备
的IP地址,可以根据不同的设备设置
相应的IP地址,rtp.marker==1是过
滤出相应的视频帧率。
这时窗口上方会自动画出视频流
的帧率,由图7可以看出,数据包稳
定的时候的帧率为60fps。因此可以
得出此视频质量为1080P60fps。
5总结
Wireshark是一款功能非常强大
的抓包、协议分析软件,掌握相应的
分析技术,可以非常方便地对常用的
协议进行解析,从而帮助我们对媒体
流和相关协议有更深入的认识。
图5解析成H.264的RTP流
图7帧率分析窗口
51学通信(51xuetongxin.com),致力打造最佳的通信技术分享平台,主打IMS、EPC、NFV、云、SDN以及5G核心网等主题。
终身视频会员赠送51学通信所有原创高清视频及PDF课件,终身免费更新。有微信群答疑。
购买请联系站长爱卫生微信:gprshome201101或51学通信淘宝店:51xuetongxin.taobao.com。
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/)
Powered by Discuz! X3