zoukankan      html  css  js  c++  java
  • Chrome/Chromium HTML5 video 视频播放硬件加速

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


    而依据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的大致框图例如以下:


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

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

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


    參考:

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

  • 相关阅读:
    第12组(78) Beta冲刺 (2/5)(组长)
    第12组 Beta冲刺 (1/6)(组长)
    软工实践个人总结
    第 02 组 每周小结 (3/3)
    第02组 每周小结(2/3)
    第02组 每周小结 (1/3)
    第02组Beta冲刺 总结
    第02组Beta冲刺(5/5)
    第02组Beta冲刺(4/5)
    第02组Beta冲刺(3/5)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5320707.html
Copyright © 2011-2022 走看看