机顶盒对外测试媒体播放相关问题定位思路.docx

上传人:b****5 文档编号:8638138 上传时间:2023-02-01 格式:DOCX 页数:13 大小:656.95KB
下载 相关 举报
机顶盒对外测试媒体播放相关问题定位思路.docx_第1页
第1页 / 共13页
机顶盒对外测试媒体播放相关问题定位思路.docx_第2页
第2页 / 共13页
机顶盒对外测试媒体播放相关问题定位思路.docx_第3页
第3页 / 共13页
机顶盒对外测试媒体播放相关问题定位思路.docx_第4页
第4页 / 共13页
机顶盒对外测试媒体播放相关问题定位思路.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

机顶盒对外测试媒体播放相关问题定位思路.docx

《机顶盒对外测试媒体播放相关问题定位思路.docx》由会员分享,可在线阅读,更多相关《机顶盒对外测试媒体播放相关问题定位思路.docx(13页珍藏版)》请在冰豆网上搜索。

机顶盒对外测试媒体播放相关问题定位思路.docx

机顶盒对外测试媒体播放相关问题定位思路

对外测试媒体播放相关问题定位思路

媒体播放有问题的时候,首先要想到的就是RTSP信令交互,一半的问题通过信令交互就可以判断出其原因了。

 

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/UDP

2)如果采用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:

QN1001024

Media_Queue_Length_Net_Send:

QLNS5121024

2、在网管上复位所有MSTU。

2)中兴央视所有频道都有马赛克

【问题现象】

中兴央视平台的所有频道在播放的时候都出现跳帧、马赛克等现象。

进入时移,现象依旧。

【问题分析】

A、因为VS8000C是通过MP2T/RTP/UPD方式传输媒体流,通过分析网络包的RTP序号,发现没有丢包。

B、通过FileReader.exe工具转换,生成的TS视频文件播放的时候同样出现花屏、马赛克等现象。

因为频道的码率是固定的,所以不会是因为片源的格式问题导致。

那就只有流媒体有问题,或者进入流媒体的头端流就有问题。

C、因为进入时移,现象依旧,一般情况下流媒体在透传和压缩同事出问题时,不应该只有丢包的现象了。

所以基本肯定是媒体包在进入流媒体之前就已经丢掉了。

【问题结论】

通过平台同事排查,发现进入MDU的链路是央视带宽不够的那条,当央视下推点播内容时,将会占用频道的推送带宽,频道码流没有足够的带宽,所以就出现了丢包。

通过将入口流倒换到央视正常的链路问题就解决了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1