您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 机顶盒对外测试媒体播放相关问题定位思路
对外测试媒体播放相关问题定位思路媒体播放有问题的时候,首先要想到的就是RTSP信令交互,一半的问题通过信令交互就可以判断出其原因了。播放黑屏...............................................................................................................................21、是否有流.....................................................................................................................22、直播频道黑屏,但进入时移就有图像.....................................................................43、RTSP建链正常,但是没有媒体流............................................................................4、播放花屏、马赛克、跳帧...............................................................................................63、丢包分析...................................................................................................................12不能时移................................................................................................错误!未定义书签。1、播放黑屏播放节目黑屏(没有wq图像出来),这个问题引起的原因太多了,下面将对这个现象所能遇到的原因及排查思路介绍一下。1.1、是否有流使用wireshark网络抓包工具抓取节目播放时的网络包,如果在黑屏的同时,而网络包还在不断快速的刷新(速率超过1M/S),那说明是有流下来。如果数据刷新量很少,且是各种各样的数据,那说明没有流下来。如果有流下来,但黑屏的话,一般有两个可能:机顶盒对这种编码格式的流不支持,这时可以联系梁宪10039885、赵国强10080541等编码开发同事分析这是一个DRM加密节目,需要配置对应的DRM服务器才能解码看到流。1)如果抓网络包时混杂的其他数据包过多,可以使用过滤功能将只属于机顶盒IP的网络包过滤出来。一个方法是只抓属于这个IP的网络包A、抓包开始时,先要设置网卡等条件(wireshark——Capture——Options):输入“hostIP地址”,这样就可以只抓这个IP地址(如133.40.179.75)的网络包了。B、或者在抓取的网络包中输入“ip.addr==ip地址”来过滤2)在wireshark——》Statistics——》IOGraphs,这样可以看到机顶盒的IO图,确定流的速率设置X、Y轴的单位等,就可以根据包的数量、数据量等看到波形图了。3)DRM配置使用机顶盒现场配置工具,配置对应的DRM厂商。并且要注意时区一定要保持一致。因为DRM解密是需要时间戳的。1.2、直播频道黑屏,但进入时移就有图像这个一般情况下是因为组播引起的。组播需要特殊的网络环境,如果是普通的链路,组播流没法下来,导致机顶盒虽然发送了加入组播的请求,但是网络设备实际上没有这个组播组。抓取机顶盒的网络包;或者使用monitor工具的10010端口,勾选IGMP和RTSP,判断黑屏时机顶盒是不是加入组播组。因为时移是使用RTSP建链的单播,不需要特殊的链路支持,所以在建链成功之后,就会有媒体流下来。1.3、RTSP建链正常,但是没有媒体流这个现象在与其他平台流媒体对接时最容易出现。这个是因为在UDP传输的时候,机顶盒处于NAT映射环境,而有些流媒体的UDP包没有进行相关NAT穿越处理,所以就没有传输过来给机顶盒。请看案例【问题描述】1)机顶盒接入华为平台,播放频道或者点播节目,都是黑屏,没有流下来2)通过抓取机顶盒的网络包;或者使用monitor工具的10010端口,勾选IGMP和RTSP,可以看到RTSP交互进行到GET_PARAMETER环节。一分钟后机顶盒发送TEARDOWN【问题分析】1)分析RTSP协议的SETUP命令,看到华为流媒体响应的传输方式为MP2T/RTP/UDP2)如果采用UDP方式传输,而流媒体对此方式的NAT穿越的支持不够的话,UDP传输包就没法到达机顶盒,所以表现没有媒体流【问题结论】通过配置工具将机顶盒的优先传输方式调整为MP2T/RTP/TCP传输,这样就可以有流了1.4、没有RTSP交互在点播节目的时候,进入后没有流。通过monitor工具的10010端口勾选RTSP选项,但是没有看到RTSP信令交互的过程。这个有两个可能,这些都是属于浏览器类的错误,详情请参考《机顶盒对外测试页面&浏览器相关问题定位思路_V1.0_2011-4-29.doc》:1)进入播放的时候,页面播控脚本出现JS错误,停止执行,导致还没走到mediaplayer这一步。2)页面本身没有RTSP节目的链接。这种情况较少,通过搜索页面的RTSP链接代码,确定是否没有。看以下案例:【问题描述】接入华为平台央视模板,在回看页面,选择一个回看节目,进入后,发现没有视频流下来,屏幕黑屏。【问题分析】在进入页面play_controlTVod.jsp时存在一处JS错误导致页面没法往下走正常流程mphasnoproperties这个JS错误的原因就是这个mp对象并未定义,看了一下页面是定义的调用mp之后,所以必然找不到这个对象,从而导致了JS错误。出现JS错误的代码截图:上面这段代码对应的行号为96行,而mp这个对象定义时在下面截图:定义这个mediaplayer对象是在122行,这种写法在IE、opera、firefox都不支持。【问题结论】从上面分析看出看来这段代码是没用的代码,只是用来定义一个变量,即使去取也是取不到时间,因为当前媒体根本还未打开,可以改成如下varcurrTime=0;然后在初始化后再去取当前播放时间即可:即在函数initMediaPlay里加上如下写法:functioninitMediaPlay(){varinstanceId=mp.getNativePlayerInstanceID();currTime=mp.getCurrentPlayTime();…}2、播放花屏、马赛克、跳帧一个节目播放过程中出现花屏、马赛克或者跳帧的现象。这个现象出现的原因主要是出现了丢包,我们主要是确认其在哪个环节出现丢包。2.1、media600工具media600工具可以用来抓取机顶盒的VOD模块的媒体包,但不是每个版本都支持该工具。在“媒体文件保存路径”里面创建文件后,在“单板地址”里面输入机顶盒的地址,然后按连接就可以抓取到在VOD模块的媒体包了。1)如果media600抓取的媒体流不卡顿,那说明机顶盒的解码器模块有问题了。如果media600抓取的网络包也卡顿,那这时候要排查网口的网络包了2.2、FileReader工具FileReader是可以将有RTP封装的TCP传输包,或者UDP传输包转化为TS流的工具。判断网络包是否有丢包,有以下几种方法:1)媒体流使用MP2T/RTP/TCP传输,FileReader生成TS文件。A、打开FileReader——RTP2TS,就是将RTP封装的TCP流转换为TS格式文件MP2T/RTP/TCP格式媒体流注意:RTP2TS选项一定要对应MP2T/RTP/TCP格式媒体流的网络包。过几秒钟后弹出提示框这样在与网络包同一个目录底下就可以看到生成的ts格式文件。2)媒体流使用MP2T/RTP/UDP传输,FileReader生成TS文件MP2T/RTP/UDP格式媒体流按照上面的操作,可以将UDP传输的媒体流转换为TS流。3)媒体流使用MP2T/RTP/UDP传输,通过wireshark计算丢包率。A、选择一个UDP媒体流,右键——DecodeAs,B、在Transport选项卡中选择“RTP”这样就可以将网络包转换为可以看到RTP封装序号的包,如果序号不连续,那就是丢包了。注意:如果是音频文件,直接是看不到它序号的。但是可以通过它的包解析可以看到序号。如下图选中的MPEG-1文件对应的序号为“10680”C、统计丢包率。在网络包的RTP格式呈现下,wireshark——Telephony——RTP——ShowAllStreams,就可以统计出它的丢包率了。2.3、丢包分析如果通过以上的第三种方法,可以看到有丢包率的话,并且在RTP格式下能找到丢包的序号,那就说明从流媒体到机顶盒的网络链路有问题,存在丢包现象,这时候需要排查网络原因了。但是通过网络包序号分析,没有出现丢包的现象,但是视频在播放的时候还是存在卡顿、跳帧、马赛克等现象,这是什么回事呢?请看下面两个经典案例:1)高清片源前一两分钟存在卡顿【问题现象】点播中兴平台高清片源(例如“K歌情人”),在开始播放的时候很卡,图像总是跳帧,但是过了一、两分钟后,播放就恢复正常。【问题分析】A、因为VS8000C是通过MP2T/RTP/UPD方式传输媒体流,通过分析网络包的RTP序号,发现没有丢包。B、通过FileReader.exe工具转换,发现时长为两分钟的网络包转换成TS媒体流后只有20秒。也就是初步可以得到结论:流媒体将20秒长度的媒体流拉成到2分钟发送。C、Statistics——IOGraphs,可以看到流媒体发流的波形图是递增的,也就是前面发送的速率小于媒体流的正常速率,所以机顶盒没有接收到足够的媒体包,导致卡顿。后面流媒体恢复以大于或等于媒体流的速率发包,所以表现正常。【问题结论】需要流媒体排查原因。经过黄华堂的排查,结论:问题已经查清,是由于这个片源比较特殊,一开始有个波峰,把发送缓冲区(默认配置为512)填满并溢出,且有一段时间一直是满的。而发送速率则由缓冲区里包的变化快慢来决定。所以此时会以很低的速率发包。解决方法是增大MediaDest缓存大小为1024。这样的缺点是每个用户占用的内存增加,并发用户数目会减少。解决办法是:1、在网管上修改如下两个SS参数:全称网管显示名默认值修改后Queue_Number_Size_1024:QN1001024Media_Queue_Length_Net_Send:QLNS51210242、在网管上复位所有MSTU。2)中兴央视所有频道都有马赛克【问题现象】中兴央视平台的所有频道在播放的时候都出现跳帧、马赛克等现象。进入时移,现象依旧。【问题分析】A、因为VS8000C是通过MP2T/RTP/UPD方式传输媒体流,通过分析网络包的RTP序号,发现没有丢包。B、通过FileReader.exe工具转换,生成的TS视频文件播放的时候同样出现花屏、马赛克等现象。因为频道的码率是固定的,所以不会是因为片源的格式问题导致。那就只有流媒体有问题,或者进入流媒体的头端流就有问题。C、因为进入时移,现象依旧,一般情况下流媒体在透传和压缩同事出问题时,不应该只有丢包的现象了。所以基本肯定是媒体包在进入流媒体之前就已经丢掉了。【问题结论】通过平台同事排查,发现进入MDU的链路是央视带宽不够的那条,当央视下推点播内容时,将会占用频道的推送带宽,频道码流没有足够的带宽,所以就出现了丢包。通过将入口流倒换到央视正常的链路问题就解决了。
本文标题:机顶盒对外测试媒体播放相关问题定位思路
链接地址:https://www.777doc.com/doc-2328739 .html