Chrome/Chromium HTML5 video 视频播放硬件加速

Chromium站点上有个大致的框图。描写叙述了Chromium的video在各个平台 – 包含Android – 上是怎样使用硬件资源来做视频编解码加速的:

Chrome/Chromium HTML5 video 视频播放硬件加速

而依据Android Kitkat上的Chromium代码分析,HTML5 video播放硬件加速,终于是使用MediaCodec.java来利用本地native的硬件资源来做video视频播放加速的。

Chromium的MediaPlayer或称MediaFramework,

首先是HTMLMediaElement调用一个MediaPlayer;

接着MediaPlayer调用一个WebMediaPlayerClientImpl,后者再调用一个WebMediaPlayerImpl;

而WebMediaPlayerImpl终于调用Pipeline来表示播放的视音频A/V的Pipeline。

Chromium的MediaPlayer / MediaFramework的大致框图例如以下:

Chrome/Chromium HTML5 video 视频播放硬件加速

Pipeline里面实际包括demuxer, decoder, renderer。decoder的实现既有FFmpeg的实现,也有Google的libvpx的实现。还有平台相关的硬件加速的实现GpuVideoDecoder。

在Android Kitkat上,则是通过VideoDecodeAccelerator / AndroidVideoDecodeAccelerator调用MediaCodec来实现的。

大致框图例如以下(仅仅画decoder):

Chrome/Chromium HTML5 video 视频播放硬件加速

參考:

https://docs.google.com/document/d/1LUXNNv1CXkuQRj_2Qg79WUsPDLKfOUboi1IWfX2dyQE/preview#

原文链接:https://www.cnblogs.com/zfyouxi/p/5320707.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/7691

(0)
上一篇 2022年9月18日
下一篇 2022年9月18日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml