一种传输、播放视频的方法、装置和系统的制作方法

文档序号:7797785阅读:191来源:国知局
一种传输、播放视频的方法、装置和系统的制作方法
【专利摘要】本发明公开了一种传输、播放视频的方法、装置和系统,其中,播放视频的方法包括:接收被点播视频的定位播放点;根据预先获取的所述被点播视频的M3U8索引文件和I帧索引文件,确定所述定位播放点所在的ts碎片文件以及所述ts碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的所有ts碎片文件的序号以及每个ts碎片文件中所有I帧的序号;发送获取确定的所述ts碎片文件的请求;接收所述ts碎片文件以及所述ts碎片文件之后的所有ts碎片文件;从确定的所述ts碎片文件中的所述I帧开始播放视频。本发明可以准确、快速、高效地响应用户的定位播放要求。
【专利说明】一种传输、播放视频的方法、装置和系统

【技术领域】
[0001]本发明涉及视频播放领域,更具体地,涉及一种传输、播放视频的方法、装置和系统。

【背景技术】
[0002]HTTP Live Streaming (HLS)是苹果公司(Apple Inc.)实现的基于 HTTP(Hypertext transfer protocol,超文本传输协议)的流媒体传输协议,可实现流媒体的播放。
[0003]HLS基于HTTP协议实现,HLS协议在服务器端将数据流存储为连续的、很短时长的媒体文件,传输内容包括两部分,一是M3U8索引文件(M3U8索引文件是苹果(apple)公司Http Live Streaming协议里规定的一种描述文件,也被称为M3U8描述文件,M3U8文件用文本方式对媒体文件进行描述,由一系列标签组成),二是MPEG-TS (Moving PicturesExperts Group/Mot1n Pictures Experts Group-Transport Stream,动态图像专家组-传输流)格式的媒体文件。M3U8索引文件是为这些MPEG-TS格式的媒体文件创建的索引文件。客户端不断的下载并播放这些媒体文件,就实现了流媒体的播放。
[0004]然而,如何能尽快响应用户对流媒体的随机定位播放请求是一个亟待解决的问题。


【发明内容】

[0005]有鉴于此,本发明实施例的目的是提出一种传输、播放视频的方法、装置和系统,其能够实现被点播视频的随机定位播放。
[0006]为了达到上述目的,本发明实施例提出一种传输、播放视频的方法,包括以下步骤:
[0007]接收被点播视频的定位播放点;
[0008]根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件;
[0009]根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的所有传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0010]发送获取确定的所述传输流碎片文件的请求;
[0011]接收所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件;
[0012]从确定的所述传输流碎片文件中的所述I帧开始播放视频。
[0013]本发明实施例中通过确定被点播视频的定位播放点所在的ts碎片文件以及该ts碎片文件中距离该定位播放点最近的I帧,可以准确、快速、高效地响应用户的定位播放要求。
[0014]作为上述技术方案的优选,所述确定所述定位播放点所在的传输流碎片文件,包括:根据所述被点播视频的总时长及每个传输流碎片文件的时长来确定所述定位播放点所在的传输流碎片文件。
[0015]本发明实施例还提出一种传输视频的方法,包括以下步骤:
[0016]当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I巾贞的序号;
[0017]接收对所述视频中的传输流碎片文件的请求;发送请求的所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件。
[0018]本发明实施例中,服务器生成M3U8索弓I文件和I帧索引文件以及按照客户端的请求发送ts碎片文件,从而实现以准确、快速、高效地响应用户的定位播放要求。
[0019]本发明实施例还提出一种播放视频的装置,包括:
[0020]第一接收模块,用于接收被点播视频的定位播放点;
[0021]第一确定模块,用于根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件;
[0022]第二确定模块,用于根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0023]第一发送模块,用于发送获取确定的所述传输流碎片文件的请求;
[0024]第二接收模块,用于接收所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件;
[0025]播放模块,用于从确定的所述传输流碎片文件中的所述I帧开始播放视频作为上述技术方案的优选,所述第一确定模块用于:根据所述被点播视频的总时长及每个传输流碎片文件的时长来确定所述定位播放点所在的传输流碎片文件。
[0026]本发明实施例还提出一种传输视频的装置,包括:
[0027]第二发送模块,用于当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0028]第三接收模块,用于接收对所述视频中的传输流碎片文件的请求;
[0029]第三发送模块,用于发送请求的所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件。
[0030]本发明实施例还提出一种播放视频的系统,包括客户端和服务器;其中,所述客户端包括:
[0031]第一接收模块,用于接收被点播视频的定位播放点;
[0032]第一确定模块,用于根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件;
[0033]第二确定模块,用于根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0034]第一发送模块,用于发送获取确定的所述传输流碎片文件的请求;
[0035]第二接收模块,用于接收所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件;
[0036]播放模块,用于从确定的所述传输流碎片文件中的所述I帧开始播放视频;
[0037]所述服务器包括:
[0038]第二发送模块,用于当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0039]第三接收模块,用于接收对所述视频中的传输流碎片文件的请求;
[0040]第三发送模块,用于发送请求的所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件。
[0041]作为上述技术方案的优选,所述第一确定模块用于:根据所述被点播视频的总时长及每个传输流碎片文件的时长来确定所述定位播放点所在的传输流碎片文件。
[0042]本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0043]下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。

【专利附图】

【附图说明】
[0044]附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明实施例的限制。在附图中:
[0045]图1是本发明实施例中的播放视频的主要方法流程图;
[0046]图2是本发明实施例中的传输视频的主要方法流程图;
[0047]图3是本发明实施例中客户端和服务器端播放视频的方法流程图;
[0048]图4是本发明实施例中的播放视频的装置的结构示意图;
[0049]图5是本发明实施例中的传输视频的装置的结构示意图。

【具体实施方式】
[0050]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明实施例,并不用于限定本发明实施例。
[0051]如图1所示为本发明实施例中的播放视频的主要方法流程,主要用于客户端,该方法包括:
[0052]步骤S11:接收被点播视频的定位播放点。
[0053]步骤S102:根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件。
[0054]步骤S103:根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的所有传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号。
[0055]根据HLS协议,视频是由多个ts碎片文件按时间顺序组成的。M3U8索引文件记录了每个ts碎片的顺序和时长。可以通过M3U8索引文件获取被点播视频的总时长和每个ts碎片文件的时长,根据被点播视频的总时长及每个ts碎片文件的时长来确定所述定位播放点所在的ts碎片文件,通常,ts碎片文件的时长是固定或相等的。
[0056]步骤S104:发送获取确定的所述ts碎片文件的请求。
[0057]步骤S105:接收所述ts碎片文件以及所述ts碎片文件之后的所有ts碎片文件。
[0058]步骤S106:从确定的所述ts碎片文件中的所述I巾贞开始播放视频。
[0059]由于视频播放前需要先进行视频帧的解码,而只有I帧才可以单独解码(就是说I帧的解码不需要依赖其它的帧)。所以当用户随机请求播放点的时候,如果这个播放点对应的帧不是I帧那就无法播放,为此需要找到用户请求播放点最近的I帧,从这个I帧以后才可以正常播放。
[0060]本发明实施例中通过确定被点播视频的定位播放点所在的ts碎片文件以及该ts碎片文件中距离该定位播放点最近的I帧,可以准确、快速、高效地响应用户的定位播放要求。
[0061]如图2所示为本发明实施例中提出的传输视频的方法,主要用于服务器端,包括以下步骤:
[0062]步骤S201:当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的ts碎片文件的序号以及每个ts碎片文件中所有I帧的序号。
[0063]步骤S202:接收对所述视频中的ts碎片文件的请求。
[0064]步骤S203:发送请求的所述ts碎片文件以及所述ts碎片文件之后的所有ts碎片文件。
[0065]本发明实施例中,服务器预先生成M3U8索引文件和I帧索引文件以及按照客户端的请求发送ts碎片文件,从而实现以准确、快速、高效地响应用户的定位播放要求。
[0066]以下,通过客户端与服务器的交互来详细介绍本发明实施例中提出的播放视频的方法,如图3所示,包括以下步骤:
[0067]步骤S301:服务器端预先生成每个视频的M3U8索引文件和I帧索引文件。
[0068]其中,某一视频的I帧索引文件中包括该视频中的所有ts碎片文件的序号以及每个ts碎片文件中所有I帧的序号。
[0069]步骤S302:客户端接收点播视频A的请求。
[0070]步骤S303:客户端向服务器端发送点播视频A的请求。
[0071]步骤S304:服务器端将视频A的M3U8索引文件和I帧索引文件发送到客户端。
[0072]步骤S305:客户端接收到用户对视频A设定的定位播放点。
[0073]步骤S306:客户端根据M3U8索引文件和I帧索引文件,确定定位播放点所在的ts碎片文件和该确定的ts碎片文件中距离该定位播放点最近的I帧。
[0074]步骤S307:客户端向服务器发送获取该确定的ts碎片文件的请求。
[0075]其中,发送的请求中带有确定的ts碎片文件的序号。
[0076]步骤S308:服务器端向客户端发送请求的ts碎片文件以及该碎片文件之后的所有ts碎片文件。
[0077]步骤S309:客户端接收请求的ts碎片文件以及该碎片文件之后的所有ts碎片文件。
[0078]步骤S310:客户端从确定的ts碎片文件中距离该定位播放点最近的I帧开始播放视频。
[0079]相应地,如图4示,本发明实施例中还公开了一种播放视频的装置,包括:
[0080]第一接收模块401,用于接收被点播视频的定位播放点;
[0081]第一确定模块402,用于根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件;
[0082]第二确定模块403,用于根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0083]第一发送模块404,用于发送获取确定的所述ts碎片文件的请求;
[0084]第二接收模块405,用于接收所述ts碎片文件以及所述ts碎片文件之后的所有ts碎片文件;
[0085]播放模块406,用于从确定的所述ts碎片文件中的所述I帧开始播放视频。
[0086]其中,第一确定模块402用于:根据所述被点播视频的总时长及每个ts碎片文件的时长来确定所述定位播放点所在的ts碎片文件。
[0087]如图5所示,本发明实施例还提供了一种传输视频的装置,包括:
[0088]第二发送模块501,用于当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0089]第三接收模块502,用于接收对所述视频中的ts碎片文件的请求;
[0090]第三发送模块503,用于发送请求的所述ts碎片文件以及所述ts碎片文件之后的所有ts碎片文件。
[0091]本发明实施例还提供给了一种播放视频的系统,包括客户端和服务器;其中,所述客户端包括:
[0092]第一接收模块,用于接收被点播视频的定位播放点;
[0093]第一确定模块,用于根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件;
[0094]第二确定模块,用于根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0095]第一发送模块,用于发送获取确定的所述ts碎片文件的请求;
[0096]第二接收模块,用于接收所述ts碎片文件以及所述ts碎片文件之后的所有ts碎片文件;
[0097]播放模块,用于从确定的所述ts碎片文件中的所述I帧开始播放视频;
[0098]所述服务器包括:
[0099]第二发送模块,用于当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号;
[0100]第三接收模块,用于接收对所述视频中的ts碎片文件的请求;
[0101]第三发送模块,用于发送请求的所述ts碎片文件以及所述ts碎片文件之后的所有ts碎片文件。
[0102]其中,第一确定模块用于:根据所述被点播视频的总时长及每个ts碎片文件的时长来确定所述定位播放点所在的ts碎片文件。
[0103]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0104]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0105]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0106]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0107]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种播放视频的方法,其特征在于,包括以下步骤: 接收被点播视频的定位播放点; 根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件; 根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的所有传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号; 发送获取确定的所述传输流碎片文件的请求; 接收所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件; 从确定的所述传输流碎片文件中的所述I帧开始播放视频。
2.根据权利要求1所述的方法,其特征在于,所述确定所述定位播放点所在的传输流碎片文件,包括: 根据所述被点播视频的总时长及每个传输流碎片文件的时长来确定所述定位播放点所在的传输流碎片文件。
3.一种传输视频的方法,其特征在于,包括以下步骤: 当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I中贞的序号; 接收对所述视频中的传输流碎片文件的请求; 发送请求的所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件。
4.一种播放视频的装置,其特征在于,包括: 第一接收模块,用于接收被点播视频的定位播放点; 第一确定模块,用于根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件; 第二确定模块,用于根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号; 第一发送模块,用于发送获取确定的所述传输流碎片文件的请求; 第二接收模块,用于接收所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件; 播放模块,用于从确定的所述传输流碎片文件中的所述I帧开始播放视频。
5.根据权利要求4所述的装置,其特征在于,所述第一确定模块用于:根据所述被点播视频的总时长及每个传输流碎片文件的时长来确定所述定位播放点所在的传输流碎片文件。
6.一种传输视频的装置,其特征在于,包括: 第二发送模块,用于当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号; 第三接收模块,用于接收对所述视频中的传输流碎片文件的请求; 第三发送模块,用于发送请求的所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件。
7.一种播放视频的系统,其特征在于,包括客户端和服务器;其中,所述客户端包括: 第一接收模块,用于接收被点播视频的定位播放点; 第一确定模块,用于根据预先获取的所述被点播视频的M3U8索引文件确定所述定位播放点所在的传输流碎片文件; 第二确定模块,用于根据预先获取的所述被点播视频的I帧索引文件确定所述传输流碎片文件中距离所述定位播放点最近的I帧;其中,所述I帧索引文件中包括所述被点播视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号; 第一发送模块,用于发送获取确定的所述传输流碎片文件的请求; 第二接收模块,用于接收所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件; 播放模块,用于从确定的所述传输流碎片文件中的所述I帧开始播放视频; 所述服务器包括: 第二发送模块,用于当接收到点播视频的请求时,发送所述视频的M3U8索引文件和I帧索引文件,所述I帧索引文件中包括所述视频中的传输流碎片文件的序号以及每个传输流碎片文件中所有I帧的序号; 第三接收模块,用于接收对所述视频中的传输流碎片文件的请求; 第三发送模块,用于发送请求的所述传输流碎片文件以及所述传输流碎片文件之后的所有传输流碎片文件。
8.根据权利要求7所述的系统,其特征在于,所述第一确定模块用于:根据所述被点播视频的总时长及每个传输流碎片文件的时长来确定所述定位播放点所在的传输流碎片文件。
【文档编号】H04N21/438GK104185037SQ201410071515
【公开日】2014年12月3日 申请日期:2014年2月28日 优先权日:2014年2月28日
【发明者】张金良 申请人:无锡天脉聚源传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1