一种多媒体文件播放时长的获取方法及装置的制造方法

文档序号:10553056阅读:280来源:国知局
一种多媒体文件播放时长的获取方法及装置的制造方法
【专利摘要】本发明公开了一种多媒体文件播放时长的获取方法及装置,涉及视频技术领域,主要目的在于解决现有技术中无法准确获取点播类多媒体文件播放总时长的问题,提高点播类多媒体文件播放总时长获取的准确性。本发明实施例所采用的技术方案是:首先获取待播放多媒体文件对应的索引文件,然后解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长,根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。本发明主要用于对点播类多媒体文件总播放时长的获取。
【专利说明】
一种多媒体文件播放时长的获取方法及装置
技术领域
[0001]本发明涉及视频技术领域,尤其涉及一种多媒体文件播放时长的获取方法及装置。
【背景技术】
[0002]随着网络的不断发展,网络媒体已经成为日常生活中不可或缺的一部分,流媒体是一种可以边传边播的网络多媒体,即媒体提供商在网络上传输媒体的同时,用户可以一边不断地接收并观看或收听被传输的媒体。目前,多媒体文件的直播或者点播主要是通过基于HTTP(HyperText Transfer Protocol,超文本传输协议)协议的HLS(HTTP LiveStreaming,动态码率自适应技术)实现的。为了满足用户更好的进行多媒体文件的直播和点播观看,可以在点播播放多媒体文件时进行多媒体文件总播放时长的显示。
[0003]目前对点播类多媒体文件的播放总时长进行获取时,主要是调用安卓系统播放器预置函数接口 getDurat1nO直接获取总播放时长。该时长是终端设备当前系统框架计算出的总播放时长作为多媒体文件的播放时长,但由于不同终端设备厂商定制的安卓系统的多媒体系统框架实现方式可能不同,导致相同的多媒体文件在不同的厂商的终端设备上获取的总播放时长不同,从而造成现有点播类多媒体文件总播放时长的获取准确性较低。

【发明内容】

[0004]本发明实施例提供一种多媒体文件播放时长的获取方法及装置,用以解决现有技术中无法准确获取点播类多媒体文件总播放时长的问题,提高多媒体文件总播放时长获取的准确性。
[0005]为达到上述目的,本发明主要提供如下技术方案:
[0006]—方面,本发明实施例提供了一种多媒体文件播放时长的获取方法,该方法包括:
[0007]获取待播放多媒体文件对应的索引文件;
[0008]解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长;
[0009]根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。
[0010]另一方面,本发明实施例还提供一种多媒体文件播放时长的获取装置,该装置包括:
[0011 ]获取单元,用于获取待播放多媒体文件对应的索引文件;
[0012]解析单元,用于解析所述获取单元获取的所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长;
[0013]所述获取单元,还用于根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。
[0014]借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
[0015]本发明提供的一种多媒体文件播放时长的获取方法及装置,首先获取待播放多媒体文件对应的索引文件,然后解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长,最后根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。与目前通过调用安卓系统多媒体播放器预置函数接口 getDurat 1n ()直接获取终端设备当前系统框架计算出的总播放时长相比,本发明由于是通过先获取各个多媒体切片文件对应的播放时长,然后将各个时长相加得到的总时长作为多媒体文件的总播放时长,而不是直接获取多媒体文件的总播放时长,从而可以提高多媒体文件总播放时长获取的准确性。
[0016]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明实施例提供的一种多媒体文件播放时长的获取方法的流程图;
[0019]图2为本发明实施例提供的另一种多媒体文件播放时长的获取方法的流程图;
[0020]图3为本发明实施例提供的一种多媒体文件播放时长的获取装置的结构示意图;
[0021]图4为本发明实施例提供的另一种多媒体文件播放时长的获取装置的结构示意图。
【具体实施方式】
[0022]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]本发明实施例提供一种多媒体文件播放时长的获取方法,如图1所示,所述方法包括:
[0024]101、获取待播放多媒体文件对应的索引文件。
[0025]其中,所述待播放多媒体文件可以为用户在终端设备点播的音频文件,或是为用户点播的视频文件。所述索引文件具体是指HLS(HTTP Live Streaming,动态码率自适应技术)的流媒体所包含的m3u8(索引文件)。所述索引文件中包含有所述待播放多媒体文件对应的全部播放时间信息列表。所述获取待播放多媒体文件对应的索引文件具体是指下载该多媒体文件对应的m3u8索引文件。
[0026]例如,当用户在终端设备点播视频时,终端设备通过下载用户点播的视频对应的m3u8索引文件,获取所点播的视频对应的索引文件。
[0027]102、解析所述索引文件,得到所述待播放多媒体文件对应的各个媒体切片文件分别对应的播放时长。
[0028]其中,所述媒体切片文件具体是指HLS的流媒体所包含的TS(媒体切片文件)。所述播放时长可以为几秒钟、几分钟或者几小时,本发明实施例不做限定。
[0029]103、根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。
[0030]其中,所述获取所述多媒体文件对应的总播放时长,具体是指将已获取的各个多媒体切片文件分别对应的播放时长相加,从而得到所述的多媒体文件对应的总播放时长。例如,待播放多媒体文件对应3个多媒体切片文件,解析获取该3个多媒体切片文件对应的播放时长分别为5秒、3秒和6秒,此时,将3个多媒体切片文件分别对应的播放时长相加,从而得到该待播放多媒体文件对应的总播放时长为14秒。
[0031]本发明实施例提供的一种多媒体文件播放时长的获取方法,当需要获取某个多媒体文件的播放时长时,首先获取待播放多媒体文件对应的索引文件,然后解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长,根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。与目前通过调用安卓系统播放器预置函数接口 getDurat1nO直接获取终端设备当前系统框架计算出的总播放时长作为多媒体文件的总播放时长相比,本发明由于是通过获取各个多媒体切片文件对应的播放时长,将各个时长相加得到的总时长作为多媒体文件的总播放时长,而不是直接获取多媒体文件的总时长,从而可以提高多媒体文件总播放时长获取的准确性。
[0032]本发明实施例提供了另一种多媒体文件播放时长的获取方法,如图2所示,所述方法包括:
[0033]201、获取待播放多媒体文件对应的索引文件。
[0034]其中,所述待播放多媒体文件可以为用户在终端设备点播的音频文件,或是为用户点播的视频文件。所述索引文件中包含有所述待播放多媒体文件对应的全部播放时间信息列表。所述获取待播放多媒体文件对应的索引文件具体是指下载该多媒体文件对应的m3u8(索引文件)。
[0035]例如,当用户在终端设备点播音频文件时,终端设备装置通过下载用户点播的音频文件对应的m3u8索引文件,获取所点播的音频文件对应的索引文件。
[0036]对于本发明实施例,步骤201具体可以包括:首先检测预置设置播放地址函数是否被调用,若被调用,则获取待播放多媒体文件对应的索引文件。其中,所述设置播放地址函数具体是指setDataSourceO函数。所述预置设置播放地址函数具体是指终端设备系统内的函数接口,用于接收相应的用户指令。所述预置设置播放地址函数是否被调用具体是指终端设备是否接收到了用户点播多媒体文件的请求并传入相应的索引文件地址。对于本发明实施例,当用户在终端设备点播多媒体文件时,系统首先检测预置函数是否被调用,在确认调用后获取待播放多媒体文件对应的索引文件,避免了当不存在多媒体文件对应的索引文件时也进行索引文件获取操作,从而可以避免系统资源浪费。
[0037]对于本发明实施例,所述获取待播放多媒体文件对应的索引文件具体可以包括:通过预置系统线程,获取待播放多媒体文件对应的索引文件。所述预置系统线程具体是指传入待播放多媒体的索引文件地址后单独启动的一个工作线程。此时步骤201完整过程可以为:检测预置设置播放地址函数是否被调用,若系统检测到预置设置播放地址函数被调用,则传入待播放多媒体文件对应的索引文件地址,并单独启动一个预置系统工作线程,下载待播放多媒体文件对应的m3u8索引文件。对于本发明实施例,通过单独启动系统线程下载待播放多媒体文件对应的m3u8索引文件,可以保证准确地获取该多媒体文件对应的全部播放时间信息列表,从而提高了多媒体文件总播放时长获取的准确性。
[0038]202、解析所述索引文件的预置标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。
[0039]其中,所述播放时长可以为几秒钟、几分钟或者几小时,本发明实施例不做限定。所述索引文件的预置标签信息具体是指用于标识待播放多媒体文件对应的各个多媒体切片文件分别对应的文件信息。例如,所述预置标签信息可以用于标识各个多媒体切片文件分别对应的播放时长、下载地址、文件大小等,本发明不做限定。
[0040]对于本发明实施例,步骤202具体可以包括:解析所述索引文件的扩展标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。
[0041]其中,所述扩展标签信息具体是指EXTINF标签信息,是所述待播放多媒体文件对应的各个多媒体切片文件的播放时长的标识信息。
[0042 ]例如,系统预置线程下载的待播放多媒体文件的m3u8播放列表如下所示:
[0043]#EXTM3U
[0044]#EXT-X-TARGETDURAT1N:15
[0045]#EXT-X-MEDIA-SEQUENCE:1
[0046]#EXTINF:12,
[0047]http://media.example.com/segment0.ts
[0048]#EXTINF:13,
[0049]http://media.example.com/segmentl.ts
[0050]#EXTINF:5,
[0051 ] http://media.example.com/segment2.ts
[0052]#EXT-X_ENDLIST
[0053]其中,该多媒体文件对应3个多媒体切片文件,通过解析每个多媒体切片文件所对应的EXTINF,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长为12秒、13秒和5秒,从而实现了获取各个多媒体切片文件的播放时长。
[0054]对于本发明实施例,当需要获取待播放多媒体文件的播放时长时,通过解析索引文件中的扩展标签信息EXTINF,获取待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长,从而获得待播放多媒体文件的总时长,可以避免通过调用安卓系统播放器预置函数接口 getDurat1nO直接获取终端设备当前系统框架计算出的总播放时长作为多媒体文件的总播放时长时,由于不同终端设备厂商定制的安卓系统的多媒体系统框架实现方式不同而导致的相同的多媒体文件在不同的厂商的终端设备上获取的总播放时长不同的问题,从而可以提高待播放多媒体文件的总播放时长获取的准确性。
[0055]203、根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。
[0056]其中,所述获取所述多媒体文件对应的总播放时长,具体是指将已获取的各个多媒体切片文件分别对应的播放时长相加,从而获取所述多媒体文件对应的总播放时长。
[0057]例如,待播放多媒体文件对应5个多媒体切片文件,解析获取该5个多媒体切片文件对应的播放时长分别为2秒、10秒、7秒、22秒和18秒,此时,将5个多媒体切片文件分别对应的播放时长相加,从而获取所述待播放多媒体文件对应的总播放时长为59秒。
[0058]对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:当用户在终端设备用播放器点播娱乐视频时,系统首先检测预置设置播放地址函数setDataSource()是否被调用,若预置函数被调用,则传入该娱乐视频对应的索引文件地址,然后单独启动一个预置系统线程,下载该视频对应的m3u8索引文件并解析m3u8索引文件的预置标签信息,其中包括全部标识该娱乐视频文件对应的各个视频切片文件分别对应的播放时长的扩展标签信息EXTINF,解析全部的扩展标签信息EXTINF,得到带有EXTINF标签的全部信息:#EXTINF: 12、SEXTINF: 20、SEXTINF: 15、EXTINF: 6,S卩该娱乐视频对应的视频切片文件的播放时长分别为12秒、20秒、15秒、6秒,此时所有视频切片播放时长相加得到用户所点播的娱乐视频的总播放时长为53秒。终端设备的播放器在显示播放进度条的最大值和多媒体文件的总时长时,使用通过解析多媒体文件对应的各个多媒体切片文件分别对应的播放时长而计算出来的总时长,而不是通过播放器直接获取终端设备当前系统框架计算出的总播放时长,从而提高了多媒体文件总播放时长获取的准确性。
[0059]本发明实施例提供的另一种多媒体文件播放时长的获取方法,当需要获取某个多媒体文件的播放时长时,首先获取待播放多媒体文件对应的索引文件,然后解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长,根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。与目前通过调用安卓系统播放器预置函数接口 getDurat1nO直接获取终端设备当前系统框架计算出的总播放时长作为多媒体文件的总播放时长相比,本发明由于是通过获取各个多媒体切片文件对应的播放时长,将各个时长相加得到的总时长作为多媒体文件的总播放时长,而不是直接获取多媒体文件的总时长,从而可以提高多媒体文件总播放时长获取的准确性。
[0060]进一步地,作为图1所述方法的具体实现,本发明实施例提供了一种装置,如图3所示,所述装置包括:获取单元31、解析单元32。
[0061 ]获取单元31,用于获取待播放多媒体文件对应的索引文件;
[0062]解析单元32,用于解析所述获取单元获取的所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长;
[0063]所述获取单元31,还用于根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。
[0064]需要说明的是,本发明实施例提供的一种多媒体文件播放时长的获取装置所涉及各功能单元的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
[0065]本发明实施例提供的一种多媒体文件播放时长的获取装置,当需要获取某个多媒体文件的播放时长时,首先获取待播放多媒体文件对应的索引文件,然后解析所述获取单元获取的所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长,根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。与目前在获取多媒体文件播放时长时,通常是通过调用安卓系统播放器预置函数接口 ge tDurat i on ()直接获取终端设备当前系统框架计算出的总播放时长作为多媒体文件的总播放时长相比,本发明是获取多媒体切片文件分别对应的播放时长,而不是直接获取多媒体文件播放的总时长,从而提高了多媒体文件总播放时长获取的准确性。
[0066]进一步地,作为图2所示方法的具体实现,本发明实施例提供另一种多媒体文件播放时长的获取装置,如图4所示,所述装置可以包括:获取单元41,解析单元42。
[0067]获取单元41,用于获取待播放多媒体文件对应的索引文件;
[0068]解析单元42,用于解析所述获取单元获取的所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长;
[0069]所述获取单元41,还用于根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。
[0070]进一步地,所述解析单元42,具体用于解析所述索引文件的预置标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。
[0071]进一步地,所述解析单元42,具体还用于解析所述索引文件的扩展标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。
[0072]进一步地,所述获取单元41包括:
[0073]检测模块4101,用于检测预置设置播放地址函数是否被调用;
[0074]获取模块4102,用于若所述检测模块检测预置设置播放地址函数被调用,则获取待播放多媒体文件对应的索引文件地址。
[0075]进一步地,所述获取单元41,具体用于通过预置系统线程,获取待播放多媒体文件对应的索引文件。
[0076]需要说明的是,本发明实施例提供的另一种多媒体播放时长的获取装置所涉及各功能单元的其他相应描述,可以参考图2所示方法的对应描述,在此不再赘述。
[0077]本发明实施例提供的另一种多媒体文件播放时长的获取装置,首先获取待播放多媒体文件对应的索引文件,然后解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长,根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。与目前通过调用安卓系统播放器预置函数接口getDurat1nO直接获取终端设备当前系统框架计算出的总播放时长作为多媒体文件的总播放时长相比,本发明由于是通过获取各个多媒体切片文件对应的播放时长,将各个时长相加得到的总时长作为多媒体文件的总播放时长,而不是直接获取多媒体文件的总时长,从而可以提高多媒体文件总播放时长获取的准确性。
[0078]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0079]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0080]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种多媒体文件播放时长的获取方法,其特征在于,包括: 获取待播放多媒体文件对应的索引文件; 解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长; 根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。2.根据权利要求1所述的多媒体文件播放时长的获取方法,其特征在于,所述解析所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长包括: 解析所述索引文件的预置标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。3.根据权利要求2所述的多媒体文件播放时长的获取方法,其特征在于,所述解析所述索引文件的预置标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长包括: 解析所述索引文件的扩展标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。4.根据权利要求1所述的多媒体文件播放时长的获取方法,其特征在于,所述获取待播放多媒体文件对应的索引文件包括: 检测预置设置播放地址函数是否被调用; 若是,则获取待播放多媒体文件对应的索引文件。5.根据要求I或4所述的多媒体文件播放时长的获取方法,其特征在于,所述获取待播放多媒体文件对应的索引文件包括: 通过预置系统线程,获取待播放多媒体文件对应的索引文件。6.一种多媒体文件播放时长的获取装置,其特征在于,包括: 获取单元,用于获取待播放多媒体文件对应的索引文件; 解析单元,用于解析所述获取单元获取的所述索引文件,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长; 所述获取单元,还用于根据各个多媒体文件切片分别对应的播放时长,获取所述多媒体文件对应的总播放时长。7.根据权利要求6所述的多媒体文件播放时长的获取装置,其特征在于, 所述解析单元,具体用于解析所述索引文件的预置标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。8.根据权利要求7所述的多媒体文件播放时长的获取装置,其特征在于, 所述解析单元,具体还用于解析所述索引文件的扩展标签信息,得到所述待播放多媒体文件对应的各个多媒体切片文件分别对应的播放时长。9.根据权利要求6所述的多媒体文件播放时长的获取装置,其特征在于,所述获取单元包括: 检测模块,用于检测预置设置播放地址函数是否被调用; 获取模块,用于若所述检测模块检测预置设置播放地址函数被调用,则获取待播放多媒体文件对应的索引文件。10.根据权利要求6或9所述的多媒体文件播放时长的获取装置,其特征在于, 所述获取单元,具体用于通过预置系统线程,获取待播放多媒体文件对应的索引文件。
【文档编号】G06F17/30GK105912705SQ201610269545
【公开日】2016年8月31日
【申请日】2016年4月27日
【发明人】肖寒松
【申请人】乐视控股(北京)有限公司, 乐视体育文化产业发展(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1