Chrome/Chromium HTML5 video 视频播放硬件加速
Chromium站點(diǎn)上有個(gè)大致的框圖。描寫敘述了Chromium的video在各個(gè)平臺 - 包含Android - 上是怎樣使用硬件資源來做視頻編解碼加速的:
而依據(jù)Android Kitkat上的Chromium代碼分析,HTML5 video播放硬件加速,終于是使用MediaCodec.java來利用本地native的硬件資源來做video視頻播放加速的。
Chromium的MediaPlayer或稱MediaFramework,
首先是HTMLMediaElement調(diào)用一個(gè)MediaPlayer;
接著MediaPlayer調(diào)用一個(gè)WebMediaPlayerClientImpl,后者再調(diào)用一個(gè)WebMediaPlayerImpl;
而WebMediaPlayerImpl終于調(diào)用Pipeline來表示播放的視音頻A/V的Pipeline。
Chromium的MediaPlayer / MediaFramework的大致框圖例如以下:
Pipeline里面實(shí)際包括demuxer, decoder, renderer。decoder的實(shí)現(xiàn)既有FFmpeg的實(shí)現(xiàn),也有Google的libvpx的實(shí)現(xiàn)。還有平臺相關(guān)的硬件加速的實(shí)現(xiàn)GpuVideoDecoder。
在Android Kitkat上,則是通過VideoDecodeAccelerator / AndroidVideoDecodeAccelerator調(diào)用MediaCodec來實(shí)現(xiàn)的。
大致框圖例如以下(僅僅畫decoder):
參考:
https://docs.google.com/document/d/1LUXNNv1CXkuQRj_2Qg79WUsPDLKfOUboi1IWfX2dyQE/preview#
轉(zhuǎn)載于:https://www.cnblogs.com/zfyouxi/p/5320707.html
總結(jié)
以上是生活随笔為你收集整理的Chrome/Chromium HTML5 video 视频播放硬件加速的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 达到PS4游戏机的水平需要什么级别的显卡
- 下一篇: DOM 基础 HTML标签 元素 属性