视频文件播放的处理方法、装置及智能终端与流程

文档序号:15685262发布日期:2018-10-16 20:59阅读:191来源:国知局

本申请涉及音视频处理技术领域,尤其涉及一种视频文件播放的处理方法、装置及智能终端。



背景技术:

现有技术中,针对待播放的视频文件,例如,当前需要播放视频名称为“好奇纸尿裤”的视频文件时,首先需要查询该视频文件的封装格式信息,并根据封装格式信息加载解复用模块(demux),然后通过解复用模块对该视频文件进行封装解析,以获取该视频文件的视频编码格式信息和音频编码格式信息,再根据获取的视频编码格式信息和音频编码格式信息,加载视频解码模块和音频解码模块,以完成播放器的初始化,之后通过初始化后的播放器播放该视频文件。

在上述所描述的起播过程中,由于需要先遍历查询视频文件的封装格式信息,尝试对视频文件进行解封装,以及通过解封装解析获取该视频文件的视频编码格式信息和音频编码格式信息,才能相应地加载解复用模块、视频解码模块和音频解码模块,而视频文件的封装格式、视频编码格式、音频编码格式均存在很多种,这样在遍历方式的进行格式解析时就会耗费很多时间,从而导致起播速度较慢,也就是说,用户在选择开始播放视频文件后,往往需要等待较长的时间才能观看到该视频文件,从而造成用户体验不佳。

基于此,如何提升视频文件的起播速度成为本领域技术人员亟待解决的技术问题。



技术实现要素:

本申请实施例提供了一种视频文件播放的处理方法、装置及智能终端,用以提升视频文件的起播速度,提升用户体验。

第一方面,本申请实施例提供了一种视频文件播放的处理方法,所述方法包括:

将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储;

当接收到所述目标视频文件的播放请求时,读取所述文件名称对应的文件标识,以使得播放器基于所述文件标识执行针对所述目标视频文件的解复用、视频解码以及音频解码的初始化操作。

上述方法,针对一个目标视频文件,会首先将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储,如果接收到目标视频文件的播放请求,会读取文件名称对应的文件标识,相当于可以获取到视频文件的封装格式信息、视频编码格式信息和音频编码格式信息,这样,播放器根据获取到的格式信息可以加载相应的模块执行针对解复用、视频解码以及音频解码的初始化操作,在此过程中,既不需要查询该视频文件的封装格式信息,也不需要通过封装解析获取该视频文件的视频编码格式信息和音频编码格式信息,因此,相比于现有技术,可以节省视频文件遍历解析文件封装格式,进而解析视频和音频编码格式的时间,直接通过文件标识命中播放器初始化时解复用模块,音视频解码模块所需要的所有信息、因而可以提升视频文件的起播速度,从而提升用户体验。

在一可能的实现方式中,将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储之前,所述方法还包括:

判断从服务器下载的所述目标视频文件的文件命名信息中是否包括所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息;

若是,则执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的步骤。

该方法中,如果在服务器端下载的目标视频文件中,其文件命名信息中已经包含了视频文件的封装格式信息、视频编码格式信息和音频编码格式信息,则可以直接执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的步骤,然后在实际播放过程中,播放器可以基于文件标识直接加载相应的初始化模块,在此过程中,既不需要查询该视频文件的封装格式信息,也不需要通过封装解析获取该视频文件的视频编码格式信息和音频编码格式信息,因此,可以提升视频文件的起播速度,从而提升用户体验。

在一可能的实现方式中,所述判断从服务器下载的所述目标视频文件的文件命名信息中是否包括所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息之后,所述方法还包括:

若否,则遍历封装格式对所述视频文件进行封装解析,以获取所述视频文件的视频编码格式信息和音频编码格式信息;

基于解析成功的封装格式,以及获取到的所述视频编码格式信息和音频编码格式信息,执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的步骤。

该方法中,当确定从服务器中下载的视频文件命名信息中不包含视频文件的封装格式信息、视频编码格式信息和音频编码格式信息,即视频文件的命名信息中无法提取有效的播放器初始化所需要的信息时,可以通过遍历封装格式的方式对视频文件进行封装解析,以获取该视频文件视频编码格式信息和音频编码格式信息,基于解析成功的封装格式,以及获取到的所述视频编码格式信息和音频编码格式信息,执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的操作,当播放器需要播放该目标视频文件时,可以基于文件标识快速加载各初始化模块,提升起播速度。

在一可能的实现方式中,将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储,具体包括:

将所述目标视频文件的文件名称、封装格式、视频编码格式以及音频编码格式依次排列,对所述目标视频文件再次命名;

将命名后的信息作为所述目标视频文件的文件标识进行存储。

该方法中,通过将所述目标视频文件的文件名称、封装格式、视频编码格式以及音频编码格式依次排列,并再次命名后作为文件标识进行存储,这样,当播放器基于文件标识去加载各功能模块时,可以按照命名信息中罗列的排列顺序,得到对应的文件名称、封装格式、视频编码格式以及音频编码格式,缩短视频文件的起播时间。

在一可能的实现方式中,所述目标视频文件为开机广告视频文件,判断从服务器下载的所述目标视频文件的文件命名信息中是否包括所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息之前,所述方法还包括:

检测开机广告视频文件是否存在;

若否,则向服务器发送针对所述开机广告视频文件的下载请求。

该方法中,视频文件为开机广告视频文件,通过先检测开机广告视频文件是否存在,当确定存在开机广告视频文件时,才进行后续的步骤,这样可以节约应用该方法的智能终端的系统资源。

第二方面,本申请实施例还提供了一种视频文件播放的处理装置,包括用于执行第一方面或第一方面的任意可能的实现方式中的视频文件播放的处理方法的模块。

第三方面,本申请实施例还提供了一种智能终端,包括本申请任意实施例提供的视频文件播放的处理装置。

附图说明

图1为现有技术中视频文件的播放装置的结构示意图;

图2为本申请实施例提供的视频文件播放的处理方法的流程示意图;

图3为本申请实施例提供的视频文件的在具体播放时的整体流程图;

图4为本申请实施例提供的视频文件播放的处理装置的结构示意图;

图5为本申请实施例提供的视频文件播放的处理装置所在智能终端的一种硬件结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

一般来说,智能终端(例如智能电视)利用开源多媒体框架(例如gstreamer框架)实现的播放器播放视频文件。然而gstreamer框架中,插件机制是其核心,所有的元件(element)都是以插件(plugin)的形式绑定在管道(pipeline)中,以用来实现流媒体播放,动态加载机制简单来说就是gstreamer框架依照所请求的流媒体的格式在自己的插件库中寻找可用插件以实现自动绑定的一种模式。例如:播放一个ogg封装格式的视频文件,参见图1,可用文件源01(file-source)元件来读取要播放的视频文件数据,用与file-source连接的格式查询02(typefind)元件来判断待播放视频文件是哪种封装格式,根据typefind提供的结果选定解复用03(demux)元件,ogg-demuxer是用来解析ogg封装格式视频文件的元件,通过它的解析可以得知要播放的视频文件的视频编码信息和音频编码信息,以便选择视频解码器04(videodecoder)和音频解码器05(audiodecoder),解码后的视频由视频输出06(video-sink)元件输出,解码后的音频由音频输出07(audio-sink)元件输出。其中,与文件格式相关的只有demux、videodecoder、audiodecoder这三种元件,gstreamer元件库中对于不同的格式有不同的元件,如何从元件库中快速找到与待播放的视频文件格式匹配的元件是本申请的关注点。

基于此,本申请提供了一种视频文件播放的处理方法、装置以及智能终端。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

参见图2,本申请实施例提供的一种视频文件播放的处理方法,该方法可以应用于具有视频存储和播放功能的智能终端,例如智能电视,该方法可以包括如下步骤:

s101、将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储;

其中,目标视频文件可以是从服务器中下载的,也可以是终端出厂时所预置进去的,相应的,目标视频文件的文件标识可以是由运营端根据预设规则针对视频文件所提供的信息,例如在运营端针对该视频文件的命名信息中就包含文件封装格式、视频编码格式以及音频编码格式与文件名称,也可以是由智能终端如电视机根据预设规则对视频文件进行命名的,本申请实施例对此并不进行限定。

上述符合要求的视频文件的文件标识优选为视频文件的命名方式,例如:一目标视频文件,其视频名称为“好奇纸尿裤”,该视频文件的封装格式为mpeg-ts,视频编码格式为mpegvideoversion2,音频编码格式为ac-3,将其按本申请提供的文件标识存储方式,该视频文件的文件标识可以为《好奇纸尿裤[mpegts][mpegvideov2][ac3].mp4》,优选的,将此文件标识作为目标视频文件的命名方式。

s102、当接收到所述目标视频文件的播放请求时,读取所述文件名称对应的文件标识,以使得播放器基于所述文件标识执行针对所述目标视频文件的解复用、视频解码以及音频解码的初始化操作。

在一较佳实施方式中,如果此时有需求针对该视频文件进行播放,如播放器接收到文件名称为“好奇纸尿裤”的视频文件的播放请求,此时,可以读取“好奇纸尿裤”对应的文件标识,如上述实施例中的“《好奇纸尿裤[mpegts][mpegvideov2][ac3].mp4》”。

具体地,以使用基于gstreamer框架的android智能电视播放上述命名方式为《好奇纸尿裤[mpegts][mpegvideov2][ac3].mp4》的视频文件为例,解析该文件命名方式,可以获取待播放的视频文件的封装格式为mpeg-ts、视频编码格式为mpegvideoversion2、音频编码格式为ac-3,再根据获取到的格式信息,可以从元件库中快速找到与待播放的视频文件格式匹配的元件,即avdemux_mpegts(解复用模块)、androidmc-mpeg2(视频解码模块)、androidmc-ac3(音频解码模块)这三个模块。

进一步的,在步骤s101,目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储之前,上述方法还包括:

判断从服务器下载的所述目标视频文件的文件命名信息中是否包括所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息;

若是,则执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的步骤。

在一较佳实施方式中,如在服务器端或者说运营端已经提供了针对该目标视频文件的文件封装格式信息、视频编码格式信息和音频编码格式信息,相当于提供了关于视频文件的文件名称与文件封装格式信息、视频编码格式信息和音频编码格式信息之间的对应关系,这样,可以将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储,那终端的播放器在播放时,播放请求中可以只有文件名称,如“好奇纸尿裤”,但是播放器端仍然可以同步获取到“好奇纸尿裤”对应的文件标识中的所有播放器需要的格式类信息。

进一步的,如果从服务器下载的所述目标视频文件的文件命名信息中不包括所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息,那接下来可以执行如下步骤:

遍历封装格式对所述视频文件进行封装解析,以获取所述视频文件的视频编码格式信息和音频编码格式信息;

基于解析成功的封装格式,以及获取到的所述视频编码格式信息和音频编码格式信息,执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的步骤。

在一较佳实施方式中,当服务器中下载的目标视频文件,其文件命名信息不符合预设的命名规则,即并不包含目标视频文件的封装格式信息、视频编码格式信息和音频编码格式信息;

此时,则需要播放器对目标视频文件执行与现有技术类似的解析过程,即遍历封装格式,获取视频文件的视频编码格式信息和音频编码格式信息,基于解析成功的封装格式,以及获取到的所述视频编码格式信息和音频编码格式信息,执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的步骤。

示例的,如果服务器端提供的是一个命名方式为《好奇纸尿裤.mp4》的视频文件,此时,无法从服务器所提供的命名方式中提取到播放器所需要的格式类信息,因此,播放器可尝试对目标视频文件进行遍历式的格式解析,最终通过解析,可以得到视频文件的封装格式为mpeg-ts、视频编码格式为mpegvideoversion2、音频编码格式为ac-3,此时,为了方便终端设备对该视频文件的封装格式,音视频编码方式进行记录,可以将所述目标视频文件的文件名称、封装格式、视频编码格式以及音频编码格式依次排列,对所述目标视频文件再次命名,如《好奇纸尿裤[mpegts][mpegvideov2][ac3].mp4》;将命名后的信息作为所述目标视频文件的文件标识进行存储。

这样,在下一次播放时,因为该视频文件的命名方式已经变更,通过解析文件标识,即命名方式,可以得到视频文件的封装格式为mpeg-ts、视频编码格式为mpegvideoversion2、音频编码格式为ac-3,以便于播放时可以从元件库中快速找到与待播放的视频文件格式匹配的元件,即avdemux_mpegts(解复用模块)、androidmc-mpeg2(视频解码模块)、androidmc-ac3(音频解码模块)这三个模块,并进行加载实现初始化操作。

需要指出的是,上述视频文件可以为开机广告视频文件,该开机广告视频文件可以是智能终端联网后,定期从运营端下载并保存,也可以不通过服务器,在出厂时预置到终端中。

在一较佳实施方式中,所述目标视频文件为开机广告视频文件,判断从服务器下载的所述目标视频文件的文件命名信息中是否包括所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息之前,所述方法还包括:

检测开机广告视频文件是否存在;

当确定存在开机广告视频文件时,获取该开机广告视频文件的文件命名信息;

若否,则向服务器发送针对所述开机广告视频文件的下载请求。

需要说明的是,在播放其他指定的视频文件时,由于视频文件是确定存在的,因此可以不设置检测视频文件是否存在的步骤。

综上,下面以开机广告视频文件为例,从视频文件播放的角度,结合图3说明本申请实施例中视频文件播放的整体流程:

s201、检测开机广告视频文件是否存在;当确定存在开机广告视频文件时,执行步骤s202;否则,执行步骤s209;

s202、获取待播放的开机广告视频文件的文件标识,并根据预设的命名规则对该文件标识进行解析;

s203、判断该文件标识是否符合预设的命名规则并得出判定结果,当根据该判定结果确定该文件标识符合预设的命名规则时,执行步骤s204;否则,执行步骤s206;

s204、从该文件标识中获取该视频文件的封装格式信息、视频编码格式信息和音频编码格式信息;

s205、根据获取的所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息,加载解复用模块、视频解码模块和音频解码模块,以完成播放器的初始化;

s206、通过遍历封装格式的方式对该视频文件进行封装解析,以获取该视频文件视频的编码格式信息和音频编码格式信息;根据获取到的该视频文件的视频编码格式信息和音频编码格式信息,加载视频解码模块和音频解码模块,以完成播放器的初始化;

s207、通过初始化后的播放器播放该视频文件;

当该文件名称符合预设的命名规则,在执行步骤s207后,可以执行步骤s209;而当该文件标识不符合预设的命名规则,在播放视频文件后,该方法还可以包括下面的步骤s208,在执行步骤s208后,再执行步骤s209。

s208、根据预设的命名规则对该视频文件重新命名并保存;

s209、结束流程。

参见图4,基于同一发明构思,本申请实施例提供的一种视频文件播放的处理装置,可以包括:视频文件存储模块11和播放器初始化模块12。

视频文件存储模块11,用于将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储;

播放器初始化模块12,用于当接收到所述目标视频文件的播放请求时,读取所述文件名称对应的文件标识,以使得播放器基于所述文件标识执行针对所述目标视频文件的解复用、视频解码以及音频解码的初始化操作。

优选的,还可以包括播放控制模块,播放控制模块,可以用于通过初始化后的播放器播放该视频文件。

在一较佳实施方式中,所述装置还包括:

判断模块,用于判断从服务器下载的所述目标视频文件的文件命名信息中是否包括所述视频文件的封装格式信息、视频编码格式信息和音频编码格式信息;

所述视频文件存储模块具体包括:

第一执行模块,用于在所述判断模块的判断结果为是的情况下,执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的操作。

进一步的,所述视频文件存储模块还包括:

封装解析模块,用于在所述判断模块的判断结果为否的情况下,遍历封装格式对所述视频文件进行封装解析,以获取所述视频文件的视频编码格式信息和音频编码格式信息;

第二执行模块,用于基于解析成功的封装格式,以及获取到的所述视频编码格式信息和音频编码格式信息,执行将目标视频文件的文件封装格式、视频编码格式以及音频编码格式与文件名称一起作为文件标识进行存储的操作。

进一步的,所述视频文件存储模块具体包括:

文件名称更改模块,用于将所述目标视频文件的文件名称、封装格式、视频编码格式以及音频编码格式依次排列,对所述目标视频文件再次命名;以及将命名后的信息作为所述目标视频文件的文件标识进行存储。

需要指出的是,本申请视频文件的播放装置的实施例可以应用在具有视频播放功能的智能终端上,例如智能电视机、智能手机。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在智能终端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请视频文件播放的处理装置所在智能终端的一种硬件结构图,除了图5所示的处理器71、内存72、网络接口73、非易失性存储器74、以及内部总线75之外,实施例中装置所在的智能终端通常根据该智能终端的实际功能,还可以包括其他硬件,对此不再赘述。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1