硬编码 和 软编码

一、硬编码

硬编码,就是指有专门的硬件模块编码来负责编码。

举个例子,Android手机上,我们常见的高通、MTK、海思等芯片平台,它们都会有专门的编码模块,比如dsp模块等。

硬编码,有啥优点呢?

1、快,这个快是相对于软编码而言;

2、省电、功耗低;

缺点:

1、兼容性稍差,

二、软编码

软编码,就是指通过软件让CPU来进行编码处理。比如我们经常说的ffmpeg,就是用来进行软编码的。

优点:

1、兼容性好;

缺点:

1、耗资源,需要耗费cpu资源;

2、效率低,相对于硬编码而言。

1)灵活性高,能够适应不同的音视频格式和压缩率。
2)可以在普通的计算设备上进行解码,不需要专门的硬件支持。
3)由于是通过软件算法进行解码,因此可以更容易地进行升级和优化。

[图片上传失败...(image-7f33c3-1706328353898)]

1)相比硬解码,软解码需要消耗更多的 CPU 资源,可能导致设备过热、
电池寿命降低等问题。


2)软解码依赖于 CPU 的性能,因此对于某些高清视频或低端设备,
可能无法提供稳定的播放体验。

[图片上传失败...(image-39a6a0-1706328353898)]

总结:

在实际的应用开发中,开发者可以根据设备性能和支持情况来选择软编码或硬编码方式。能硬编码优点选择硬编码。

附:开源播放器

1)B站的ijkplayer

https://github.com/Bilibili/ijkplayer

2)google ExoPlayer

https://github.com/google/ExoPlayer

3)vlc

[图片上传失败...(image-d15287-1706328353898)][图片上传失败...(image-2c0431-1706328353898)]编辑

推荐阅读:

关于我

一篇文章带你了解Android 最新Camera框架

独家 | Android Camera 面试流程、经验分享

视频课程上架啦 | Android Camera开发入门

深圳上班,

从事Android Camera相关软件开发工作,

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容