播放多媒体数据的方法及装置的制造方法

文档序号:8514855阅读:193来源:国知局
播放多媒体数据的方法及装置的制造方法
【技术领域】
[0001]本发明涉及互联网领域,特别涉及一种播放多媒体数据的方法及装置。
【背景技术】
[0002]随着电子智能终端的发展与普及,终端不仅可以支持系统中自带的应用程序,还可以支持第三方应用程序。第三方应用程序可以包括浏览器、即时通讯工具、多媒体播放器等等。当播放多媒体数据时,终端不仅可以使用系统中自带的多媒体播放器进行播放,还可以使用第三方应用程序中的多媒体播放器进行播放。
[0003]目前,终端使用第三方应用程序中的多媒体播放器播放多媒体数据的过程为:终端接收多媒体数据,并对该多媒体数据进行容器格式解析,得到压缩编码后的视频码流和音频码流。通过第三方应用程序自带的视频解码模块对该视频码流进行解码,得到解码后的视频数据,并通过第三方应用程序自带的音频解码模块对该音频码流进行解码,得到解码后的音频数据。然后,基于解码后的视频数据和音频数据,进行多媒体数据的播放。
[0004]由于视频解码的计算复杂度较高,采用第三方应用程序自带的视频解码模块会消耗大量的CPU(Central Processing Unit,中央处理器)计算资源,导致播放多媒体数据时终端的耗电量较大。另外,在低配置的终端上播放较高分辨率的视频数据时,视频解码模块的速度达不到人眼流畅观看视频所需的帧率(25?30fps),造成视频卡顿,严重影响多媒体数据的播放质量。当终端的配置特别低的时候,可能还会导致多媒体数据无法播放,甚至造成多媒体播放器异常终止、终端死机等严重问题。

【发明内容】

[0005]为了解决现有技术的问题,本发明实施例提供了一种播放多媒体数据的方法及装置。所述技术方案如下:
[0006]一方面,提供了一种播放多媒体数据的方法,所述方法包括:
[0007]基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器;
[0008]对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到一帧视频码流;
[0009]如果所述硬件视频解码器初始化成功,则通过所述硬件视频解码器对所述视频码流进行解码,得到解码后的视频数据;
[0010]基于解码后的视频数据,进行多媒体数据的播放。
[0011]另一方面,提供了一种播放多媒体数据的装置,所述装置包括:
[0012]第一调用模块,用于基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器;
[0013]解析模块,用于对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到一帧视频码流;
[0014]第一解码模块,用于如果所述硬件视频解码器初始化成功,则通过所述硬件视频解码器对所述视频码流进行解码,得到解码后的视频数据;
[0015]播放模块,用于基于解码后的视频数据,进行多媒体数据的播放。
[0016]在本发明实施例中,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。如果本端的硬件视频解码器初始化成功,则通过本端的硬件视频解码器对视频码流进行解码,得到解码后的视频数据。而不是直接通过多媒体播放器包括的视频解码模块对视频码流进行解码。由于本端的硬件视频解码器是通过硬件对视频码流进行解码,多媒体播放器包括的视频解码模块式通过软件对视频码流进行解码,并且硬件解码的速度远远大于软件解码的速度,因此,采用硬件解码可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量。另外,硬件解码的高速度可以满足在低配置的终端上播放较高分辨率的视频数据时所需的帧率,避免视频卡顿,提高多媒体数据的播放质量,进而避免多媒体数据无法播放,以及多媒体播放器异常终止、终端死机等严重问题。
【附图说明】
[0017]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本发明实施例提供的一种播放多媒体数据的装置结构示意图;
[0019]图2是本发明实施例提供的一种播放多媒体数据的方法流程图;
[0020]图3是本发明实施例提供的另一种播放多媒体数据的方法流程图;
[0021]图4是本发明实施例提供的一种播放多媒体数据的装置结构示意图。
【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023]图1是本发明实施例提供的一种播放多媒体数据的装置结构示意图。在图1中包括容器格式解析模块、硬件加速能力适配模块、硬件视频解码器、视频解码模块、音频解码模块、音视频同步模块、加速视频渲染器、兼容视频渲染模块和音频渲染模块。其中,容器格式解析模块、硬件加速能力适配模块、视频解码模块、音频解码模块、音视频同步模块、兼容视频渲染模块和音频渲染模块是多媒体播放器包括的软件模块,硬件视频解码器和加速视频渲染器是本端包括的硬件模块。如图1所示,硬件视频解码器和视频解码模块可以互相切换以对容器格式解析模块解析得到的视频码流进行解码。当本端支持硬件加速且硬件视频解码器初始化成功时,可以切换为硬件视频解码器对视频流进行解码;当本端不支持硬件加速、硬件视频解码器初始化失败或播放过程中硬件视频解码器解码失败时,可以切换为视频解码模块对视频码流进行解码。另外,加速视频渲染器和兼容视频渲染模块也可以互相切换以对同步后的视频数据进行渲染。当本端采用硬件视频解码器进行解码且加速视频渲染器初始化成功时,可以切换为加速视频渲染器对同步后的视频数据进行渲染。当本端采用视频解码模块进行解码或者加速视频渲染器初始化失败时,可以切换为兼容视频渲染模块对同步后的视频数据进行渲染。
[0024]图2是本发明实施例提供的一种播放多媒体数据的方法流程图。参见图2,该方法包括:
[0025]步骤201:基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。
[0026]步骤202:对于该多媒体文件中的每一帧多媒体数据,对该多媒体数据进行容器格式解析,得到一帧视频码流。
[0027]步骤203:如果该硬件视频解码器初始化成功,则通过该硬件视频解码器对视频码流进行解码,得到解码后的视频数据。
[0028]步骤204:基于解码后的视频数据,进行多媒体数据的播放。
[0029]在本发明实施例中,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。如果本端的硬件视频解码器初始化成功,则通过本端的硬件视频解码器对视频码流进行解码,得到解码后的视频数据。而不是直接通过多媒体播放器包括的视频解码模块对视频码流进行解码。由于本端的硬件视频解码器是通过硬件对视频码流进行解码,多媒体播放器包括的视频解码模块式通过软件对视频码流进行解码,并且硬件解码的速度远远大于软件解码的速度,因此,采用硬件解码可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量。另外,硬件解码的高速度可以满足在低配置的终端上播放较高分辨率的视频数据时所需的帧率,避免视频卡顿,提高多媒体数据的播放质量,进而避免多媒体数据无法播放,以及多媒体播放器异常终止、终端死机等严重问题。
[0030]可选地,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的的硬件视频解码器,包括:
[0031]基于多媒体文件,调用本端的硬件视频解码器接口 ;
[0032]如果调用该硬件视频解码器接口时获得的返回信息指示调用成功,则确定对该硬件视频解码器初始化成功。
[0033]可选地,对于多媒体文件中的每一帧多媒体数据,对该多媒体数据进行容器格式解析,得到视频码流之后,还包括:
[0034]如果对该多媒体数据进行容器格式解析之后还得到一帧音频码流,则通过多媒体播放器包括的音频解码模块对该音频码流进行解码,得到解码后的音频数据。
[0035]可选地,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器之后,还包括:
[0036]基于该多媒体文件,调用本端的加速视频渲染器接口,以初始化本端的加速视频渲染器;
[0037]相应地,基于解码后的视频数据,进行多媒体数据的播放,包括:
[0038]根据解码后的视频数据的时间戳和解码后的音频数据的时间戳,对视频数据和音频数据进行同步处理;
[0039]如果该加速视频渲染器初始化成功,则通过该加速视频渲染器对同步处理后的视频数据进行渲染;
[0040]通过多媒体播放器包括的音频渲染模块对同步处理后的音频数据进行渲染;
[0041]输出渲染后的视频数据和音频数据,实现多媒体数据的播放。
[0042]可选地,基于该多媒体文件,调用本端的加速视频渲染器接口,以初始化本端的加速
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1