音视频开发●视频编解码原理
H261奠定的基础:

编解码工作流程:

什么是H264?
定义: 对摄像头采集的每一帧视频需要进行编码,由与视频中存在空间和时间的冗余, 需要用算 法来去除这些冗余。H264是专门去除这些冗余的算法,我们把这种算法称为H264编码,H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称
应用: 像大多数看到的视频,如电影抖音短视频,如rmvb avi mp4 flv 大都是由h264进行编码,当然也会有不同的 如 mpeg4 vp9 这样比较冷门的编码
无论是h264 mpeg4 vp9 都是基于宏块的方式进行编码,原理是一样的,只不过实现的算法不一致罢了
H264编码规则:
在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内,所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧A。
随后的B帧就不编码全部图像,只写入与A帧的差别,这样B帧的大小就只有完整帧的1/10或更小,B帧之后的C帧如果变化不大,我们可以继续以参考B的方式编码C帧,这样循环下去。
这段图像我们称为一个序列:序列就是有相同特点的一段数据 当某个图像与之前的图像变化很大,无法参考前面的帧来生成,那我们就结束上一个序列,开始下一段序列 也就是对这个图像生成一个完整帧A1,随后的图像就参考A1生成,只写入与A1的差别内容
视频中有哪些地方可以进行压缩

帧 B帧 P帧介绍

B帧P帧是如何编码的?

上图可以看到B帧是需要参考I帧和P帧才能形成原始图,但是P帧只需要参考I帧即可。
与I帧相似程度极高 达到95%以上 编码成B帧,相似程度70%编码成P帧。如何编码不需要程序员来实现,已经由编码器(x264)这个工具帮我们做了
GOP序列集

如上图所示:
除了I/P/B帧外,还有图像序列GOP
GOP图像序列 可以理解成一个场景,场景的物体都是相似的
GOP:两个I帧之间是一个图像序列,在一个图像序列中只有一个I帧。
更多推荐

所有评论(0)