[發明專利]多媒體播放方法、裝置及終端有效
| 申請號: | 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.szxzyx.cn/pat/books/201210492929.1/2.html,轉載請聲明來源鉆瓜專利網。





