CN105187950B - 一种视频文件播放的方法、设备和系统 - Google Patents

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

Info

Publication number
CN105187950B
CN105187950B CN201410233846.XA CN201410233846A CN105187950B CN 105187950 B CN105187950 B CN 105187950B CN 201410233846 A CN201410233846 A CN 201410233846A CN 105187950 B CN105187950 B CN 105187950B
Authority
CN
China
Prior art keywords
file
slice
terminal
proxy server
slice file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410233846.XA
Other languages
English (en)
Other versions
CN105187950A (zh
Inventor
王春波
王辉
张勇
王海波
张武志
米凯
刘波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Group Inner Mongolia Co Ltd
Original Assignee
China Mobile Group Inner Mongolia Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Group Inner Mongolia Co Ltd filed Critical China Mobile Group Inner Mongolia Co Ltd
Priority to CN201410233846.XA priority Critical patent/CN105187950B/zh
Publication of CN105187950A publication Critical patent/CN105187950A/zh
Application granted granted Critical
Publication of CN105187950B publication Critical patent/CN105187950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种视频文件播放的方法、设备和系统,终端通过对网络性能和自身内存条件的判断来确定从代理服务器或视频服务器下载切片文件,从而降低了无线网络性能对视频播放性能的影响;该方法可以包括:终端从代理服务器或视频服务器下载切片文件之后,确定下载所述切片文件时的网络性能和/或自身的内存状态;当所述网络性能和/或所述终端的内存状态为异常状态时,所述终端向所述代理服务器发送第一业务请求消息;所述终端接收所述代理服务器下发的下一个切片文件。

Description

一种视频文件播放的方法、设备和系统
技术领域
本发明涉及无线多媒体技术,尤其涉及一种视频文件播放的方法、设备和系统。
背景技术
当前,移动互联网的大多数视频直播业务都基于超文本传输协议(HTTP,Hypertext Transfer Protocol)实时流媒体(HLS,HTTP Live Streaming)协议实现,其具体的实现过程为:在服务器端将直播数据流存储为连续的、很短时长的切片文件(如MPEG-TS格式),而客户端则不断地下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停地按顺序播放从服务器获取到的文件,就实现了直播。
为了能够让客户端按照顺序对切片文件进行下载,服务器还需要在生成切片文件时不断更新切片文件的索引文件,具体可以是M3U8文件,客户端可以通过访问M3U8文件并按索引下载切片文件进行播放。
但是这样的播放方式,会造成客户端下载切片文件和访问M3U8文件需要分别建立两个TCP连接并且需要串行实现,也就是说当客户端访问更新的M3U8文件时,客户端对切片文件的下载是停滞的。从而使得当无线网络性能波动引起客户端访问更新的M3U8文件列表的时长过大时,有可能出现客户端的缓存区被清空、视频播放出现卡顿的现象。
发明内容
本发明实施例期望提供一种视频文件播放的方法、设备和系统,降低无线网络性能对视频播放性能的影响。
为解决上述技术问题,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种视频文件播放的方法,所述方法包括:
终端从代理服务器或视频服务器下载切片文件之后,确定下载所述切片文件时的网络性能和/或自身的内存状态;
当所述网络性能和/或所述终端的内存状态为异常状态时,所述终端向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
所述终端接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
根据第一种可能的实现方式,结合第一方面,所述终端确定下载所述切片文件时的网络性能,包括:
所述终端确定从所述代理服务器或所述视频服务器接收传输控制协议TCP数据包的交互时长的标准差不符合第一判定规则,或确定从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,所述终端确定下载所述切片文件的网络性能为异常状态。
根据第二种可能的实现方式,结合第一方面,所述终端确定下载所述切片文件时的自身的内存状态,包括:
所述终端确定从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,所述终端确定下载所述切片文件时的自身的内存状态为异常状态。
根据第三种可能的实现方式,结合第一种或第二种可能的实现方式,所述第一判定规则包括:所述终端从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;
所述第二判定规则包括:所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间;
所述第三判定规则包括:所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。
根据第四种可能的实现方式,结合第一方面,所述方法还包括:
所述终端向所述代理服务器发送视频播放请求消息;
所述终端接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
第二方面,本发明实施例提供了一种视频文件播放的方法,所述方法包括:
代理服务器接收终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
所述代理服务器根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址;
所述代理服务器根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
所述代理服务器向所述终端发送所述下一个切片文件。
根据第一种可能的实现方式,结合第二方面,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量。
根据第二种可能的实现方式,结合第一种可能的实现方式,所述代理服务器根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址,包括:
所述代理服务器根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号,其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
根据第三种可能的实现方式,结合第一种可能的实现方式,所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,包括:
所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
所述代理服务器确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,从所述视频服务器获取更新的切片文件的索引文件,并从所述更新的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址,其中,所述更新的切片文件的索引文件包括所述下一个切片文件编号、所述下一个切片文件数据大小以及所述下一个切片文件在所述视频服务器上的下载地址;
所述代理服务器确定当前已获取的切片文件的索引文件中包括所述下一个切片文件的编号时,从所述当前已获取的切片文件的索引文件获取所述下一个切片文件在所述视频服务器上的下载地址。
根据第四种可能的实现方式,结合第二方面,所述方法还包括:
所述代理服务器接收所述终端发送的视频播放请求消息,所述视频播放请求消息包括所述视频服务器的域名地址;
所述代理服务器根据所述视频服务器的域名地址进行域名系统DNS解析,获取所述视频服务器的互联网协议IP地址;
所述代理服务器根据所述视频服务器的IP地址从所述视频服务器获取首个切片文件;
所述代理服务器向所述终端发送所述首个切片文件。
第三方面,本发明实施例提供了一种终端,所述终端包括:确定单元、发送单元和接收单元,其中,
所述确定单元,用于所述接收单元从代理服务器或视频服务器下载切片文件之后,确定下载切片文件时的网络性能和/或所述终端自身的内存状态;
所述发送单元,用于当所述确定单元确定所述网络性能和/或所述终端自身的内存状态为异常状态时,向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
所述接收单元,用于接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
根据第一种可能的实现方式,结合第三方面,所述确定单元,用于确定所述接收单元从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差不符合第一判定规则,或确定所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,确定所述接收单元下载所述切片文件的网络性能为异常状态。
根据第二种可能的实现方式,结合第三方面,所述确定单元,用于确定所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,确定所述接收单元下载所述切片文件时的所述终端自身的内存状态为异常状态。
根据第三种可能的实现方式,结合第一种或第二种可能的实现方式,所述第一判定规则包括:所述接收单元从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;
所述第二判定规则包括:所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间;
所述第三判定规则包括:所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。
根据第四种可能的实现方式,结合第三方面,所述发送单元,还用于向所述代理服务器发送视频播放请求消息;
所述接收单元,还用于接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
第四方面,本发明实施例提供了一种代理服务器,所述代理服务器可以包括接收单元,获取单元和发送单元,其中,
所述接收单元,用于接收终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
所述获取单元,用于根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址;
所述接收单元,用于根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
所述发送单元,用于向所述终端发送所述下一个切片文件。
根据第一种可能的实现方式,结合第四方面,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量。
根据第二种可能的实现方式,结合第一种可能的实现方式,所述获取单元包括:获取模块和查找模块,其中,
所述获取模块,用于根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号,其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
所述查找模块,用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
根据第三种可能的实现方式,结合第一种可能的实现方式,所述查找模块,用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
所述查找模块确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,触发获取模块从所述视频服务器获取更新的切片文件的索引文件,并从所述更新的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址,其中,所述更新的切片文件的索引文件包括所述下一个切片文件编号、所述下一个切片文件数据大小以及所述下一个切片文件在所述视频服务器上的下载地址;
所述查找模块确定当前已获取的切片文件的索引文件中包括所述下一个切片文件的编号时,触发获取模块从所述当前已获取的切片文件的索引文件获取所述下一个切片文件在所述视频服务器上的下载地址。
根据第四种可能的实现方式,结合第四方面,所述接收单元,还用于接收所述终端发送的视频播放请求消息,所述视频播放请求消息包括所述视频服务器的域名地址;
所述代理服务器还包括解析单元,用于根据所述视频服务器的域名地址进行域名系统DNS解析,获取所述视频服务器的互联网协议IP地址;
所述接收单元,还用于根据所述视频服务器的IP地址从所述视频服务器获取首个切片文件;
所述发送单元,还用于向所述终端发送所述首个切片文件。
第五方面,本发明实施例提供了一种视频文件播放的系统,所述系统包括终端、代理服务器和视频服务器,其中,
所述终端,用于确定下载所述切片文件时的网络性能和/或自身的内存状态;
以及当所述网络性能和/或所述终端的内存状态为异常状态时,向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
以及接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
所述代理服务器,用于接收所述终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
以及根据所述终端当前已下载的切片文件信息获取下一个切片文件在所述视频服务器上的下载地址;
以及根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
以及向所述终端发送所述下一个切片文件。
本发明实施例提供了一种视频文件播放的方法、设备和系统,终端通过对网络性能和/或自身内存条件的判断来确定从代理服务器或视频服务器下载切片文件,从而降低了无线网络性能对视频播放性能的影响。
附图说明
图1为本发明实施例提供的视频文件播放方法的应用网络结构示意图;
图2为本发明实施例提供的一种视频文件播放的方法流程示意图;
图3为本发明实施例提供的一种终端从视频服务器下载下一个切片文件的流程示意图;
图4为本发明实施例提供的一种终端通过代理服务器进行下载视频文件的首个切片文件的流程示意图;
图5为本发明实施例提出的另一种视频文件播放的方法流程示意图;
图6为本发明实施例提出的一种代理服务器根据终端当前已下载的切片文件的数据量得到下一个切片文件在视频服务器上的下载地址的流程示意图;
图7为本发明实施例提出的一种代理服务器根据下一个切片文件的编号得到下一个切片文件在视频服务器上的下载地址的流程示意图;
图8为本发明实施例提出的一种代理服务器向终端下发视频文件的首个切片文件的流程示意图;
图9为本发明实施例提供的一种视频文件播放的方法的详细流程示意图;
图10为本发明实施例提供的一种终端从代理服务器下载下一个MPEG-TS文件的流程示意图;
图11为本发明实施例提供的一种终端从视频服务器下载下一个MPEG-TS文件的流程示意图;
图12为本发明实施例提供的一种终端的结构示意图;
图13为本发明实施例提供的另一种终端的结构示意图;
图14为本发明实施例提供的一种代理服务器的结构示意图;
图15为本发明实施例提供的另一种代理服务器的结构示意图;
图16为本发明实施例提供的一种视频文件播放的系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
请参考图1,其示出了本发明实施例提供的视频文件播放方法的应用网络结构图。在本网络结构中,包括视频服务器、代理服务器和终端,在本网络结构中,视频服务器通过有线或者无线的方式分别与代理服务器和终端进行连接,如图1中双向箭头所示,用于实现视频服务器分别与代理服务器和终端互联;代理服务器也可以通过有线或者无线的方式与终端进行连接,如图1中双向箭头所示,用于实现与终端的互联。
其中,终端可以是手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3播放器(MP3,Moving Picture Experts Group Audio Layer III)、动态影像专家压缩标准音频层面4(MP4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、台式计算机以及智能电视等等。
本实施例中提到的客户端可以是用于播放视频文件的客户端,该客户端可以运行在终端中。
参见图2,其示出了本发明实施例提供的一种视频文件播放的方法流程示意图,该方法可以应用在终端中,如图2所示,该方法可以包括:
S201:终端从代理服务器或视频服务器下载切片文件之后,确定下载所述切片文件时的网络性能和/或所述终端自身的内存状态;
需要说明的是,切片文件可以是视频服务器将需要播放的视频文件分割成连续的、很短时长的媒体文件来得到。
具体地,终端可以在从所述代理服务器或所述视频服务器下载切片文件时,可以记录每一次从所述代理服务器或所述视频服务器接收传输控制协议(TCP,TransmissionControl Protocol)数据包的交互时长、每一次从所述代理服务器或所述视频服务器接收TCP数据包时的内存占用率以及从代理服务器或视频服务器下载所述切片文件过程的平均下载速率,并且可以根据这些记录下来的数据确定下载所述切片文件时的网络性能和/或自身的内存状态;
可以理解地,终端可以在这些记录数据的基础上确定下载所述切片文件时的网络性能和/或自身的内存状态,具体包括:
一方面,所述终端确定从所述代理服务器或所述视频服务器接收传输控制协议TCP数据包的交互时长的标准差不符合第一判定规则,或所述终端确定从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,所述终端可以确定下载所述切片文件网络性能为异常状态。
另一方面,所述终端确定从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,所述终端确定下载所述切片文件时的自身的内存状态为异常状态。
优选地,前述的符合第一判定规则可以是所述终端从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;同样的,符合第二判定规则可以是所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间;符合第三判定规则可以是所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。需要说明的是,第一阈值上限、第一阈值下限、第二阈值上限、第二阈值下限、第三阈值上限和第三阈值下限都可以预先根据经验数据或者下载时的实际情况进行具体地设置,本实施例中不作具体限定。
S202:当所述网络性能和/或所述终端的内存状态为异常状态时,所述终端向所述代理服务器发送第一业务请求消息;
示例性地,所述第一业务请求消息可以用于请求所述代理服务器发送下一个切片文件,其中,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;优选地,所述终端当前已下载的切片文件信息可以包括所述终端当前已下载的切片文件的数据量。
S203:终端接收所述代理服务器下发的下一个切片文件;
可以理解地,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
示例性地,当终端通过S201确定网络性能和所述终端自身的内存状态均为正常状态时,所述终端可以直接从视频服务器下载切片文件,如图3所示,所述终端直接从视频服务器下载切片文件的过程可以包括:
S301:所述终端向所述视频服务器发送第二业务请求消息;
S302:所述终端接收所述视频服务器发送的切片文件的索引文件,其中,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系;
S303:所述终端根据当前已下载的切片文件搜索所述索引文件,获取所述下一个切片文件的编号及所述下一个切片文件在所述视频服务器上的下载地址;
S304:所述终端根据所述下一个切片文件在所述视频服务器上的下载地址从所述视频服务器下载所述下一个切片文件。
需要说明的是,终端在从所述代理服务器或者所述视频服务器下载下一个切片文件之后,需要重复执行S201以确定网络性能及终端自身的内存状态,并在当网络性能和/或终端自身的内存状态为异常状态时,通过S202至S203从代理服务器下载后续的切片文件;当网络性能和终端自身的内存状态均为正常状态时,通过S301至S304从视频服务器下载后续的切片文件,直至需要播放的视频文件的所有切片文件均下载完毕。
还需要说明的是,当终端最初开始播放视频文件时,需要通过代理服务器进行下载视频文件的首个切片文件,如图4所示,具体过程可以包括:
S401:所述终端向所述代理服务器发送视频播放请求消息;
S402:所述终端接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
本实施例提供了一种视频文件播放的方法,终端通过对网络性能和自身内存条件的判断来确定从代理服务器或视频服务器下载切片文件,从而降低了无线网络性能对视频播放性能的影响。
参见图5,其示出了本发明实施例提出的另一种视频文件播放的方法流程示意图,该方法可以应用在代理服务器中,如图5所示,该方法可以包括:
S501:代理服务器接收终端发送的第一业务请求消息;
其中,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;优选地,所述终端当前已下载的切片文件信息可以包括所述终端当前已下载的切片文件的数据量。
S502:代理服务器根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址;
优选地,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量,相应地,如图6所示,S502具体可以包括S5021和S5022:
S5021:代理服务器根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号;
其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
例如,当下一个切片文件的编号为N+1时,那么,从编号1至编号N的所有切片文件的数据量总和等于所述终端当前已下载的切片文件数据量。因此具体的获取过程可以通过代理服务器通过对每个编号的切片文件之前的所有切片文件的数据量总和与所述终端当前已下载的切片文件数据量进行对比,当两者相等时,代理服务器就获取到下一个切片文件的编号。
S5022:代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址;
其中,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
具体地,如图7所示,S5022具体可以包括S50221至S50223:
S50221:代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
S50222:所述代理服务器确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,从所述视频服务器获取更新的切片文件的索引文件,并从所述更新的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址;
其中,所述更新的切片文件的索引文件包括所述下一个切片文件编号、所述下一个切片文件数据大小以及所述下一个切片文件在所述视频服务器上的下载地址;
S50223:所述代理服务器确定当前已获取的切片文件的索引文件中包括所述下一个切片文件的编号时,从所述当前已获取的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址。
S503:代理服务器根据所述下一个切片文件在视频服务器上的下载地址下载所述下一个切片文件;
S504:代理服务器向所述终端发送所述下一个切片文件。
需要说明的是,每当终端需要从所述代理服务器下载下一个切片文件时,代理服务器都需要执行S501至S504,直至终端将播放文件的所有切片文件均下载完成。
还需要说明的是,当终端最初开始播放视频文件时,需要通过代理服务器进行下载视频文件的首个切片文件,此时,如图8所示,代理服务器向终端下发视频文件的首个切片文件的过程具体可以包括:
S801:代理服务器接收终端发送的视频播放请求消息,所述视频播放请求消息包括视频服务器的域名地址;
S802:代理服务器根据视频服务器的域名地址进行域名系统(DNS,Domain NameSystem)解析,获取视频服务器的互联网协议(IP,Internet Protocol)地址;
S803:代理服务器根据视频服务器的IP地址从所述视频服务器获取首个切片文件;
S804:代理服务器向所述终端发送所述首个切片文件。
结合图1所示的网络结构,在前述图2至图8所示的实施例的基础上,参见图9,其示出了本发明实施例提供的一种视频文件播放方法的详细流程,在本实施例中,需播放的视频文件可以是网上实时直播的数据流,需播放的视频文件的切片文件具体可以是动态图像专家组传输流(MPEG-TS,Moving Pictures Experts Group/Motion Pictures ExpertsGroup-Transport Stream)文件,而切片文件的索引文件可以是M3U8文件,该详细流程可以包括:
S901:终端向代理服务器发送视频播放请求消息;
其中,所述视频播放请求消息包括视频服务器的域名地址;
S902:代理服务器根据视频服务器的域名地址进行域名系统DNS解析,获取视频服务器的互联网协议IP地址;
S903:代理服务器根据视频服务器的IP地址从所述视频服务器获取首个MPEG-TS文件;
示例性地,具体的获取过程可以是代理服务器首先从视频服务器获取M3U8文件,然后根据M3U8文件对MPEG-TS文件进行下载,并且在此次以及后续对MPEG-TS文件下载时,从代理服务器处更新M3U8文件。
S904:代理服务器将首个MPEG-TS文件下发给所述终端;
S905:终端在下载首个MPEG-TS文件时,记录每一次从代理服务器接收TCP数据包的交互时长、每一次从所述代理服务器接收TCP数据包时的内存占用率以及从代理服务器下载首个MPEG-TS文件时的平均下载速率;
S906:终端从代理服务器下载完首个MPEG-TS文件之后,确定下载首个MPEG-TS文件时的网络性能及终端自身的内存状态;
具体地,结合S905的记录数据,终端确定网络性能及终端自身的内存状态的方式可以是:
当终端从所述代理服务器下载首个MPEG-TS文件时接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间,且终端从所述代理服务器下载首个MPEG-TS文件时的平均下载速率处于第二阈值上限与第二阈值下限之间时,终端确定网络性能为正常状态;
当终端从所述代理服务器下载首个MPEG-TS文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间时,终端确定自身的内存状态是正常状态;
当终端从所述代理服务器下载首个MPEG-TS文件时接收TCP数据包的交互时长的标准差未处于第一阈值上限与第一阈值下限之间,或终端从所述代理服务器下载首个MPEG-TS文件时的平均下载速率未处于第二阈值上限与第二阈值下限之间时,终端确定网络性能为异常状态;
当终端从所述代理服务器下载首个MPEG-TS文件时的内存占用率的标准差未处于第三阈值上限与第三阈值下限之间时,终端确定自身的内存状态为异常状态。
随后,终端可以根据网络性能及终端自身的内存状态来考虑从何处下载下一个MPEG-TS文件,具体为:
当终端确定网络性能和/或自身的内存状态为异常状态时,S907A:终端从代理服务器下载下一个MPEG-TS文件;
当终端确定网络性能和/或自身的内存状态为正常状态时,S907A:终端从视频服务器下载下一个MPEG-TS文件。
进一步地,在图9的基础上,如图10所示,S907A:终端从代理服务器下载下一个MPEG-TS文件的过程可以包括:
S9071A:终端向所述代理服务器发送第一业务请求消息;
其中,第一业务请求消息可以用于请求代理服务器发送下一个MPEG-TS文件,而所述第一业务请求消息可以包括所述终端当前已下载的MPEG-TS文件的数据量。
S9072A:代理服务器根据终端当前已下载的MPEG-TS文件的数据量查找代理服务器当前已获取的M3U8文件,得到下一个MPEG-TS文件在视频服务器上的下载地址;
其中,所述M3U8文件包括MPEG-TS文件编号、MPEG-TS文件数据大小及MPEG-TS文件在视频服务器上的下载地址三者之间的映射关系。本实施例中优选地可以通过映射表来实现。
具体地,如图10所述,S9072A具体可以包括:
S9072A1:代理服务器可以根据终端当前已下载的MPEG-TS文件的数据量获取所述下一个MPEG-TS文件的编号;
其中,所述下一个MPEG-TS文件的编号之前的所有MPEG-TS文件的数据量总和等于所述终端当前已下载的MPEG-TS文件的数据量。
例如,当下一个MPEG-TS文件的编号为N+1时,那么,从编号1至编号N的所有MPEG-TS文件的数据量总和等于所述终端当前已下载的MPEG-TS文件数据量。因此具体地获取过程可以通过代理服务器通过对每个编号的MPEG-TS文件之前的所有切片文件的数据量总和与所述终端当前已下载的MPEG-TS文件数据量进行对比,当两者相等时,代理服务器就获取到下一个MPEG-TS文件的编号。
S9072A2:代理服务器根据所述下一个MPEG-TS文件的编号查找所述代理服务器当前已获取的M3U8文件,得到所述下一个MPEG-TS文件在视频服务器上的下载地址;
需要说明的是,S9072A2可以进一步包括:
S9072A21:代理服务器根据所述下一个MPEG-TS文件的编号查找所述代理服务器当前已获取的M3U8文件,确定代理服务器当前已获取的M3U8文件中是否包括所述下一个MPEG-TS文件的编号;
S9072A22:代理服务器当前已获取的M3U8文件中不包括所述下一个MPEG-TS文件的编号时,从所述视频服务器获取更新的M3U8文件,
其中,所述更新的M3U8文件包括所述下一个MPEG-TS文件的编号以及所述下一个MPEG-TS文件在所述视频服务器上的下载地址;
S9072A23:代理服务器当前已获取的M3U8文件中包括所述下一个MPEG-TS文件的编号时,从所述当前已获取的M3U8文件中获取所述下一个MPEG-TS文件在所述视频服务器上的下载地址。
S9073A:代理服务器根据所述下一个MPEG-TS文件在视频服务器上的下载地址下载所述下一个MPEG-TS文件;
S9074A:终端从代理服务器下载所述下一个MPEG-TS文件。
进一步地,在图9的基础上,如图11所示,S907B:终端从视频服务器下载下一个MPEG-TS文件,可以包括:
S9071B:终端向视频服务器发送第二业务请求消息;
其中,所述第二业务请求消息用于向所述视频服务器请求下一个MPEG-TS文件,也可以包括终端当前已下载的MPEG-TS文件的数据量;
S9072B:视频服务器根据第二业务请求消息向终端发送M3U8文件;
其中,M3U8文件包括MPEG-TS文件的编号、数据大小及MPEG-TS文件在视频服务器上的下载地址三者之间的映射关系。
S9073B:终端根据当前已下载的MPEG-TS文件搜索所述M3U8文件,获取所述下一个MPEG-TS文件的编号及所述下一个MPEG-TS文件在所述视频服务器上的下载地址;
S9074B:终端根据所述下一个MPEG-TS文件在所述视频服务器上的下载地址从所述视频服务器下载所述下一个MPEG-TS文件。
可以理解地,S9071B至S9074B的过程与现有技术中终端直接从视频服务器下载MPEG-TS文件的过程相同,在此不再详细赘述。
需要说明的是,终端根据S9074A或S9074B下载下一个MPEG-TS文件时的,仍然可以按照S905对下载下一个MPEG-TS文件时的相关数据进行记录,并按照S906确定下载下一个MPEG-TS文件时的网络性能和/或自身的内存状态,以及根据下载下一个MPEG-TS文件时的网络性能和/或自身的内存状态确定从代理服务器或者视频服务器下载下一个之后的MPEG-TS文件,具体的从代理服务器下载的过程如S9071A至S9074A所述,从视频服务器下载的过程如S9071B至S9074B所述,在此不再赘述,直至终端将需播放的视频文件的最后一个MPEG-TS文件下载完毕。
本实施例提供了一种视频文件播放的方法详细流程,终端通过对网络性能和自身内存条件的判断来确定从代理服务器或视频服务器下载MPEG-TS文件,从而降低了无线网络性能对视频播放性能的影响。
参见图12,其示出了本发明实施例提供的一种终端120,该终端可以包括:确定单元1201、发送单元1202和接收单元1203,其中,
所述确定单元1201,用于所述接收单元1203从代理服务器或视频服务器下载切片文件之后,确定下载切片文件时的网络性能和/或终端120自身的内存状态;
所述发送单元1202,用于当所述确定单元1201确定所述网络性能和/或终端120自身的内存状态为异常状态时,向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端120当前已下载的切片文件信息;
所述接收单元1203,用于接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端120当前已下载的切片文件信息获得。
需要说明的是,切片文件可以是视频服务器将需要播放的视频文件分割成连续的、很短时长的媒体文件来得到。
示例性地,参见图13,终端120还可以包括记录单元1204,用于在所述接收单元1203从所述代理服务器或所述视频服务器下载切片文件时,记录所述接收单元1203每一次从所述代理服务器或所述视频服务器接收传输控制协议TCP数据包的交互时长、所述接收单元1203每一次从所述代理服务器或所述视频服务器接收TCP数据包时的内存占用率以及所述接收单元1203从代理服务器或视频服务器下载所述切片文件时的平均下载速率。
可以理解地,确定单元1201可以在这些记录数据的基础上确定下载所述切片文件时的网络性能和/或终端120自身的内存状态,确定单元1201具体用于:
确定所述接收单元1203从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差不符合第一判定规则,或确定接收单元1203从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,确定接收单元1203下载所述切片文件时的网络性能为异常状态;
确定所述接收单元1203从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,确定接收单元1203下载所述切片文件时的终端120自身的内存状态为异常状态。
需要说明的是,前述的符合第一判定规则可以是接收单元1203从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;同样的,符合第二判定规则可以是接收单元1203从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间;符合第三判定规则可以是所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。需要说明的是,第一阈值上限、第一阈值下限、第二阈值上限、第二阈值下限、第三阈值上限和第三阈值下限都可以是预先根据经验数据进行设置的,本实施例中不做具体限定。
还需要说明的是,当终端120最初开始播放视频文件时,需要通过代理服务器进行下载视频文件的首个切片文件,此时,所述发送单元1202还用于向所述代理服务器发送视频播放请求消息;
所述接收单元1203,还用于接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
本发明实施例提供了一种终端120,通过确定单元1201对网络性能和自身内存条件的判断来确定从代理服务器或视频服务器下载切片文件,从而降低了无线网络性能对视频播放性能的影响。
参见图14,其示出了本发明实施例提供的一种代理服务器140,该代理服务器可以包括:接收单元1401,获取单元1402和发送单元1403,其中,
所述接收单元1401,用于接收终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
所述获取单元1402,用于根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址;
所述接收单元1401,用于根据所述下一个切片文件在视频服务器上的下载地址下载所述下一个切片文件;
所述发送单元1403,用于向所述终端发送所述下一个切片文件。
示例性的,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量;
相应的,如图15所示,所述获取单元1402包括:获取模块14021和查找模块14022,其中,
所述获取模块14021用于根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号,其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
例如,当下一个切片文件的编号为N+1时,那么,从编号1至编号N的所有切片文件的数据量总和等于所述终端当前已下载的切片文件数据量。因此获取模块14021通过对每个编号的切片文件之前的所有切片文件的数据量总和与所述终端当前已下载的切片文件数据量进行对比,当两者相等时,获取模块14021就获取到下一个切片文件的编号。
所述查找模块14022,用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址;
其中,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
具体地,所述查找模块14022用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
当所述查找模块14022确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,触发获取模块14021从所述视频服务器获取更新的切片文件的索引文件,并从所述更新的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址,其中,所述更新的切片文件的索引文件包括所述下一个切片文件编号、所述下一个切片文件数据大小以及所述下一个切片文件在所述视频服务器上的下载地址;
当所述查找模块14022确定当前已获取的切片文件的索引文件中包括所述下一个切片文件的编号时,触发获取模块14021从所述当前已获取的切片文件的索引文件获取所述下一个切片文件在所述视频服务器上的下载地址。
还需要说明的是,当终端最初开始播放视频文件时,需要通过代理服务器140进行下载视频文件的首个切片文件,此时,
所述接收单元1401,还用于接收所述终端发送的视频播放请求消息,所述视频播放请求消息包括所述视频服务器的域名地址;
如图15所示,代理服务器140还包括解析单元1404,用于根据所述视频服务器的域名地址进行DNS解析,获取所述视频服务器的IP地址;
所述接收单元1401,还用于根据所述视频服务器的IP地址从所述视频服务器获取首个切片文件;
所述发送单元1403,还用于向所述终端发送所述首个切片文件。
本实施例提供了一种代理服务器,当终端的网络性能和自身内存条件异常时,为终端下发切片文件,从而降低了无线网络性能对视频播放性能的影响。
参见图16,其示出了本发明实施例提供的一种视频文件播放的系统,该系统可以包括:终端120、代理服务器140和视频服务器150,其中,
所述终端120,用于确定下载所述切片文件时的网络性能和/或所述终端120自身的内存状态;
以及当所述网络性能和/或所述终端120的内存状态为异常状态时,向所述代理服务器140发送第一业务请求消息,所述第一业务请求消息包括所述终端120当前已下载的切片文件信息;
以及接收所述代理服务器140下发的下一个切片文件,所述下一个切片文件由所述代理服务器140根据所述终端120当前已下载的切片文件信息获得。
所述代理服务器140,用于接收所述终端120发送的第一业务请求消息,所述第一业务请求消息包括所述终端120当前已下载的切片文件信息;
以及根据所述终端120当前已下载的切片文件信息获取下一个切片文件在所述视频服务器150上的下载地址;
以及根据所述下一个切片文件在视频服务器150上的下载地址下载所述下一个切片文件;
以及向所述终端120发送所述下一个切片文件。
本实施例提供了一种视频文件播放的系统,终端120通过对网络性能和自身内存条件的判断来确定从代理服务器140或视频服务器150下载切片文件,从而降低了无线网络性能对视频播放性能的影响。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (23)

1.一种视频文件播放的方法,其特征在于,所述方法包括:
终端从代理服务器或视频服务器下载切片文件之后,根据记录每一次从所述代理服务器或所述视频服务器接收传输控制协议数据包的交互时长、每一次从所述代理服务器或所述视频服务器接收TCP数据包时的内存占用率以及从所述代理服务器或所述视频服务器下载所述切片文件过程的平均下载速率确定下载所述切片文件时的网络性能和/或自身的内存状态;
当所述网络性能和/或所述终端的内存状态为异常状态时,所述终端向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量;
所述终端接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
2.根据权利要求1所述的方法,其特征在于,所述终端确定下载所述切片文件时的网络性能,包括:
所述终端确定从所述代理服务器或所述视频服务器接收传输控制协议TCP数据包的交互时长的标准差不符合第一判定规则,或确定从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,确定下载所述切片文件的网络性能为异常状态。
3.根据权利要求1所述的方法,其特征在于,所述终端确定下载所述切片文件时的自身的内存状态,包括:
所述终端确定从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,确定下载所述切片文件时的自身的内存状态为异常状态。
4.根据权利要求2所述的方法,其特征在于,
所述第一判定规则包括:所述终端从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;
所述第二判定规则包括:所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间。
5.根据权利要求3所述的方法,其特征在于,
所述第三判定规则包括:所述终端从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述终端向所述代理服务器发送视频播放请求消息;
所述终端接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
7.一种视频文件播放的方法,其特征在于,所述方法包括:
代理服务器接收终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量;
所述代理服务器根据所述终端当前已下载的切片文件信息获取下一个切片文件的编号,根据所述下一个切片文件的编号查找所述代理服务器当前己获取的切片文件的索引文件,获取下一个切片文件在视频服务器上的下载地址;
所述代理服务器根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
所述代理服务器向所述终端发送所述下一个切片文件。
8.根据权利要求7所述的方法,其特征在于,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量。
9.根据权利要求8所述的方法,其特征在于,所述代理服务器根据所述终端当前已下载的切片文件信息获取下一个切片文件在视频服务器上的下载地址,包括:
所述代理服务器根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号,其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
10.根据权利要求9所述的方法,其特征在于,所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,包括:
所述代理服务器根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
所述代理服务器确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,从所述视频服务器获取更新的切片文件的索引文件,并从所述更新的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址,其中,所述更新的切片文件的索引文件包括所述下一个切片文件编号、所述下一个切片文件数据大小以及所述下一个切片文件在所述视频服务器上的下载地址;
所述代理服务器确定当前已获取的切片文件的索引文件中包括所述下一个切片文件的编号时,从所述当前已获取的切片文件的索引文件获取所述下一个切片文件在所述视频服务器上的下载地址。
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述代理服务器接收所述终端发送的视频播放请求消息,所述视频播放请求消息包括所述视频服务器的域名地址;
所述代理服务器根据所述视频服务器的域名地址进行域名系统DNS解析,获取所述视频服务器的互联网协议IP地址;
所述代理服务器根据所述视频服务器的IP地址从所述视频服务器获取首个切片文件;
所述代理服务器向所述终端发送所述首个切片文件。
12.一种终端,其特征在于,所述终端包括:确定单元、发送单元和接收单元,其中,
所述确定单元,用于所述接收单元从代理服务器或视频服务器下载切片文件之后,根据记录每一次从所述代理服务器或所述视频服务器接收传输控制协议数据包的交互时长、每一次从所述代理服务器或所述视频服务器接收TCP数据包时的内存占用率以及从所述代理服务器或所述视频服务器下载所述切片文件过程的平均下载速率确定下载切片文件时的网络性能和/或所述终端自身的内存状态;
所述发送单元,用于当所述确定单元确定所述网络性能和/或所述终端自身的内存状态为异常状态时,向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量;
所述接收单元,用于接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得。
13.根据权利要求12所述的终端,其特征在于,所述确定单元,用于确定所述接收单元从所述代理服务器或所述视频服务器接收传输控制协议TCP数据包的交互时长的标准差不符合第一判定规则,或确定所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率不符合第二判定规则时,确定所述接收单元下载所述切片文件的网络性能为异常状态。
14.根据权利要求12所述的终端,其特征在于,所述确定单元,
用于确定所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差不符合第三判定规则时,确定所述接收单元下载所述切片文件时的所述终端自身的内存状态为异常状态。
15.根据权利要求13所述的终端,其特征在于,
所述第一判定规则包括:所述接收单元从所述代理服务器或所述视频服务器接收TCP数据包的交互时长的标准差处于第一阈值上限与第一阈值下限之间;
所述第二判定规则包括:所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的平均下载速率处于第二阈值上限与第二阈值下限之间。
16.根据权利要求14所述的终端,其特征在于,
所述第三判定规则包括:所述接收单元从所述代理服务器或所述视频服务器下载所述切片文件时的内存占用率的标准差处于第三阈值上限与第三阈值下限之间。
17.根据权利要求12所述的终端,其特征在于,
所述发送单元,还用于向所述代理服务器发送视频播放请求消息;
所述接收单元,还用于接收所述代理服务器根据所述视频播放请求消息下发的首个切片文件。
18.一种代理服务器,其特征在于,所述代理服务器可以包括接收单元,获取单元和发送单元,其中,
所述接收单元,用于接收终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量;
所述获取单元,用于根据所述终端当前已下载的切片文件信息获取下一个切片文件的编号,根据所述下一个切片文件的编号查找所述代理服务器当前己获取的切片文件的索引文件,获取下一个切片文件在视频服务器上的下载地址;
所述接收单元,用于根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
所述发送单元,用于向所述终端发送所述下一个切片文件。
19.根据权利要求18所述的代理服务器,其特征在于,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量。
20.根据权利要求18所述的代理服务器,其特征在于,所述获取单元包括:获取模块和查找模块,其中,
所述获取模块,用于根据所述终端当前已下载的切片文件的数据量获取所述下一个切片文件的编号,其中,所述下一个切片文件的编号之前的所有切片文件的数据量总和等于所述终端当前已下载的切片文件的数据量;
所述查找模块,用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件,得到所述下一个切片文件在视频服务器上的下载地址,所述索引文件包括所述切片文件编号、所述切片文件数据大小及所述切片文件在所述视频服务器上的下载地址三者之间的映射关系。
21.根据权利要求20所述的代理服务器,其特征在于,所述查找模块,用于根据所述下一个切片文件的编号查找所述代理服务器当前已获取的切片文件的索引文件;
所述查找模块确定当前已获取的切片文件的索引文件中不包括所述下一个切片文件的编号时,触发获取模块从所述视频服务器获取更新的切片文件的索引文件,并从所述更新的切片文件的索引文件中获取所述下一个切片文件在所述视频服务器上的下载地址,其中,所述更新的切片文件的索引文件包括所述下一个切片文件编号、所述下一个切片文件数据大小以及所述下一个切片文件在所述视频服务器上的下载地址;
所述查找模块确定当前已获取的切片文件的索引文件中包括所述下一个切片文件的编号时,触发获取模块从所述当前已获取的切片文件的索引文件获取所述下一个切片文件在所述视频服务器上的下载地址。
22.根据权利要求18所述的代理服务器,其特征在于,所述接收单元,还用于接收所述终端发送的视频播放请求消息,所述视频播放请求消息包括所述视频服务器的域名地址;
所述代理服务器还包括解析单元,用于根据所述视频服务器的域名地址进行域名系统DNS解析,获取所述视频服务器的互联网协议IP地址;
所述接收单元,还用于根据所述视频服务器的IP地址从所述视频服务器获取首个切片文件;
所述发送单元,还用于向所述终端发送所述首个切片文件。
23.一种视频文件播放的系统,其特征在于,所述系统包括终端、代理服务器和视频服务器,其中,
所述终端,用于在从所述代理服务器或所述视频服务器下载切片文件时,根据记录的每一次从所述代理服务器或所述视频服务器接收传输控制协议TCP数据包的交互时长、每一次从所述代理服务器或所述视频服务器接收TCP数据包时的内存占用率以及从代理服务器或视频服务器下载所述切片文件过程的平均下载速率确定下载切片文件时的网络性能和/或自身的内存状态;
以及当所述网络性能和/或所述终端的内存状态为异常状态时,向所述代理服务器发送第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息,所述终端当前已下载的切片文件信息包括所述终端当前已下载的切片文件的数据量;
以及接收所述代理服务器下发的下一个切片文件,所述下一个切片文件由所述代理服务器根据所述终端当前已下载的切片文件信息获得;
所述代理服务器,用于接收所述终端发送的第一业务请求消息,所述第一业务请求消息包括所述终端当前已下载的切片文件信息;
以及根据所述终端当前已下载的切片文件信息获取所述下一个切片文件的编号,根据所述下一个切片文件的编号查找所述代理服务器当前己获取的切片文件的索引文件,获取下一个切片文件在所述视频服务器上的下载地址;
以及根据所述下一个切片文件在所述视频服务器上的下载地址下载所述下一个切片文件;
以及向所述终端发送所述下一个切片文件。
CN201410233846.XA 2014-05-29 2014-05-29 一种视频文件播放的方法、设备和系统 Active CN105187950B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410233846.XA CN105187950B (zh) 2014-05-29 2014-05-29 一种视频文件播放的方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410233846.XA CN105187950B (zh) 2014-05-29 2014-05-29 一种视频文件播放的方法、设备和系统

Publications (2)

Publication Number Publication Date
CN105187950A CN105187950A (zh) 2015-12-23
CN105187950B true CN105187950B (zh) 2018-09-25

Family

ID=54909746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410233846.XA Active CN105187950B (zh) 2014-05-29 2014-05-29 一种视频文件播放的方法、设备和系统

Country Status (1)

Country Link
CN (1) CN105187950B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872613A (zh) * 2016-03-30 2016-08-17 乐视控股(北京)有限公司 进行hls丢片补偿的方法及系统
CN108366292B (zh) * 2017-12-27 2021-04-30 武汉烽火众智数字技术有限责任公司 一种基于流媒体的跨网络视频直播方法及系统
CN108156473A (zh) * 2017-12-28 2018-06-12 网宿科技股份有限公司 一种获取直播数据的方法及系统
CN108881959B (zh) * 2018-06-12 2021-07-16 百视通网络电视技术发展有限责任公司 一种跨平台的媒体下载及系统调试方法
CN109729387B (zh) * 2019-01-07 2021-05-14 烽火通信科技股份有限公司 基于hls协议的网络直播在故障恢复后的播放方法及系统
CN110891081B (zh) * 2019-10-21 2022-06-14 量子云未来(北京)信息科技有限公司 一种数据传输系统
CN114189751B (zh) * 2020-09-15 2023-03-24 杭州晨熹多媒体科技有限公司 影院系统控制方法、服务器、代理终端、展示终端及系统
CN114979721B (zh) * 2022-05-18 2024-02-23 咪咕文化科技有限公司 视频切片方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055805A (zh) * 2010-12-30 2011-05-11 Tcl集团股份有限公司 一种跨网络协议标准进行p2p下载的装置和方法
CN102075338A (zh) * 2009-11-25 2011-05-25 突触计算机系统(上海)有限公司 基于分布式网络的直播方法和装置
CN102333089A (zh) * 2011-09-26 2012-01-25 南京邮电大学 基于超文本传输协议流化的多码率媒体流自适应控制方法
CN102625140A (zh) * 2012-03-19 2012-08-01 烽火通信科技股份有限公司 流媒体服务器以帧为粒度实时下载播放的方法
CN103581693A (zh) * 2013-11-12 2014-02-12 北京清源新创科技有限公司 面向互联网的基于分片传输的大尺度直播时移方法及系统
CN103702171A (zh) * 2013-12-12 2014-04-02 乐视网信息技术(北京)股份有限公司 一种视频流下载方法及电子设备
CN103733589A (zh) * 2011-08-09 2014-04-16 阿尔卡特朗讯公司 用于流式传输视频内容的方法,实现此方法的边缘节点和客户端实体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120297405A1 (en) * 2011-05-17 2012-11-22 Splendorstream, Llc Efficiently distributing video content using a combination of a peer-to-peer network and a content distribution network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075338A (zh) * 2009-11-25 2011-05-25 突触计算机系统(上海)有限公司 基于分布式网络的直播方法和装置
CN102055805A (zh) * 2010-12-30 2011-05-11 Tcl集团股份有限公司 一种跨网络协议标准进行p2p下载的装置和方法
CN103733589A (zh) * 2011-08-09 2014-04-16 阿尔卡特朗讯公司 用于流式传输视频内容的方法,实现此方法的边缘节点和客户端实体
CN102333089A (zh) * 2011-09-26 2012-01-25 南京邮电大学 基于超文本传输协议流化的多码率媒体流自适应控制方法
CN102625140A (zh) * 2012-03-19 2012-08-01 烽火通信科技股份有限公司 流媒体服务器以帧为粒度实时下载播放的方法
CN103581693A (zh) * 2013-11-12 2014-02-12 北京清源新创科技有限公司 面向互联网的基于分片传输的大尺度直播时移方法及系统
CN103702171A (zh) * 2013-12-12 2014-04-02 乐视网信息技术(北京)股份有限公司 一种视频流下载方法及电子设备

Also Published As

Publication number Publication date
CN105187950A (zh) 2015-12-23

Similar Documents

Publication Publication Date Title
CN105187950B (zh) 一种视频文件播放的方法、设备和系统
US10798440B2 (en) Methods and systems for synchronizing data streams across multiple client devices
KR102368299B1 (ko) 게임 클립 인기 기반 제어 기법
CN108540868B (zh) Hls直播的处理方法、装置、服务器、终端及存储介质
US8806518B2 (en) Performance analysis for combining remote audience responses
CN104581374B (zh) 一种获取切片文件和生成子m3u8文件的方法、节点及服务器
US8839309B2 (en) Methods and systems for displaying contextually relevant information from a plurality of users in real-time regarding a media asset
EP2753045B1 (en) Method and device for transmitting stream media
CN104602102B (zh) 视频截取内容的传输响应方法、装置、服务器和系统
JP7176133B2 (ja) Http上の動的アダプティブストリーミングのための方法、装置及びコンピュータプログラム
CN105940452B (zh) 用于改善离线内容播放的方法
WO2015010593A1 (en) Method and apparatus for displaying contact list
CN105872572A (zh) 直播视频的处理方法及装置
JP6305738B2 (ja) メディア再生制御装置、メディア再生制御方法、及びプログラム
CN109587517B (zh) 一种多媒体文件的播放方法及装置、服务器及存储介质
US20230142444A1 (en) Generating breakpoints in media playback
CN104540034B (zh) 一种基于社交网络的讨论时推送视频信息的方法及装置
JP7190589B2 (ja) セッションベースdash動作のためのパターン指定
CN111869225B (zh) 信息处理装置、信息处理方法及非暂时性计算机可读存储介质
AU2015101273A4 (en) A computer implemented system and method for transferring multimedia content
CN108270814A (zh) 一种数据同步方法及装置
US20230412866A1 (en) Self-driven adaptive upload
US20230412901A1 (en) Self-driven adaptive upload
JP7128967B2 (ja) マルチメディアストリーミングコンテンツを提供する方法、装置、及びコンピュータプログラム
CN107872477A (zh) 一种多媒体资源存储方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Wang Chunbo

Inventor after: Wang Hui

Inventor after: Zhang Yong

Inventor after: Wang Haibo

Inventor after: Zhang Wuzhi

Inventor after: Mi Kai

Inventor after: Liu Bo

Inventor before: Ma Xianfeng

Inventor before: Yang Jingxu

Inventor before: Wang Chunbo

Inventor before: Wang Hui

Inventor before: Zhang Yong

Inventor before: Wang Haibo

Inventor before: Zhang Wuzhi

Inventor before: Mi Kai

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant