美文网首页
硬解和软解

硬解和软解

作者: smallest_one | 来源:发表于2018-05-13 12:28 被阅读94次

    一、硬解码

    硬解定义:使用GPU的专门模块来解码。

    Android中硬件解码直接使用MediaCodec就可以,虽然MediaPlayer也是硬件解码,但是被封装得太死了,支持的协议很少。MediaCodec很好拓展,可以根据流媒体的协议和设备硬件本身来自定义硬件解码,代表播放器Google开源ExoPlayer

    二、软解码

    软解定义:使用CPU来运行视频编解码代码。

    最常见的视频软解码开源是FFmpeg

    目前基于FFmpeg的开源播放器有B站的ijkplayer。

    三、软硬解码对比

    1.耗电:硬解使用GPU解码,GPU的并行运算能力要远远高于CPU,可以大大地降低CPU的负载,更加省电;软解使用CPU解码,更加耗性能和耗电。
    2.硬件支持:软解兼容性好,在哪都能用;硬解需要设备硬件支持。

    总结

    在Android设备硬件支持的情况下优先使用Android设备的硬件解码,减少CPU的占用,更加省电,在Android设备硬解不支持的情况下选择使用软解码。

    参考

    1. Android 用MediaCodec实现视频硬解码
    2. Android视频硬解稳定性问题探讨和处理
    3. Android利用硬解硬编和OpenGLES来高效的处理MP4视频
    4. Android硬编解码接口MediaCodec使用完全解析(一)
    5. FFmpeg 硬件加速方案概览 (下)

    相关文章

      网友评论

          本文标题:硬解和软解

          本文链接:https://www.haomeiwen.com/subject/qstcdftx.html