解码器是干什么的 解码器是什么 sstv

闻西平常没啥爱好,就爱看视频,无论是短视频,还是电影,都爱看 。
现在看个视频看部电影,基本都是用手机来看了,闻西也不例外 。
看短视频还好,基本在线看,只要网络好,几乎就不会有任何问题 。
但闻西也经常喜欢从网络上下载一部电影,甚至直接下载一部剧,然后拷贝到手机里,有空的时候就看 。
可是闻西经常碰到播放视频卡顿的问题,闻西一开始以为是手机性能不够,之后换了新手机后,仍然会出现播放电影或者电视剧视频时,卡顿严重 。
无意中,闻西发现了手机播放器(安卓的MX播放器)里面有一个功能选项:选择解码器 。
里面分别有硬件解码器,硬件解码器+和软件解码器 。

解码器是干什么的 解码器是什么 sstv

文章插图
抱着试试看的态度,闻西切换了解码器,结果发现,视频卡顿的问题解决了 。
真是神奇有木有?到底是什么导致了这神奇的事情发生了呢?
要想探究这个问题,我们首先要知道几个问题:
1)什么是解码器?
2)什么是软件解码器?
3)什么是硬件解码器?
4)什么时候选择软件解码器?
5)什么时候选择硬件解码器?
看来这个问题不简单,一下子这么多问题摆在我们面前,但别怕,我们来各个击破 。
什么是解码器?关于什么是解码器,百度百科是这么说的:
解码器(decoder),是一种能将数字视音频数据流解码还原成模拟视音频信号的硬件/软件设备 。
说实话,闻西作为专业人士,都觉得这个定义实在是太术语化了 。
不过如果要理解解码器,我们就得知道,为什么要有解码器,从原因上来理解,或许会更立体些 。
解码器,顾名思义,就是用来解码的工具 。
为什么要解码呢?因为数据被编码了 。
为什么要给数据编码呢?因为要把数据进行压缩 。
为什么数据要压缩呢?因为数据如果不压缩的话,会占用很大的磁盘空间,如果用来网络传输的话,就会占用很大的网络带宽资源,不划算,或者如果网络带宽不够的话,根本传不过去 。
什么是软件解码器?知道了什么是解码器之后,再去理解什么是软件解码器,可能就会更容易了 。
软件解码器,顾名思义,就是用软件来做的解码器,它是一个软件或者软件的一部分 。
但软件一般都凌驾于CPU之上,最终还是要由CPU来进行运算解码的,因此严格上来说,软件解码器,不能说是真正严格意义上的软件解码器,或者说,就没有真正的软件解码器 。
正因为如此,我们可以把用CPU来进行解码的解码器,定义为软件解码器 。
什么是硬件解码器?硬件解码器,从字面意思上来理解,就是用硬件来直接解码的解码器了 。
但严格来说,硬件里面不可能没有程序,所以其实也没有真正的硬件解码器 。
正因为如此,我们把不用CPU而直接用如GPU这些硬件直接来进行解码的解码器定义为硬件解码器 。
说了这么多,估计对于技术小白们来说,已经糊涂了,所以,闻西再用两句话总结下,你就不晕了:
软解码:使用CPU进行解码
硬解码:使用非CPU进行解码,如显卡GPU、专用的DSP、FPGA、ASIC芯片等
什么时候用软解码?什么时候用硬解码?说了这么多,到底什么时候用软解码,什么时候用硬解码呢?
如果你需要对视频做一些处理,比如电子放大,甚至人脸识别等AI功能,那么你就要用软解码了 。
如果你只是看视频,不对视频进行二次加工处理,那么你就直接用硬解码吧 。
软解码的好处是兼容性好,但缺点是解码效率低,占用系统资源高;
而硬解码的好处是解码效率高,占用系统资源低,但缺点是兼容性不好;
看到这里,你一定会疑惑,对于一个爱在手机上看看离线电影,看看下载好的电视剧的人来说,用得着这些知识吗?
你还别说,如果你不知道这些,你即使用着顶级配置的手机,看视频还是会卡 。
【解码器是干什么的 解码器是什么 sstv】因为,很有可能你看的视频的格式,你的手机的GPU硬件解码器是不兼容的,这个时候,你就得动动手指切换下解码器了 。