The invention relates to a method and a device for playing multimedia files. The method comprises: acquiring multimedia files to be played on multimedia files; demultiplexing; according to the format information to initialize the hardware decoder demultiplexed data; decodes the demultiplexed data by hardware decoder; the hardware renderer for rendering the decoded data. According to the method and device of the invention can play multimedia files in the multimedia file playing most of the circumstances, can be used instead of hardware decoding software decoding, which can reduce the occupancy rate of CPU, using GPU hardware accelerated replacement of local software algorithm, which can reduce the system memory overhead, reduce system load, and reduces the power consumption for playing multimedia the file is generated, and avoid during playback Caton phenomenon or APP response phenomenon, improve the user experience, multimedia files can make more low-end models play a higher resolution.
【技術實現步驟摘要】
本專利技術涉及信息
,尤其涉及一種播放多媒體文件的方法及裝置。
技術介紹
多媒體文件的封裝格式包括MP4、MOV、FLV、AVI、MKV和RMVB等。這些封裝格式標記了多媒體文件使用的封裝協議,以便應用層使用對應的解復用器對該多媒體文件的音視頻進行分離。不同的封裝協議采用不同的參數標準,例如HeaderSlice、HeaderInfo或HeaderIndex等,這些參數可以用于解析多媒體文件的基本信息,例如是否存在音頻及字幕、該文件的軌道信息等。這些基本信息可以用于初始化解復用器的相關參數,由此使播放器能通過解復用器正確分離音視頻數據,從而供解碼模塊進行解碼處理。多媒體文件的編碼格式是針對解復用器拆分出的音視頻數據而存在的重要參數。目前,大多數視頻采用H264進行編碼,大多數音頻采用AAC(Advanced Audio Coding,高級音頻編碼)進行編碼。每一種編碼方法都有其特定的協議用于解析額外數據(extradata)。視頻數據的額外數據中包含多個NALU(Network Abstract Layer Unit,網絡抽象層單元)字段,在視頻數據的NALU字段中,根據其編碼協議,存儲SPS(Sequence Parameter Set,序列參數集)、PPS(Picture Parameter Set,圖像參數集)和IDR(Instantaneous Decoding Refresh,即時解碼刷新)等信息。SPS、PPS和IDR是視頻解碼的重要參數。音頻數據的額外數據中也包括NALU字段,在音頻數據的NALU字段中,可以包含esds字段等重要的音 ...
【技術保護點】
一種播放多媒體文件的方法,其特征在于,包括:獲取待播放的多媒體文件;對所述多媒體文件進行解復用,得到所述多媒體文件對應的解復用數據以及所述解復用數據的格式信息;根據所述解復用數據的格式信息初始化硬件解碼器;采用所述硬件解碼器對所述解復用數據進行解碼,得到所述解復用數據對應的解碼數據;采用硬件渲染器對所述解碼數據進行渲染。
【技術特征摘要】
1.一種播放多媒體文件的方法,其特征在于,包括:獲取待播放的多媒體文件;對所述多媒體文件進行解復用,得到所述多媒體文件對應的解復用數據以及所述解復用數據的格式信息;根據所述解復用數據的格式信息初始化硬件解碼器;采用所述硬件解碼器對所述解復用數據進行解碼,得到所述解復用數據對應的解碼數據;采用硬件渲染器對所述解碼數據進行渲染。2.根據權利要求1所述的方法,其特征在于,所述方法基于MediaCodec框架。3.根據權利要求1或2所述的方法,其特征在于,采用所述硬件解碼器對所述解復用數據進行解碼,得到所述解復用數據對應的解碼數據,包括:采用所述硬件解碼器對所述解復用數據中的待解碼幀進行解碼,得到所述待解碼幀對應的幀解碼數據。4.根據權利要求3所述的方法,其特征在于,在采用所述硬件解碼器對所述解復用數據中的待解碼幀進行解碼之前,所述方法還包括:將所述待解碼幀的時間戳發送至所述硬件解碼器;在得到所述待解碼幀對應的幀解碼數據之后,所述方法還包括:接收所述硬件解碼器返回的所述幀解碼數據的時間戳和所述時間戳的序號,其中,所述幀解碼數據的時間戳與所述待解碼幀的時間戳相同。5.根據權利要求4所述的方法,其特征在于,采用硬件渲染器對所述解碼數據進行渲染,包括:采用所述硬件渲染器根據所述幀解碼數據的時間戳和所述時間戳的序號對所述幀解碼數據進行渲染。6.根據權利要求2所述的方法,其特征在于,根據所述解復用數據的格式信息初始化硬件解碼器,具體為:采用Java本地接口,通過對象與MediaCodec框架進行...
【專利技術屬性】
技術研發人員:李琛,吳建平,李慶燕,彭偉剛,林岳,顧思斌,潘柏宇,王冀,
申請(專利權)人:合一網絡技術北京有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。