iOS之视频硬编码和软编码、硬解码、软解码

ffmpeg:https://blog.csdn.net/qq_36688143/article/details/79162121、

视频编解码综合:https://blog.csdn.net/leixiaohua1020/article/details/15811977

 

https://www.jianshu.com/p/a6917c05a7d6

https://www.jianshu.com/p/a204ffd6c1db

H264详解:https://www.jianshu.com/p/9522c4a7818d

  • 软编码:使用CPU进行编码。编码框架ffmpeg+x264。

https://www.jianshu.com/p/e631b041e96d

https://www.jianshu.com/p/3de01105d735

 

  • 硬编码:不使用CPU进行编码,使用显卡GPU,专用的DSP、FPGA、ASIC芯片等硬件进行编码。编码框架Video ToolBox和AudioToolbox。

https://www.jianshu.com/p/8423724dffc1

https://blog.csdn.net/haowei0926/article/details/56012139

 

  •  
    • 比较
      • 软编码:实现直接、简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点。
      • 性能高,低码率下通常质量低于软编码器,但部分产品在GPU硬件平台移植了优秀的软编码算法(如X264)的,质量基本等同于软编码。
      • 苹果在iOS 8.0系统之前,没有开放系统的硬件编码解码功能,不过Mac OS系统一直有,被称为Video ToolBox的框架来处理硬件的编码和解码,终于在iOS 8.0后,苹果将该框架引入iOS系统。

**********.H265优点

  • 压缩比高,在相同图片质量情况下,比JPEG高两倍
  • 能增加如图片的深度信息,透明通道等辅助图片。
  • 支持存放多张图片,类似相册和集合。(实现多重曝光的效果)
  • 支持多张图片实现GIF和livePhoto的动画效果。
  • 无类似JPEG的最大像素限制
  • 支持透明像素
  • 分块加载机制
  • 支持缩略图


********硬解码:

问题和优化方案:https://www.jianshu.com/p/57581485717b

硬编解码图示:https://www.cnblogs.com/edisongz/p/7062098.html

android中利用ffmpeg实现硬解码。https://blog.csdn.net/huanghuangjin/article/details/81876823

******软解码:https://blog.csdn.net/humiaor/article/details/68065910

在iOS平台上做视频的解码,一般有三种方案:

1、软解码方案:ffmpeg

缺点:消耗CPU太大,在iphone4s上一般720P 20帧以上就解不动了

2、硬解码方案1:采用私有接口VideoToolBox

优点:CPU消耗极低,解码效率极高

缺点:要使用私有接口VideoToolBox

3、硬解码方案2:采用AVPlayer+httpserver+HttpLiveStream的组合方案

优点:CPU消耗极低,解码效率极高

缺点:视频有延迟,不适合实时视频通讯
 

你可能感兴趣的:(iOS/oc)