对于小视频app开发来说,视频的编解码工作是非常重要的一步。为什么说它是非常重要的一步呢?因为视频是需要经过压缩,也就是编解码才能在app的前端进行显示的。如果编解码出现问题,就会导致在音视频进行重新编码的过程中出现卡顿和不流畅的情况。接下来,我们就简单来介绍一下有关于编解码方面的相关知识。希望干货类的文章能够帮助到大家。
1. 编解码器
指一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里提到的变换既包括将信号或数据流进行编码或者提取得到编码流的 *** 作,也包括为了观察或处理从这个编码流中回复适合观察或 *** 作形式的 *** 作。编解码器经常用于流媒体应用之中,比如短视频。
2. 容器
大多数的媒体数据流需要同时包含音频数据和视频数据,通常会加入一些用于音频和视频数据同步的元数据。这几种数据一般是会被封装在一起的,这种封装会通过视频文件的格式来实现。比如我们常见的mov、mp4、avi等。
3. 采样率
也可以叫做采样速度或采样频率,可以定义每秒从连续信号中提取并组成离散信号的采样个数,(用赫兹来表示)。需要注意的是,不要将比特率与采样率混在一起。
4.分辨率
泛指量测或显示系统对细节的分辨能力。分辨率越高代表图像品质越好,越能表现出更多的细节。但相对的,因为纪录的信息越多,文件也就会越大。
(1)图像分辨率:用以描述图像细节分辨能力,同样适用于数字图像、胶卷图像、及其他类型图像。通常,“分辨率”被表示成每一个方向上的像素数量,比如640x480等。
视频分辨率 :数位视频以像素为度量单位,而类比视频以水平扫描线数量为度量单位。
5.压缩方法
在进行视频的编解码工作之前,需要先将视频根据情况进行压缩。而视频压缩中存在两种情况:即有损压缩和无损压缩。大多数的无损压缩都采用了行程编码算法,有损压缩容易导致解压缩后的数据和压缩前的数据不同。所以在压缩过程中丢失的信息是不可恢复的,几乎所有高压缩的算法都会采用有损压缩,这样一来才能达到低数据率的目标。丢失的数据率与压缩比有关,压缩比越小,丢失的数据越多,解压缩后的效果就会越差。有损格式(例如mp3、WMA、AAC),无损格式(WAV)。
6.帧内压缩
也可以叫做空间压缩。当压缩一帧图像时,只考虑本帧的数据而不考虑相邻帧之间的冗余信息。一般采用有损压缩的算法,因为帧内压缩时各个帧之间不存在相互关系,所以压缩后的视频数据依然可以以帧为单位进行编辑。帧内压缩通常无法达到较高的压缩。
7.帧间压缩
是基于许多视频或者动画的连续前后两帧有很大的相关性,或者是前后两帧信息变化很小。帧间压缩又叫时间压缩,可以通过比较时间轴上不同帧之间的数据进行压缩。帧间压缩一半是无损的。
8.对称和不对称编码
对称性,是压缩编码的一个关键特征。对称也意味着压缩和解压缩占用了相同的能力和时间,对称算法适用于实时压缩和传送视频,不过在短视频应用中,一般是先将视频预先压缩处理好之后再进行播放,所以可采用不对称编码。不对称编码在进行压缩时需要耗费大量的处理能力和时间,而解压缩则能较好地实时回放,也可以通过不同的速度进行压缩和解压缩。
可见,在小视频app开发的过程中,为保证视频能够在前端正常播放,还需多注意视频的编解码方式,比如硬编解和软编解如何选择。只有这样,才能真正的开发出以用户体验为主的app。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)