前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络视频直播系统的H264格式编码器的概念是什么?

网络视频直播系统的H264格式编码器的概念是什么?

原创
作者头像
云豹短视频嘉兴
修改2021-01-29 14:24:02
8180
修改2021-01-29 14:24:02
举报

网络视频直播系统中常见编码器有H264/H265/VP8/VP9,其中H264和H265用的比较多,VP8和VP9用的比较少,H265的出现虽然时间短,但很多开发公司都一开始尝试使用H265作为直播编码的一种方式,但H264依然是主流的一种编码方式。下面给大家普及一下关于H264格式的知识。

在网络视频直播系统中H264格式的编码器中其实是有两个层面,一个是VLC视频编码层,NAL层是网络抽象层,VLC主要任务就是编码,NAL层是负责格式化数据,而H264的每帧数据就是一个NAL单元,在H264的实际的数据帧中,帧前面会有分隔符来分隔每一帧,一般来说编码器编出的首帧数据为SPS和PPS,后面就是属于I帧

网络视频直播系统
网络视频直播系统

1、I帧:I帧就是帧内编码帧,也就是说它的编码和其他帧的数据没有关系的,它只是在某一帧内做编码,也就是说他和单张图片是类似的,所以说我们只需要用I帧的数据就可以恢复出一个完整的图像。

2、P帧:而P帧需要依赖前一阵的数据来解码图像,因为它的保存是与前一帧差别的数据,所以它被称为前项预测编码帧。

3、B帧:B帧是前项和后项双向的预测编码帧,所以说要解码B帧的话就需要前一帧和后一帧两份数据才能够解码。

总结来说I帧、P帧、B帧这三种是常见的帧类型,这三种编码方式是明显不同的,一个是完全单独的帧内编码,而另一个是需要前一帧数据来解码自己的,B帧则是需要两边的数据才能够解码自己的。

在网络视频直播系统中这三种解码方式的不同,可以明显看出来压缩比的不同,I帧的压缩比其实和GPG差不多,压缩前和压缩后的比能够达到7:1,P帧较大一些达到20:1,B帧则能达到50:1。

网络视频直播系统
网络视频直播系统

讲完了关于“帧”的概念,还有一个GOP概念,指的是两个I帧之间的图像组,现在有很多SDK都强调秒开,其实就是在服务端或CDN的边缘去缓存这一对GOP,缓存后就避免播放端在播放时找不到I帧时等待或回源,回源的意思就是你需要到中心界面找到这个信息然后再拉流,有了缓存的GOP之后,拉流时先播放这组GOP,在网络视频直播系统中就可以给人一种秒开的感觉。

为什么要缓存GOP呢,因为每个播放器播放时对于H264解码首先需要一个I帧去显示图像,然后后面的P帧之类的依据I帧前面一帧的数据差,然后才能解码P帧出来显示完整图像,有了I帧之后显示出来速度就很快,给人秒开的感觉,提高网络视频直播系统体验性。这也是一种比较常见的直播优化手段。

以上内容为作者“云豹短视频嘉兴” 原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档