一种视频播放方法及装置的制造方法

文档序号:10573129阅读:789来源:国知局
一种视频播放方法及装置的制造方法
【专利摘要】本发明公开了一种视频播放方法及装置,包括:获取待播放视频的M3U8文件;解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址;根据所述所有TS片段文件的文件地址,以及将每个TS片段文件下载到本地,并对每个TS片段文件进行顺序编号;在第K个TS片段下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为1到M中的任意一个整数,M为小于TS片段文件总数的正整数。本发明提供的一种视频播放方法及装置,能够有效降低播放视频的缓冲时间,提高视频播放的效率。
【专利说明】
_种视频播放方法及装置
技术领域
[0001 ]本发明涉及多媒体技术领域,尤其涉及一种视频播放方法及装置。
【背景技术】
[0002]随着计算机技术的飞速发展,使得电子设备的功能越来越丰富,而播放功能就是其中的一种,使得越来越多的电子设备中都会设置播放器用于播放多媒体文件。
[0003]现有的多媒体文件通常使用M3U8格式来传输视频流,而一个M3U8文件中通常会包含多个TS片段文件的文件地址通常为URL地址,而在播放M3U8文件时,需要将M3U8文件中包含的所有TS片段文件下载到本地之后,再根据M3U8文件中片段文件的播放顺序,将下载到本地的所有TS片段文件按照播放顺序进行排序,然后再进行播放,使得在播放M3U8文件时,需要将其包含的所有TS片段文件下载到本地之后,再进行排序才能正常播放,导致出现播放视频的缓冲时间较长的问题。

【发明内容】

[0004]本发明提供了一种视频播放方法及装置,能够有效降低播放视频的缓冲时间,提高视频播放的效率。
[0005]本申请实施例提供了一种视频播放方法,包括:
[0006]获取待播放视频的M3U8文件;
[0007]解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址;
[0008]根据所述所有TS片段文件的文件地址,将每个TS片段文件下载到本地,以及在将每个TS片段文件下载到本地的过程中,对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同;
[0009]在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。
[0010]可选的,在所述TS片段文件总数大于5时,所述K为1-5中的任意一个整数。
[0011 ]可选的,在依次将每个TS片段文件下载到本地的过程中,所述方法还包括:
[0012]对下载到本地的每个TS片段文件的完整性进行验证;
[0013]获取未通过验证的TS片段文件,并根据所述未通过验证的TS片段文件的文件地址,重新将完整的所述未通过验证的TS片段文件下载到本地。
[0014]可选的,在依次将每个TS片段文件的文件标识下载到本地的过程中,所述方法还包括:
[0015]对下载到本地的每个TS片段文件进行加密。
[0016]可选的,所述根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,具体包括:
[0017]对已加密的每个TS片段文件进行解密,再根据解密后每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放。
[0018]本申请另一实施例还提供了一种视频播放装置,包括:
[0019]文件获取单元,用于获取待播放视频的M3U8文件;
[0020]文件解析单元,用于解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址;
[0021]下载单元,用于根据所述所有TS片段文件的文件地址,将每个TS片段文件下载到本地;
[0022]编号单元,用于在将每个TS片段文件下载到本地的过程中,对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同;
[0023]播放单元,用于在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。
[0024]可选的,在所述TS片段文件总数大于5时,所述K为1-5中的任意一个整数。
[0025]可选的,所述装置还包括:
[0026]验证单元,用于在依次将每个TS片段文件下载到本地的过程中,对下载到本地的每个TS片段文件的完整性进行验证,并获取未通过验证的TS片段文件;
[0027]所述下载单元,还用于根据所述未通过验证的TS片段文件的文件地址,重新将完整的所述未通过验证的TS片段文件下载到本地。
[0028]可选的,所述装置还包括:
[0029]加密单元,用于在依次将每个TS片段文件的文件标识下载到本地的过程中,对下载到本地的每个TS片段文件进行加密。
[0030]可选的,所述装置还包括:
[0031 ]解密单元,用于对已加密的每个TS片段文件进行解密;
[0032]所述播放单元,还用于根据解密后每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放。
[0033]本发明的有益效果如下:
[0034]基于上述技术方案,本发明实施例中,解析待播放视频的M3U8文件,并根据解析获取的所述M3U8文件中包含的所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地,并对每个TS片段文件进行顺序编号;以及在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,由于K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数,可知K小于所述总数,使得所述第K个TS片段文件下载完成后,在下载第(K+1)个TS片段文件时,就已开始对下载到本地的TS片段文件进行播放,进而能够实现一边下载TS片段文件一边播放TS片段文件,而无需在所有TS片段文件都下载完成之后进行排序后播放,从而能够有效降低播放视频的缓冲时间,提高视频播放的效率,使得用户的体验更好。
【附图说明】
[0035]图1为本发明实施例中视频播放方法的第一种流程图;
[0036]图2为本发明实施例中视频播放方法的第二种流程图;
[0037]图3为本发明实施例中视频播放装置的结构图。
【具体实施方式】
[0038]本发明提供了一种视频播放方法及装置,能够有效降低播放视频的缓冲时间,提高视频播放的效率。
[0039]本发明实施例中视频播放方法通常是应用用户终端中,所述用户终端例如是智能手机、平板电脑、笔记本电脑、台式电脑等具有显示屏的设备,以在所述用户终端的显示屏上播放视频。
[0040]本发明实施例中,M3U8文件实质上也是一种M3U文件,只是两者的编码格式不同。M3U8文件的编码格式是UTF-8格式,而M3U采用Iatin-1字符集编码。M3U类似于音频或者视频文件的目录信息。
[0041]具体的,M3U文件不是音频文件或者视频文件,它是音频文件或者视频文件的列表文件,是纯文本文件。当下载得到M3U文件并打开M3U文件后,电子设备的播放器播放的并不是该M3U文件,而是根据该M3U文件的记录获取到相应的文件地址,然后下载对应的TS片段文件并进行播放。
[0042]下面结合附图对本发明优选的实施方式进行详细说明。
[0043]实施例一:
[0044]如图1所示,本发明实施例中提供了一种视频播放方法,包括以下步骤:
[0045]SlOl、获取待播放视频的M3U8文件;
[0046]S102、解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址;
[0047]S103、根据所述所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地,对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同;
[0048]S104、在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。
[0049]其中,在步骤SlOl中,可以根据用户的操作来获取待播放视频的M3U8文件,例如在笔记本电脑上打开了一视频网站,若用户选中了该视频网站中的a视频进行播放,则可以通过下载获取a视频的M3U8文件,其中a视频为所述待播放视频。
[0050]接下来执行步骤S102,在该步骤中,解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址。
[0051 ]在具体实施过程中,在通过步骤SlOl获取到所述M3U8文件之后,对所述M3U8文件进行解析,以获取所述M3U8文件中包含的所有TS片段文件的文件地址,其中,所述文件地址例如可以是URL地址、IP地址等,下面具体以URL地址为例。当然,在对所述M3U8文件进行解析之后,还可以获取所有TS片段文件在所述M3U8文件中的播放顺序。
[0052]具体来讲,所述M3U8文件可以为一个M3U8列表文件,该M3U8列表文件中包含所有TS片段文件的URL地址,且所有TS片段文件的URL地址在该M3U8列表文件中按照TS片段文件的播放先后顺序进行排列,如此,可以在对所述M3U8文件进行解析之后,能够获取所有TS片段文件在所述M3U8文件中的播放顺序。
[0053]具体的,所述M3U8文件中通常会包括多个TS片段文件的URL地址;当然,在较少情况下,所述M3U8文件也会仅包括I个TS片段文件的URL地址,本申请对此不作具体限制,下面具体以所述M3U8文件包含至少3个TS片段文件的URL地址为例。
[0054]例如,以a视频对应的M3U8文件为例,下载a视频对应的M3U8文件之后进行解析,获取到M3U8文件中包含{TS1、TS2.....TSN}的URL地址,其中,N为不小于3的整数,其中,{TS1、
TS2……TSN}片段文件的播放顺序为TS1>TS2>……>TSN,可知TSl片段文件最先播放,TS2片段文件在TSl片段文件之后播放,然后依次进行播放,最后播放TSN片段文件。
[0055]本申请实施例中,在获取到所述M3U8文件之后,所述M3U8文件中可能会包括一级M3U8文件和二级M3U8文件,所述一级M3U8文件主要进行多码率适配,并未包含TS片段文件的URL地址;而所述二级M3U8文件中才会包含所有TS片段文件的URL地址,如此,使得在解析所述M3U8文件时,获取的是所述二级M3U8文件包含的所有TS片段文件的URL地址。
[0056]例如,一级M3U8文件如下:
[0057]#EXTM3U
[0058]#EXT-X-STREAM-1NF:PROGRAM-1D = 201273221265,BANDffIDTH=358400
[0059]Il.m3u8
[0060]#EXT-X-STREAM-1NF:PROGRAM-1D = 201273221265,BANDffIDTH=972800[0061 ] 22.m3u8
[0062]由此可知,上述一级M3U8文件中又定义了 11.m3u8和22.m3u8两个二级M3U8文件,如此,可以选择Il.m3u8和22.m3u8中的任意一个二级M3U8文件,然后获取选择的二级M3U8文件中包含的所有TS片段文件的URL地址。当然,在实际应用过程中,用户终端默认会首先选择码率最高的二级M3U8文件,如果播放过程中发现码率达不到要求,则会请求较低码率的二级M3U8文件。
[0063]接下来执行步骤S103,在该步骤中,根据所述所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地,并对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同。
[0064]在具体实施过程中,一个M3U8文件中通常会存在成百上千个TS片段,为了降低下载TS片段文件占用的CPU开销,通常会采用单进程来下载所述所有TS片段文件,如此,可以根据所述播放顺序依次将每个TS片段下载到本地,具体可以是从第一个TS片段文件开始到最后一个TS片段文件结束,在前一个TS片段文件下载完成之后,才下载下一个TS片段文件。
[0065]例如以M3U8文件中包含{TS1、TS2.....TSN}的URL地址为例,在根据TSl片段文件的URL地址,下载完TSl片段文件之后,再根据TS2片段文件的URL地址,下载TS2片段文件,在下载完成之后,继续下载下一个TS片段文件,直至下载完TSN片段文件为止。
[0066]具体来讲,在获取到M3U8文件中包含的所有TS片段的URL地址之后,根据所述所有TS片段的URL地址,查找到相应的资源进行下载,从而依次将每个TS片段文件下载到本地;以及在依次将每个TS片段文件下载到本地过程中,可以在每下载一个TS片段文件时,对该下载的TS片段文件进行编号,以使得每个TS片段文件包含的数据的下载与对每个TS片段文件进行编号同时进行,不会对每个TS片段文件的下载造成影响,从而能够确保所有TS片段文件的下载效率。
[0067]具体来讲,在对每个TS片段文件进行编号时,可以根据每个TS片段文件的文件标识来对其进行编号,例如TSl片段文件的文件标识为TSl,在对TSl片段文件进行编号时,可以根据文件标识TSl对TSl片段文件进行编号,使得TSl片段文件对应的编号为I;同理,采用相同的方法对TS2片段文件进行编号,使得TS2片段文件对应的编号为2,其中,所述文件标识可以是TS片段文件的文件名称。
[0068]具体的,根据所述所有TS片段文件的URL地址,将每个TS片段文件下载到本地过程中,在对每个TS片段文件进行下载时,首先会在本地为每个TS片段文件创建一个文件夹,并将每个TS片段文件的文件标识下载到本地,根据下载到本地的每个TS片段文件的文件标识,对每个TS片段文件进行编号,以及在对TS片段文件进行编号的同时将每个TS片段文件包含的数据内容下载到对应的本地创建的文件夹中,以使得每个TS片段文件包含的数据的下载与对每个TS片段文件进行编号同时进行,不会对每个TS片段文件的下载造成影响,其中,在将每个TS片段文件的文件标识下载到本地时,使得每个TS片段文件和与其对应的本地创建的文件夹的文件标识相同,使得创建的所有的文件夹与所有TS片段文件一一对应。
[0069]当然,也可以直接根据每个TS片段文件的URL地址,获取到每个TS片段文件的文件标识,而无需下载到本地,直接根据获取的每个TS片段文件的文件标识,对每个TS片段文件进行编号,同样会使得编号和下载每个TS片段文件包含的数据同时进行,不会对每个TS片段文件的下载造成影响。
[0070]例如,以M3U8文件中包含{TS1、TS2.....TSN}的URL地址为例,根据{TS1、
TS2……TSN}的URL地址,依次下载名称为{TS1、TS2……TSN}的TS片段文件,名称为TSi的TS片段文件用TSi片段文件表示,i依次取1-N的值,其中,在根据TSl的URL地址,下载TSl片段文件时,首先会在本地创建一个文件夹,然后下载TSl片段文件的文件标识为TSl并将创建的本地文件夹的名称命名为TSl,这时可以根据下载到本地的TSI片段文件的文件标识,对TSl片段文件进行编号并确定其编号为I,以及在对TSl片段文件进行编号的同时将下载TSl片段文件包含的数据存储在名称为TSl的本地文件夹中。同理,针对每个TS片段文件执行上述操作,使得名称为ITSl、TS2……TSN}的本地文件夹与{TS1、TS2……TSN}片段文件——对应。
[0071]本申请实施例中,根据所述所有TS片段文件的URL地址,可以根据每个TS片段文件在所述M3U8文件中的播放顺序,对每个TS片段文件进行顺序编号;当然,也可以是在每下载一个TS片段文件的文件标识之后,根据每个TS片段文件在所述M3U8文件中的播放顺序,对下载的每个TS片段文件的文件标识进行顺序编号,本申请不作具体限制。
[0072]在具体实施过程中,在根据每个TS片段文件在所述M3U8文件中的播放顺序,对每个TS片段文件进行顺序编号时,根据每个TS片段文件在所述M3U8文件中的播放顺序,可以是从小到大或从大到小对每个TS片段文件进行编号,下面具体以从小到大编号为例。
[0073]具体来讲,以M3U8文件中包含{TS1、TS2.....TSN}的URL地址为例,对应的所有TS
片段文件为ITSl、TS2……TSN}片段文件,在每下载{TS1、TS2……TSN}片段文件中的TSi片段文件时,根据所述TSi片段文件在所述M3U8文件中的播放顺序,对所述TSi片段文件进行编号,若i = I,则对TSl片段文件对应的编号为I;以及i = 2时,则对TS2片段文件对应的编号为2,其中,i取1-N的值,如此,使得{TS1、TS2.....TSN}片段文件对应的编号为{1、2.....N}。
[0074]接下来执行步骤S104,在该步骤中,在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。
[0075]在具体实施过程中,所述TS片段文件总数为所述所有TS片段文件的数量,具体用N表示;在所述总数大于3时,所述M可以取2或3的值,在所述M为3时,所述K可以取I或2或3的值;同理,在所述总数大于4时,所述M可以取2或3或4的值,以及在所述M为4时,所述K可以取I或2或3或4的值;以及在所述总数大于5时,所述M为2-5中的任意一个整数,在所述M为5时,所述K可以取1-5中的任意一个整数。
[0076]具体来讲,由于M〈N(总数)且ISKSM,使得所述第K个TS片段文件下载完成后,后续还要下载至少一个TS片段文件,而在所述第K个TS片段下载完成后,就开始依次在缓存中读取已下载到本地的TS片段文件进行播放,如此,使得在下载第(K+1)个TS片段文件时,就已开始对下载到本地的TS片段文件进行播放,进而能够实现一边下载TS片段文件一边播放TS片段文件,而无需在所有TS片段文件都下载完成之后进行排序后播放,从而能够有效降低播放视频的缓冲时间,提高视频播放的效率,使得用户的体验更好。
[0077]具体的,以K=I为例,首先检测所述M3U8文件中第一个TS片段文件是否下载完成,若检测到所述第一个TS片段文件下载完成,则根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其【具体实施方式】为:由于所述第一个TS片段已下载完成,则在缓存中读取所述第一个TS片段文件进行播放,然后依次检测第二个TS片段文件至最后一个TS片段文件是否下载完成,在每检测一个TS片段文件下载完成之后,则在缓存中读取下载完成的TS片段文件进行播放,如此,使得播放的TS片段文件的顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同,能够在每下载完成一个TS片段文件之后立即播放该TS片段文件,而无需在所有TS片段文件都下载完成之后才进行播放,能够进一步降低播放视频的缓冲时间。
[0078]具体的,在K= 3时,首先检测所述M3U8文件中第三个TS片段文件是否下载完成,若检测到所述第三个TS片段文件下载完成,则根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其【具体实施方式】为:由于所述第三个TS片段文件已下载完成,则在缓存中依次读取第一个至第三个TS片段文件进行播放,然后再依次检测第四个TS片段文件至最后一个TS片段文件是否下载完成,在每检测一个TS片段文件下载完成之后,则在缓存中读取下载完成的TS片段文件进行播放,如此,使得播放的TS片段文件的顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同,能够在每下载完成一个TS片段文件之后立即播放该TS片段文件。
[0079]例如,以K= I为例,{TS1、TS2……TSN}片段文件对应的编号为{1、2……N},由于I对应的TSl片段文件为所述M3U8文件中第一个TS片段文件,则首先根据编号I,检测对应的TSl片段文件是否下载完成,在检测到下载完成时,则从缓存中读取TSl片段文件进行播放;然后再根据编号2,检测对应的TS2片段文件是否下载完成,在检测到下载完成时,则从缓存中读取TS2片段文件进行播放;然后根据编号依次检测后续的TS片段文件是否下载完成,在下载完成时则进行播放,直至最后检测与编号N对应的TSN片段文件下载完成然后进行播放;如此,使得根据编号顺序,能够依照所述M3U8文件中的TS片段文件的播放顺序实时检测其是否下载完成,在每检测到下载完成一个TS片段文件之后,立即将其进行播放,而无需在M3U8文件中所有TS片段文件下载完成之后才进行播放,如此,能够有效缩短缓冲时间,使得播放效率得以提高。
[0080]在另一实施例中,在将每个TS片段文件下载到本地的过程中,所述方法还包括:对下载到本地的每个TS片段文件的完整性进行验证;获取未通过验证的TS片段文件,并根据所述未通过验证的TS片段文件的URL地址,重新将完整的所述未通过验证的TS片段文件下载到本地。
[0081]其中,在对每个TS片段文件的完整性进行验证时,可以通过每个TS片段文件对应的MD5值或哈希值等校验码以此来对其进行验证。具体的,下载到本地的每个TS片段文件中会存在MD5值或哈希值等校验码,然后获取下载到本地的每个TS片段文件的校验码,将获取的校验码与下载的校验码进行对比,在相同时,则确定所述TS片段文件是完整的,表征通过验证;在不相同时,则确定所述TS片段文件是不完整,表征未通过验证。当然,所述获取的校验码与所述下载的校验码的类别相同,若所述下载的校验码的类别为MD5,所述获取的校验码的类别也必然为MD5;若所述下载的校验码的类别为哈希值,则所述获取的校验码的类别也必然为哈希值。
[0082]在具体实施过程中,在将每个TS片段文件下载到本地的过程中,会存在其中的一部分TS片段文件已下载到本地了,而另一部分TS片段文件仅下载了其中的一部分数据,而这时,可以对已下载到本地的每个TS片段文件的完整性进行验证,若通过验证,则表征下载到本地的TS片段文件是完整的;若未通过验证,则表征下载到本地的TS片段文件是不完整的,无法进行正常的播放;如此,在对下载到本地的每个TS片段文件的完整性进行验证之后,能够获取所述未通过验证的TS片段文件,并重新将完整的所述未通过验证的TS片段文件下载到本地,以使得在播放TS片段文件时,降低由于下载到本地的TS片段文件不完整导致出现缓冲的情况,能够有效提高TS片段文件播放的流畅度,使得用户的体验更好。
[0083]具体来讲,也可以在每将一个TS片段文件下载到本地时,对该TS片段文件进行完整性验证,若通过验证,则禁止重新对其进行下载;若未通过验证,则根据该TS片段文件的URL地址,重新将完整的该TS片段文件下载到本地,由于在每个TS片段文件下载到本地时进行验证,使得验证的及时性得以提高,能够更快的检测出每个下载到本地的TS片段文件的完整性,进而采取相应的措施来确保每个下载到本地的TS片段文件的完整性,进一步降低由于下载到本地的TS片段文件不完整导致出现缓冲的情况。
[0084]实施例二:
[0085]如图2所示,本发明实施例中提供了一种视频播放方法,包括以下步骤:
[0086]S201、获取待播放视频的M3U8文件;
[0087]S202、解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址;
[0088]S203、根据所述所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地,并对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同;
[0089]S204、在依次将每个TS片段文件下载到本地的过程中,对下载到本地的每个TS片段文件进行加密;
[0090]S205、在第K个TS片段下载完成后,对已加密的每个TS片段文件进行解密,再开始根据解密后每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。
[0091]其中,在步骤S204中,在将每个TS片段文件下载到本地的过程中,可以对下载到本地的每个TS片段文件进行加密,以提高其私密性,而且加密之后的每个TS片段文件只能通过对应的解密算法进行解密之后才能进行正常播放,使得将下载的视频文件上传或复制到其它设备中时,使得其它设备并不能获知与所述视频文件对应的解密算法对其进行解密,以致无法获取TS片段文件的内容,从而不能正常播放下载的视频文件,如此,能够有效防止下载的视频文件出现未授权而播放的问题,进而能够有效防止盗版。
[0092]具体来讲,由于对下载到本地的每个TS片段文件进行了加密,使得创建的与每一个TS片段文件的本地文件处于加密状态,其中,可以通过MD5、RSA、DES等加密算法对每个TS片段文件进行加密,本申请不作具体限制。
[0093]在步骤S205中,在对下载到本地的每个TS片段文件进行加密之后,且在第K个TS片段下载完成后,对已加密的每个TS片段文件进行解密,这是由于步骤S203中对下载到本地的每个TS片段文件进行了加密,如此,需要进行解密才能确定已加密的每个TS片段文件的内容,再根据解密后每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放。
[0094]具体的,在对已加密的每个TS片段文件进行解密时,采用与步骤S204中使用的加密算法相对应的解密算法进行解密,以准确获取已加密的每个TS片段文件的内容,再根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,在K = I时,其具体实现过程如下:
[0095]首先检测所述M3U8文件中第一个TS片段文件是否下载完成,若检测到所述第一个TS片段文件下载完成,对其进行解密并在缓存中读取所述第一个TS片段文件进行播放,然后依次检测第二个TS片段文件至最后一个TS片段文件是否下载完成,在每检测一个TS片段文件下载完成之后,对其进行解密并在缓存中读取下载完成的TS片段文件进行播放,如此,使得播放的TS片段文件的顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同。
[0096]本发明的有益效果如下:
[0097]本发明实施例中,解析待播放视频的M3U8文件,并根据解析获取的所述M3U8文件中包含的所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地,并对每个TS片段文件进行顺序编号;以及在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,,由于K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数,可知K小于所述总数,使得所述第K个TS片段文件下载完成后,在下载第(K+1)个TS片段文件时,就已开始对下载到本地的TS片段文件进行播放,进而能够实现一边下载TS片段文件一边播放TS片段文件,而无需在所有TS片段文件都下载完成之后进行排序后播放,从而能够有效降低播放视频的缓冲时间,提高视频播放的效率,使得用户的体验更好。
[0098]基于与上述方法相同的技术构思,如图3所示,本发明实施例还提供了一种视频播放装置,包括:
[0099]文件获取单元301,用于获取待播放视频的M3U8文件;
[0100]文件解析单元302,用于解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址;
[0101]下载单元303,用于根据所述所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地;
[0102]编号单元304,用于在依次将每个TS片段文件下载到本地的过程中,对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同;
[0103]播放单元305,用于在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。
[0104]其中,所述视频播放装置例如可以是智能手机、平板电脑、笔记本电脑、台式电脑等具有显示屏的设备,以在所述视频播放装置的显示屏上播放视频。
[0105]较佳的,在所述TS片段文件总数大于5时,所述M为2-5中的任意一个整数,使得所述M为5时,所述K可以取1-5中的任意一个整数;以及在所述M为4时,所述K可以取1-4中的任意一个整数;以及在所述M为3时,K可以取1-3中的任意一个整数;以及在所述M为2时,K可以取I或2的值。
[0106]较佳的,所述装置还包括:
[0107]验证单元,用于在依次将每个TS片段文件下载到本地的过程中,对下载到本地的每个TS片段文件的完整性进行验证,并获取未通过验证的TS片段文件;
[0108]下载单元303,还用于根据所述未通过验证的TS片段文件的文件地址,重新将完整的所述未通过验证的TS片段文件下载到本地。
[0109]较佳的,所述装置还包括:
[0110]加密单元,用于在依次将每个TS片段文件下载到本地的过程中,对下载到本地的每个TS片段文件进行加密。
[0111]较佳的,所述装置还包括:
[0112]解密单元,用于对已加密的每个TS片段文件进行解密;
[0113]播放单元305,还用于根据解密后每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放。
[0114]本发明的有益效果如下:
[0115]本发明实施例中,解析待播放视频的M3U8文件,并根据解析获取的所述M3U8文件中包含的所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地,并对每个TS片段文件进行顺序编号;以及在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,由于K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数,可知K小于所述总数,使得所述第K个TS片段文件下载完成后,在下载第(K+1)个TS片段文件时,就已开始对下载到本地的TS片段文件进行播放,进而能够实现一边下载TS片段文件一边播放TS片段文件,而无需在所有TS片段文件都下载完成之后进行排序后播放,从而能够有效降低播放视频的缓冲时间,提高视频播放的效率,使得用户的体验更好。
[0116]本发明实施例中所述模块或单元,可以通过通用集成电路,例如CP U(CentralProcessing Unit,中央处理器),或通过 ASIC(Appl icat1n SpecificIntegratedCircuit,专用集成电路)来实现。
[0117]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
[0118]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
【主权项】
1.一种视频播放方法,其特征在于,包括: 获取待播放视频的M3U8文件; 解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址; 根据所述所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地,并对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同; 在第K个TS片段下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。2.如权利要求1所述的方法,其特征在于,在所述TS片段文件总数大于5时,所述K为1-5中的任意一个整数。3.如权利要求2所述的方法,其特征在于,在依次将每个TS片段文件下载到本地的过程中,所述方法还包括: 对下载到本地的每个TS片段文件的完整性进行验证; 获取未通过验证的TS片段文件,并根据所述未通过验证的TS片段文件的文件地址,重新将完整的所述未通过验证的TS片段文件下载到本地。4.如权利要求1?3任一项所述的方法,其特征在于,在依次将每个TS片段文件下载到本地的过程中,所述方法还包括: 对下载到本地的每个TS片段文件进行加密。5.如权利要求4所述的方法,其特征在于,所述根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,具体包括: 对已加密的每个TS片段文件进行解密,再根据解密后每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放。6.一种视频播放装置,其特征在于,包括: 文件获取单元,用于获取待播放视频的M3U8文件; 文件解析单元,用于解析所述M3U8文件,获取所述M3U8文件中包含的所有TS片段文件的文件地址; 下载单元,用于根据所述所有TS片段文件的文件地址,依次将每个TS片段文件下载到本地; 编号单元,用于在依次将每个TS片段文件下载到本地的过程中,对每个TS片段文件进行顺序编号,以使下载到本地的TS片段文件的读取顺序与所述所有TS片段文件在所述M3U8文件中的播放顺序相同; 播放单元,用于在第K个TS片段文件下载完成后,开始根据每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放,其中,K为I到M中的任意一个整数,M为小于TS片段文件总数的正整数。7.如权利要求6所述的装置,其特征在于,在所述TS片段文件总数大于5时,所述K为1-5中的任意一个整数。8.如权利要求7所述的装置,其特征在于,所述装置还包括: 验证单元,用于在依次将每个TS片段文件下载到本地的过程中,对下载到本地的每个TS片段文件的完整性进行验证,并获取未通过验证的TS片段文件; 所述下载单元,还用于根据所述未通过验证的TS片段文件的文件地址,重新将完整的所述未通过验证的TS片段文件下载到本地。9.如权利要求6-8任一项所述的装置,其特征在于,所述装置还包括: 加密单元,用于在依次将每个TS片段文件下载到本地的过程中,对下载到本地的每个TS片段文件进行加密。10.如权利要求9所述的装置,其特征在于,所述装置还包括: 解密单元,用于对已加密的每个TS片段文件进行解密; 所述播放单元,还用于根据解密后每个TS片段文件对应的编号顺序,依次在缓存中读取已下载到本地的TS片段文件进行播放。
【文档编号】H04N21/462GK105933799SQ201610334945
【公开日】2016年9月7日
【申请日】2016年5月19日
【发明人】陈龙, 李强
【申请人】成都虚拟世界科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1