硬件解码实现方法、装置及播放器制造方法及图纸

技术编号:10391114 阅读:74 留言:0更新日期:2014-09-05 16:32
本发明专利技术涉及一种硬件解码实现方法、装置及播放器,该方法包括:对识别出的预定格式的视频文件进行解析,从中获取音频和/或视频数据流;将音频和/或视频数据流打包成OpenMAX应用层支持的视频容器格式;调用OpenMAX 应用层接口播放打包后的音频和/或视频数据流。本发明专利技术基于Adnroid系统OpenMAX AL协议接口实现了FLV等系统不支持的容器格式也能实现硬件解码,从而降低了系统视频播放功耗和CPU占用率,提高了视频播放的清晰度和流畅性,满足了用户视频播放需要。

【技术实现步骤摘要】
硬件解码实现方法、装置及播放器
本专利技术涉及播放器
,尤其涉及一种基于OpenMAX应用层接口的硬件解码实现方法、装置及播放器。
技术介绍
OpenMAX是一个多媒体应用程序的标准,其可以加速跨OS和silicon平台的多媒体组建的开发、整合和编程,使library和codec实现者能够快速有效的利用新silicon潜在的加速功能,而不关心下层的硬件结构。OpenMAX自上而下分为OpenMAXAL(ApplicationLayer,应用层)、OpenMAXIL(IntegrateionLayer,集成层)和OpenMAXDL(DevelopmentLayer,开发层)三个层次,其中:OpenMAXAL提供应用和多媒体中间层的标准接口,使得应用在多媒体接口上具有了可移植性;OpenMAXIL作为在嵌入式和移动设备中使用的audio、video、imagescodecs的底层接口,使得AP和多媒体框架可以以统一的方式访问多媒体codec和支持组件。其中,Codec可以是硬件和软件的任意组合,对用户透明。OpenMAXDL定义了一套API,包含了audio、video和imaging使用的函数集合,这些函数可以由芯片厂商针对新的处理器进行实现和优化,然后被codec厂商在各种codec上使用。OpenMAXALAPI提供了应用层的跨平台可移植的多媒体解决方案,将系统的媒体播放和记录功能进行抽象,通过API将这个抽象组织成一系列的object。然而,目前网络视频大多采用FLV(flashvideo,快速视频)视频(大部分视频采用FLV容器格式,H.264视频编码格式),虽然多数Android系统终端都能支持H.264视频编码格式的硬解播放,但由于google开源出来的默认android系统不支持FLV等视频容器格式,从而造成android系统终端播放器无法支持FLV格式硬解播放,而只能采用软解播放,由此导致系统视频播放功耗过大,CPU占用率过高,特别是高清或超清视频流的播放流畅性较差,而且不同终端厂家的软件性能表现也不一样,无法达到统一的视频播放效果。
技术实现思路
本专利技术的主要目的在于提供一种硬件解码实现方法、装置及播放器,旨在降低系统视频播放功耗和CPU占用率,提高视频播放的清晰度和流畅性。为了达到上述目的,本专利技术提出一种硬件解码实现方法,包括:对识别出的预定格式的视频文件进行解析,从中获取音频和/或视频数据流;将所述音频和/或视频数据流打包成OpenMAX应用层支持的视频容器格式;播放所述打包后的音频和/或视频数据流。本专利技术还提出一种硬件解码实现装置,包括:解析模块,用于对识别出的预定格式的视频文件进行解析,从中获取音频和/或视频数据流;打包模块,用于将所述音频和/或视频数据流打包成OpenMAX应用层支持的视频容器格式;播放模块,用于播放所述打包后的音频和/或视频数据流。本专利技术还提出一种播放器,包括如上所述的硬件解码实现装置以及OpenMAX应用层接口。本专利技术提出的一种硬件解码实现方法、装置及播放器,通过对识别出系统无法直接播放的FLV容器格式等预定格式的视频文件进行解析,从中获取音频和/或视频数据流,打包成TS容器格式等OpenMAXAL支持的视频容器格式;并通过调用OpenMAXAL接口播放打包后的音频和/或视频数据流,由此,基于Adnroid系统OpenMAXAL协议接口实现了FLV等系统不支持的容器格式也能实现硬件解码,从而降低了系统视频播放功耗和CPU占用率,提高了视频播放的清晰度和流畅性,满足了用户视频播放需要。附图说明图1是本专利技术硬件解码实现方法第一实施例的流程示意图;图2是本专利技术实施例OpenMAXAL适配层的基本原理框架示意图;图3是本专利技术硬件解码实现方法第二实施例的流程示意图;图4是本专利技术硬件解码实现装置第一实施例的结构示意图;图5是本专利技术硬件解码实现装置第二实施例的结构示意图。为了使本专利技术的技术方案更加清楚、明了,下面将结合附图作进一步详述。具体实施方式本专利技术实施例的解决方案主要是:对识别出的系统无法直接播放的FLV容器格式等预定格式的视频文件进行解析,获取音频和/或视频数据流,打包成TS容器格式等OpenMAXAL支持的视频容器格式;并通过调用OpenMAXAL接口播放打包后的音频和/或视频数据流,以使FLV等系统不支持的容器格式也能实现硬件解码,降低系统视频播放功耗和CPU占用率,提高视频播放的清晰度和流畅性。本专利技术实施例所涉及的专业术语包括:HWDecoder:HardwareDecoder,硬件解码器;OMX:OpenMAX的缩写,是NVIDIA和Khronos在2006年制定的多媒体处理框架规范;OMXAL:OpenMAXApplicationLayer的缩写,OpenMAX应用层;FLV:flashvideo的缩写,是一种视频格式的定义;视频容器格式:定义了存储数据的格式,而不涉及存储数据的类型。比较流行的有:mpeg4:文件扩展名为.mp4或者.m4v;flashvideo:一般使用.flv扩展名,用于adobeflash;Avi:audiovideointerleave,一般使用.avi扩展名。视频编码格式:视频数据的压缩方式,主流的格式有:MPEG:即运动图像专家格式,有三种压缩标准:MPEG-1、MPEG-2、MPEG-4;H.264:由国际电信联盟ITU-T所制定的新一代视频压缩格式,具有更高的数据压缩比,在同等的图像质量,H.264压缩比能比MPEG-2高2~3倍,因此网络在线视频大多采用H.264视频编码格式。如图1所示,本专利技术第一实施例提出的一种硬件解码实现方法,包括:步骤S102,对识别出的预定格式的视频文件进行解析,从中获取音频和/或视频数据流;本实施例方案适用于Android系统终端的视频播放器,同时也适用于其他需要支持视频播放的操作系统终端的视频播放器,在此以Android系统终端的视频播放器举例说明。为了解决android系统本身不支持FLV等容器格式的视频而造成只能使用软件解码的问题,本实施例提出一种基于androidOpenMAXAL接口实现因系统本身不支持的视频容器而实现硬件解码。例如网络在线视频大多采用的FLV视频,通过本实施例方案则可以解决播放视频功耗过大、大分辨率视频不流畅等问题,大大提高用户播放的体验。具体地,在本实施例中,首先针对播放器待播放的视频文件,对预先识别出的android系统无法支持的FLV等容器格式的视频文件进行解析,解析出音、视频数据流。步骤S103,将所述音频和/或视频数据流打包成OpenMAX应用层支持的视频容器格式;步骤S104,播放所述打包后的音频和/或视频数据流。将解析出的音、视频数据流打包成OpenMAXAL(OpenMAX应用层)支持的TS容器格式等数据流,其中,TS(TransportStream,流媒体)全称为MPEG2-TS,即分包发送,每一个包长为188字节。包的结构为,包头为4个字节,负载为184个字节。在TS流里可以填入很多类型的数据,如视频、音频、自定义信息等。MPEG2-TS主要应用于实时传送的节目,比如实时广播的电视节目。MPEG2-TS格式的特点就是要求从视频流的本文档来自技高网
...
硬件解码实现方法、装置及播放器

【技术保护点】
一种硬件解码实现方法,其特征在于,包括:对识别出的预定格式的视频文件进行解析,从中获取音频和/或视频数据流;将所述音频和/或视频数据流打包成OpenMAX 应用层支持的视频容器格式;播放所述打包后的音频和/或视频数据流。

【技术特征摘要】
1.一种硬件解码实现方法,其特征在于,包括:对识别出的预定格式的视频文件进行解析,从中获取音频和/或视频数据流;将所述音频和/或视频数据流打包成OpenMAX应用层支持的视频容器格式,得到打包后的音频和/或视频数据流;将打包后的音频和/或视频数据流通过OpenMAX应用层的适配层发送至OpenMAX应用层的接口,调用OpenMAX应用层的接口播放所述打包后的音频和/或视频数据流;其中,OpenMAX应用层的适配层是播放器调用OpenMAX应用层的接口实现音视频播放用例的实现体。2.根据权利要求1所述的方法,其特征在于,所述将所述音频和/或视频数据流打包成OpenMAX应用层支持的视频容器格式的步骤包括:将所述音频和/或视频数据流打包成流媒体容器格式。3.根据权利要求1或2所述的方法,其特征在于,所述对识别出的预定格式的视频文件进行解析的步骤之前还包括:识别待播放视频文件的格式。4.根据权利要求1或2所述的方法,其特征在于,所述预定格式的视频文件至少包...

【专利技术属性】
技术研发人员:周贵彪
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1