直播软件不好用,原因有很多,可能是功能分类不够明确,可能是美颜、萌颜不好看,可能是主播普遍水平低,可能是视频永远载入不进来……为了优化直播软件,程序员大哥们操碎了心,买买买,买更高速的宽带,接接接,接更多的美颜萌颜,但即使直播平台用再好再贵的CDN和服务器,也很难从用户方改变用户设备配置不统一,部分设备配置低的问题。
为了解决用户设备型号、配置不统一的问题,程序员大哥们冥思苦想,最终决定对着编解码下手。本篇文章就来介绍一下直播源码如何利用软硬编码两种方式为用户提供更流畅的使用感。
ä¸ã 编解码有什么用?
在音视频进行流媒体传播时,直接上传原视频会占用很多带宽,很费网速,而且由于用户手机机型不同,主播手机的编码格式不一定能适应观看者手机支持的解码格式,于是为了节约带宽,也为了便于观看者手机解码,在视频上传前,直播源码中内置的编码功能就要开始发挥作用了,它会对原视频进行压缩和编码,让视频文件变小,让视频编码变成统一的编码格式,这样一来,不但能节约宽带,还能提高视频加载速度,一举两得。
äºã 软编码和硬编码是什么?
但在直播源码中设置统一编解码功能的方式并不是万能的,如果用户手机配置过低,那么手机可能会因视频编解码占用了太多的CPU资源而死机,这样一来,如何在保证CPU不被过度占用的同时完成编解码呢?这就是软硬编码方式区别的由来。
人们发现,显卡比CPU更适合编解码这样繁琐枯燥的工作,且速度还更快,于是依靠显卡等硬件进行音视频编码的方式被称为硬编码,用CPU编码的方式被称为软编码。
ä¸ã 软编码和硬编码分别适合什么手机?
总的来说,硬编码方式处理速度快,软编码方式处理的精细,所以两种方式适用于不同配置的手机。
一般来说,喜欢看才艺类直播的用户和手机CPU性能低的用户更适合硬编码,处理速度会更快些,CPU占用也更低,喜欢看游戏直播的用户和手机CPU性能高的用户则更适合软编码方式,画面处理更精细。故而,优秀的直播源码应该同时支持软硬两种编解码方式。
当然,随着时代的发展,手机不断提质降价,小米、华为等手机厂家的加入使千元机的配置越来越高,更别提纷纷配备八核十核CPU的中档手机,曾经盛极一时的硬编码以后还流不流行,还未可知,更别提要把软硬两种编码格式分个高低了。