一种视频文件播放的方法、设备和系统的制作方法

文档序号:9436560阅读:229来源:国知局
一种视频文件播放的方法、设备和系统的制作方法
【技术领域】
[0001]本发明涉及无线多媒体技术,尤其涉及一种视频文件播放的方法、设备和系统。
【背景技术】
[0002]当前,移动互联网的大多数视频直播业务都基于超文本传输协议(HTTP,Hypertext Transfer Protocol)实时流媒体(HLS,HTTP Live Streaming)协议实现,其具体的实现过程为:在服务器端将直播数据流存储为连续的、很短时长的切片文件(如MPEG-TS格式),而客户端则不断地下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停地按顺序播放从服务器获取到的文件,就实现了直播。
[0003]为了能够让客户端按照顺序对切片文件进行下载,服务器还需要在生成切片文件时不断更新切片文件的索引文件,具体可以是M3U8文件,客户端可以通过访问M3U8文件并按索引下载切片文件进行播放。
[0004]但是这样的播放方式,会造成客户端下载切片文件和访问M3U8文件需要分别建立两个TCP连接并且需要串行实现,也就是说当客户端访问更新的M3U8文件时,客户端对切片文件的下载是停滞的。从而使得当无线网络性能波动引起客户端访问更新的M3U8文件列表的时长过大时,有可能出现客户端的缓存区被清空、视频播放出现卡顿的现象。

【发明内容】

[0005]本发明实施例期望提供一种视频文件播放的方法、设备和系统,降低无线网络性能对视频播放性能的影响。
[0006]为解决上述技术问题,本发明的技术方案是这样实现的:
[0007]第一方面,本发明实施例提供了一种视频文件播放的方法,所述方法包括:
[0008]终端从代理服务器或视频服务器下载切片文件之后,确定下载所述切片文件时的网络性能和/或自身的内存状态;
[0009]当所述网络性能和/或所述终端的内存状态为异常状态时,所述终端向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
[0010]所述终端接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
[0011]根据第一种可能的实现方式,结合第一方面,所述终端确定下载所述切片文件时的网络性能,包括:
[0012]所述终端确定从所述代理服务器或所述视频服务器接收传输控制协议TCP数据包的交互时长的标准差不符合第一判定规则,或确定从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,所述终端确定下载所述切片文件的网络性能为异常状态。
[0013]根据第二种可能的实现方式,结合第一方面,所述终端确定下载所述切片文件时的自身的内存状态,包括:
[0014]所述终端确定从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,所述终端确定下载所述切片文件时的自身的内存状态为异常状态。
[0015]根据第三种可能的实现方式,结合第一种或第二种可能的实现方式,所述第一判定规则包括:所述终端从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;
[0016]所述第二判定规则包括:所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间;
[0017]所述第三判定规则包括:所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。
[0018]根据第四种可能的实现方式,结合第一方面,所述方法还包括:
[0019]所述终端向所述代理服务器发送视频播放请求消息;
[0020]所述终端接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
[0021]第二方面,本发明实施例提供了一种视频文件播放的方法,所述方法包括:
[0022]代理服务器接收终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
[0023]所述代理服务器根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址;
[0024]所述代理服务器根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
[0025]所述代理服务器向所述终端发送所述下一个切片文件。
[0026]根据第一种可能的实现方式,结合第二方面,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量。
[0027]根据第二种可能的实现方式,结合第一种可能的实现方式,所述代理服务器根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址,包括:
[0028]所述代理服务器根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号,其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
[0029]所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
[0030]根据第三种可能的实现方式,结合第一种可能的实现方式,所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,包括:
[0031]所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
[0032]所述代理服务器确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,从所述视频服务器获取更新的切片文件的索引文件,并从所述更新的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址,其中,所述更新的切片文件的索引文件包括所述下一个切片文件编号、所述下一个切片文件数据大小以及所述下一个切片文件在所述视频服务器上的下载地址;
[0033]所述代理服务器确定当前已获取的切片文件的索引文件中包括所述下一个切片文件的编号时,从所述当前已获取的切片文件的索引文件获取所述下一个切片文件在所述视频服务器上的下载地址。
[0034]根据第四种可能的实现方式,结合第二方面,所述方法还包括:
[0035]所述代理服务器接收所述终端发送的视频播放请求消息,所述视频播放请求消息包括所述视频服务器的域名地址;
[0036]所述代理服务器根据所述视频服务器的域名地址进行域名系统DNS解析,获取所述视频服务器的互联网协议IP地址;
[0037]所述代理服务器根据所述视频服务器的IP地址从所述视频服务器获取首个切片文件;
[0038]所述代理服务器向所述终端发送所述首个切片文件。
[0039]第三方面,本发明实施例提供了一种终端,所述终端包括:确定单元、发送单元和接收单元,其中,
[0040]所述确定单元,用于所述接收单元从代理服务器或视频服务器下载切片文件之后,确定下载切片文件时的网络性能和/或所述终端自身的内存状态;
[0041]所述发送单元,用于当所述确定单元确定所述网络性能和/或所述终端自身的内存状态为异常状态时,向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
[0042]所述接收单元,用于接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
[0043]根据第一种可能的实现方式,结合第三方面,所述确定单元,用于确定所述接收单元从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差不符合第一判定规则,或确定所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,确定所述接收单元下载所述切片文件的网络性能为异常状态。
[0044]根据第二种可能的实现方式,结合第三方面,所述确定单元,用于确定所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,确定所述接收单元下载所述切片文件时的所述终端自身的内存状态为异常状态。
[0045]根据第三种可能的实现方式,结合第一种或第二种可能的实现方式,所述第一判定规则包括:所述接收单元从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;
[0046]所述第二判定规则包括:所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间;
[0047]所述第三判定规则包括:所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。
[0048]根据第四种可能的实现方式,结合第三方面,所述发送单元,还用于向所述代理服务器发送视频播放请求消息;
[0049]所述接收单元,还用于接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
[0050]第四方面,本发明实施例提供了一种代理服务器,所述代理服务器可以包括接收单元,获取单元和发送单元,其中,
[0051]所述接收单元,用于接收终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
[0052]所述获取单元,用于根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址;
[0053]所述接收单元,用于根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
[0054]所述发送单元,用于向所述终端发送所述下一个切片文件。
[0055]根据第一种可能的实现方式,结合第四方面,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量。
[0056]根据第二种可能的实现方式,结合第一种可能的实现方式,所述获取单元包括:获取模块和查找模块,其中,
[0057]所述获取模块,用于根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号,其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
[0058]所述查找模块,用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
[0059]根据第三种可能的实现方式,结合第一种可能的实现方式,所述查找模块,用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
[0060]所述查找模块确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,触发获取模块从所述视频服务器获取更新的切
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1