[发明专利]多媒体播放方法、装置及终端有效
申请号: | 201210492929.1 | 申请日: | 2012-11-28 |
公开(公告)号: | CN103841451B | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 胡鹏;黄慧 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04N21/43 | 分类号: | H04N21/43;H04N21/4402 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 江崇玉 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多媒体 播放 方法 装置 终端 | ||
技术领域
本发明涉及计算机技术领域,特别涉及一种多媒体播放方法、装置及终端。
背景技术
多媒体文件本质上就是容纳多媒体数据的文件,它根据相关的规范将视频、音频以及字幕等数据封装在一个文件内。因此,多媒体文件的格式包含外部的文件格式以及内层的编码格式两个方面,其中,文件格式是指多媒体数据的封装方式,例如AVI、MOV、MKV、RMVB和MP4等;编码格式是指多媒体数据自身的压缩算法,例如H.264、VP8、MPEG-4、WMV9等都是常见的视频编码格式,MP3、AAC、AC-3、AMR等是常见的音频编码格式。并且,文件格式与编码格式之间属于松散的耦合关系,不必一一对应。例如MP4、MKV等文件格式可以容纳不同类型的数据编码。但是,也有少数文件格式与唯一指定的视频或音频编码格式配套使用,例如RMVB、WebM等。
基于上述多媒体文件的格式,播放视频文件主要经过媒体分离、媒体解码和媒体渲染这三个阶段。媒体分离是通过内部的分离器识别多媒体文件的文件格式,分离出视频、音频与字幕等编码数据,将其交给解码器。媒体解码是指解码器对视频数据和音频数据进行解码,得到还原的未压缩视频数据帧和音频数据帧。媒体渲染是将解码后的视频数据帧和音频数据帧经由显示设备以图像方式展示出来。这三个步骤中,媒体解码通常是计算消耗最多的一个步骤,远远大于分离与渲染,也大于音频数据的处理。而手机等设备的CPU(Central Processing Unit,中央处理器)处理能力比较有限,因而在用户使用手机等设备播放高分辨率视频时经常出现播放不流畅的情况,为了弥补CPU视频播放能力的不足,大多数智能手机会内置支持常规格式多媒体文件解码的GPU(Graphic Processing Unit,图形处理器)芯片,通过GPU调用多媒体播放的系统函数可以播放多媒体文件。
现有技术中,GPU获取指定格式的多媒体文件,通过分离器分离出多媒体文件的编码数据,通过解码器对编码数据进行解码,并对解码后的数据帧进行播放。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
GPU播放的多媒体文件需要文件格式、视频编码格式和音频编码格式都满足GPU指定的格式才行,文件格式比较固定,限制了GPU可以播放的多媒体文件的范围。
发明内容
为了解决多媒体文件的格式不被GPU识别时,GPU不能播放该多媒体文件的问题,本发明实施例提供了一种多媒体播放方法、装置及终端。所述技术方案如下:
第一方面,本发明实施例提供了一种多媒体播放方法,所述方法包括:
检测多媒体文件中的视频编码格式、音频编码格式和文件格式是否被图形处理器GPU识别;
若所述音频编码格式和/或所述文件格式不被所述GPU识别,则切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件;其中,当所述当前切片文件为第一个切片文件时,所述当前切片文件对应的时长预先设定,当所述当前切片文件不是第一个切片文件时,所述当前切片文件对应的时长根据前一切片文件在所述GPU中的剩余播放时长确定;
将所述当前切片文件中不被所述GPU识别的格式转码为所述GPU识别的格式,所述当前切片文件中不被所述GPU识别的格式为所述音频编码格式和所述文件格式中的一种或两种;
将转码后的所述当前切片文件发送给所述GPU,使所述GPU播放所述当前切片文件;
若所述视频编码格式不被所述GPU识别,则通过识别所述视频编码格式的应用程序播放所述多媒体文件。
进一步地,所述将所述多媒体文件中不被所述GPU识别的格式转码为所述GPU识别的格式,包括:
切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件;
将所述当前切片文件中不被所述GPU识别的格式转码为所述GPU识别的格式;
相应的,将转码后的所述多媒体文件发送给所述GPU,使所述GPU播放所述多媒体文件,包括:
将转码后的所述当前切片文件发送给所述GPU,使所述GPU播放所述当前切片文件。
进一步地,所述切割所述多媒体文件,并将当前切割得到的文件作为当前切片文件,包括:
确定所述多媒体文件的第一切片点;
基于所述第一切片点向后定位T时长的播放时刻,检测大于或等于所述播放时刻的第一个关键帧,将所述第一个关键帧对应的播放时刻作为第二切片点;
将所述第一切片点和所述第二切片点之间的多媒体文件切割为所述当前切片文件。
进一步地,所述确定所述多媒体文件的第一切片点,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210492929.1/2.html,转载请声明来源钻瓜专利网。