Android视频播放软解与硬解的区别

Posted 星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android视频播放软解与硬解的区别相关的知识,希望对你有一定的参考价值。

  • 硬解,用自带播放器播放,android中的VideoView
  • 软解,使用音视频解码库,比如FFmpeg

一、硬解码

硬解:就是调用GPU的专门模块编码来解,减少CPU运算,对CPU等硬件要求也相对低点。软解需要CPU运算,变相加大CPU负担耗电增加很多。硬件解码是将原来全部交由CPU来处理的视频数据的一部分交由GPU来做,而GPU的并行运算能力要远远高于CPU,这样可以大大的降低对CPU的负载,CPU的占用率较低了之后就可以同时运行一些其他的程序了。 
对于Android设备,目前用得比较多的soc就是高通、海思和联发科,这些soc大都集成了很多的功能,CPU、GUP、DSP、ISP包括视频解码、音频解码等等,所以我们说的是SOC而不是直接说CPU,目前手机的中央处理器的集成度非常高,下面是我们大华为的海思麒麟950的组成图: 
技术分享 
我们可以看到这颗SOC集成了单独的音视频解码单元。

二、软解码

软解码:即通过软件让CPU来对视频进行解码处理,就是通过CPU来运行视频编解码代码,我们最最常见的视频软解码开源看就是FFmpeg: 
技术分享

以上是关于Android视频播放软解与硬解的区别的主要内容,如果未能解决你的问题,请参考以下文章

QT软件开发-基于FFMPEG设计视频播放器-支持软解与硬解-完整例子

QT软件开发-基于FFMPEG设计视频播放器-支持软解与硬解

QT软件开发-基于FFMPEG设计视频播放器-支持软解与硬解

QT软件开发-基于FFMPEG设计视频播放器-支持软解与硬解

QT软件开发-基于FFMPEG设计视频播放器-支持软解与硬解

QT软件开发-基于FFMPEG设计视频播放器-支持流媒体地址播放