转 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: 

时间: 2024-10-28 11:32:56

转 Android视频播放软解与硬解的区别的相关文章

视频解码之软解与硬解

视频解码之软解与硬解 硬解:从字面意思上理解就是用硬件来进行解码,通过显卡的视频加速功能对高清视频进行解码,很明显就是一个专门的电路板(这样好理解-)来进行视频的解码,是依靠显卡GPU的. 软解:字面上理解就是用软件进行解码,这样理解也对,但是实际最总还是要硬件来支持的,这个硬件就是CPU. 既然有这两种不同的解码方式,我们在开发中该如何进行选择?哪个更好? 硬解优缺点: 显卡核心GPU拥有独特的计算方法,解码效率非常高,而且充当解码核心的模块成本并不高.这样不但能够减轻CPU的负担,还有着低功

Android中软解码和硬解码的优先级

我们先来看一下Android系统中解码器的命名,软解码器通常是以OMX.google开头的.硬解码器通常是以OMX.[hardware_vendor]开头的,比如TI的解码器是以OMX.TI开头的.当然还有一些不遵守这个命名规范的,不以OMX.开头的,那也会被认为是软解码器. 判断规则见frameworks/av/media/libstagefright/OMXCodec.cpp: static bool IsSoftwareCodec(const char *componentName) {

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

硬解,用自带播放器播放,android中的VideoView 软解,使用音视频解码库,比如FFmpeg 一.硬解码 硬解:就是调用GPU的专门模块编码来解,减少CPU运算,对CPU等硬件要求也相对低点.软解需要CPU运算,变相加大CPU负担耗电增加很多.硬件解码是将原来全部交由CPU来处理的视频数据的一部分交由GPU来做,而GPU的并行运算能力要远远高于CPU,这样可以大大的降低对CPU的负载,CPU的占用率较低了之后就可以同时运行一些其他的程序了. 对于Android设备,目前用得比较多的so

软触发和硬触发的区别

转自: 什么是硬件触发和软件触发 硬件触发:数据采集卡被动等待触发信号,接收到信号后才进行数据采集:触发信号可由某个仪器在一定状态下发出.如有的自动测量系统中的高速数据卡就接收position controller发出的触发信号.而有的则依靠矢量网络分析仪接收外部触发信号.之所以能接收触发信号,和仪器的工作模式有关.硬件触发与数据采集卡有关. 软件触发:通过软件主动查询信号或仪器当前状态,符合条件则控制系统采集信号.软触发有着更大的柔性,但系统整体速度和测量精度一般不如硬触发,特别是有着复杂信号

转 搞懂硬解H.265和软解H.265的区别

相信很多人对于"H.265"这一名词既熟悉又陌生,熟悉的是其大名早已如雷贯耳,大家都知道其比H.264先进(因为H.265是H.264进化而来),而说到陌生则是其主要优势在于哪里大家就不得而知了,随着盒子交战大军的大战爆发,H.265几乎成为了盒子标配,不具备硬解H.265编码.或者支持软解H.265编码的盒子将会被淘汰.下面和大家详细道来H.265的"前世今生". 关于H.265 H.265是ITU-T VCEG 继H.264之后所制定的新的视频编码标准.H.26

共享池之八:软解析、硬解析、软软解析 详解一条SQL在library cache中解析涉及的锁

先来张大图: 结合上图来说明一下解析的各个步骤涉及的锁. 软解析.硬解析.软软解析区别的简单说明: 为了将用户写的sql文本转化为oracle认识的且可执行的语句,这个过程就叫做解析过程. 解析分为硬解析和软解析,SQL语句第一次解析时必须进行硬解析 一句话说明硬解析与软解析的区别是: 硬解析=需要生成执行计划   软解析=不需要生成执行计划 在Oracle中存在两种类型的SQL语句,一类为DDL语句,不共享使用,也就是每次执行都需要进行硬解析.还有一类就是DML语句,会进行硬解析或软解析. 硬

区块链中的软分叉与硬分叉详解

区块链兄弟社区,区块链技术专业问答先行者,中国区块链技术爱好者聚集地 作者:吴寿鹤 来源:区块链兄弟 原文链接:http://www.blockchainbrother.com/article/29 著权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 说到分叉,我们首先了解一下在软件开发中的分叉是什么? 软件项目中的分叉 软件开发中的分叉指的是:在开源项目中如果有人Fork了一个项目(一个项目分叉为两个项目),然后开发者沿着这个Fork向另外一个不同的方向独立发展这个项目.例如L

Android源码目录结构详解

Android |– Makefile |– bionic (bionic C库) |– bootable (启动引导相关代码) |– build (存放系统编译规则及generic等基础开发包配置) |– cts (Android兼容性测试套件标准) |– dalvik (dalvik JAVA虚拟机) |– development (应用程序开发相关) |– external (android使用的一些开源的模组) |– frameworks (核心框架--java及C++语言) |– ha

12.Android源码目录结构详解 (转)

转载:http://blog.csdn.net/google_huchun/article/details/59576654 Android 2.1 |– Makefile |– bionic (bionic C库) |– bootable (启动引导相关代码) |– build (存放系统编译规则及generic等基础开发包配置) |– cts (Android兼容性测试套件标准) |– dalvik (dalvik Java虚拟机) |– development (应用程序开发相关) |–