美文网首页
视屏的软解码和硬解码

视屏的软解码和硬解码

作者: iOS_Edward | 来源:发表于2017-04-13 15:59 被阅读0次

最近在研究IJKPlayer框架,对视屏的软解码和硬解码也有一些自己的理解.

我们在计算机上播放的视频文件都是经过压缩的,因为这样有利于节约存储空间;那么在播放过程,就需要进行一个反射的解压缩过程。在以前这项工作都是由CPU来完成的,对于普通分辨率的AVI、RMVB等文件,绝大多数的CPU都可以胜任;但是发展到高清视频(1080i/p)之后,数据解压缩的工作量比以前翻了数倍,这让很多处理器叫苦不迭。

随着技术的发展,工程师们发现显卡的GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。视频解码工作从处理器那里分离出来,交给显卡去做,这就叫做“硬解码”,例如NVDIA的PureVideo、AMD的UVD技术等等;与之对应的,以前那种纯粹依靠CPU来讲稿的方式则是“软解码”。不过受到技术条件的限制,纯粹的“硬解码”在现阶段是不存在的,CPU依然在发挥一部分作用,只不过硬解码时GPU/VPU已经成为运算的主力。

以上是一般意义上视屏的软解码和硬解码在百度百科的区别,在我们做视屏开发中,两者的具体区别可以用一下几点来理解:

1.软解码和硬解码的区别:

软编码:使用CPU进行编码

硬编码:使用非CPU进行编码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等

2.软编码和硬编码比较

软编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点。

硬编码:性能高,低码率下通常质量低于软编码器,但部分产品在GPU硬件平台移植了优秀的软编码算法(如X264)的,质量基本等同于软编码。

3.目前的主流GPU加速平台

Intel、AMD、NVIDIA

4.目前主流的GPU平台开发框架

CUDA:NVIDIA的封闭编程框架,通过框架可以调用GPU计算资源

AMD APP:AMD为自己的GPU提出的一套通用并行编程框架,标准开放,通过在CPU、GPU同时支持OpenCL框架,进行计算力融合。

OpenCL:开放计算语言,为异构平台编写程序的该框架,异构平台可包含CPU、GPU以及其他计算处理器,目标是使相同的运算能支持不同平台硬件加速。

Inel QuickSync:集成于Intel显卡中的专用视频编解码模块。

相关文章

  • 视屏的软解码和硬解码

    最近在研究IJKPlayer框架,对视屏的软解码和硬解码也有一些自己的理解. 我们在计算机上播放的视频文件都是经过...

  • 32.FFmpeg+OpenGLES+OpenSLES播放器实现

    项目源码FFmpeg开发文档解码分为软解码和硬解码,那么什么是软解码和硬解码,二者有什么区别?简单来说,在于是否使...

  • 软解码和硬解码的区别

    软解码和硬解码有什么区别?硬解码:由显卡核心GPU来对高清视频进行解码工作,CPU占用率很低,画质效果比软解码略差...

  • H.264, H.265,编解码

    1、硬编解码与软编解码的区别 硬编解码:使用了GPU 软编解码:只使用了CPU MediaCodec(androi...

  • 直播-编码

    编码分为硬编码和软编码。 硬解码:由显卡核心GPU来对高清视频进行解码工作,CPU占用率很低,画质效果比软解码略差...

  • 【iOS】FFmpeg编译+h264解码+yuv渲染

    从零开始认识视频解码和渲染,需求是用ffmpeg软解码和videoToolBox硬解码,现已完成ffmpeg方面,...

  • 硬解码,软解码

    原文:https://www.jianshu.com/p/93b7f7ec2d04 硬解,用自带播放器播放,and...

  • 视频软解码和硬解码

    软解码和硬解码 为了节约存储空间,播放的视频文件都是经过压缩的。在播放过程,就需要进行一个反射的解压缩过程。在以前...

  • android进阶必备技能

    系统篇 android不同版本所做的性能优化 硬解码,软解码原理,如何解决硬解码花屏问题 binder原理,为什么...

  • [iOS]iOS上解码方式

    除了iOS从8开始之后的硬解码开放,其他分为两种 ffmpeg软解码libvlc解码

网友评论

      本文标题:视屏的软解码和硬解码

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