重要的编码参数

我们在基于一些商用编码设备、开源编码工具搭建流媒体系统或者操作直播相关业务时,掌握了基本概念后,其实更重要的是对编码相关的参数要有深刻的认识和熟练的配置优化。

以下给出一些比较重要的参数概念:

GOP(Group of Pictures)

一个GOP就是一组连续的画面,每个画面就是一帧, GOP就是很多帧的集合,以IDR帧开始。播放器显示画面是去找到最近的IDR帧来显示,所以为了实现秒开的体验,一般流媒体服务器会有GOP Cache配置,也就是说,服务器需要总是cache一个gop,这样客户端上来就从前一个I帧开始播放,就可以快速启动,但不好的一面是GOP Cache会增加直播的延迟。

可以通过调低编码器的GOP,譬如0.5秒一个GOP,这样延迟也很低,也不用等待。坏处是编码器压缩率会降低,图像质量没有那么好。

关键帧距离

关键帧(I帧)之间的最大距离(单位:秒),它是根据视频内容中的场景变换自动决策的,但两个关键帧之间的最大距离不超过该设定值,推荐配置:5-10。这个参数会影响到直播的延时,如果为了追求最低延时,可将其配置为1。

码率控制VBR/CBR/ABR

  • CBR(Constant Bitrate):恒定比特率,它无法根据视频内容的变换而动态变换,导致某些情况下图像质量较差或某些情况下浪费带宽 。

  • ABR(Average Bitrate):平均比特率, 对于较简单的图像或场景使用相对低的码率,高复杂度和大动态表现时使用高码率。互联网直播推荐使用才控制策略。

  • VBR(Variable Bitrate):动态比特率。也就是没有固定的比特率,保持恒定质量的参数,推荐用于内网视频应用或视频存档。

码率控制缓冲区时长

缓冲区起到平滑码率波动的作用。在编码端,数据输入缓冲区的码率是变化的,而输出端则取决于码率控制模式。缓冲区越大平滑效果就越好同时延时也越大,缓冲区小能保证低延时同时可能由于上溢导致跳帧。

前向预测延迟

单位为秒,通过缓冲一定数量的视频帧(提高编码延迟)来提高编码质量,默认为自动,该参数跟编码延迟有关。

超低延迟

部分编码设备或者编码工具由此选项,启用超低延迟,将关闭B帧、关闭MBtree、关闭码率控制前向预测,使编码的同时能够同步输出;由于启用低延迟模式,会在一定程度上降低视频质量,适用于视频通话和视频会议等。

参考帧数

控制DPB (Decoded Picture Buffer)的大小。可以在0-16之间选择。简单地说,就是设置P帧可以选择它之前的多少帧作为参照帧。最小可以选择值1,只参照自己前面的那帧。注意H.264标准限制了每个level可以参照的帧的数量。如果选择level4.1,1080p最大选4,720p最大选9。推荐设置为自动,将根据编码复杂度中相关参数设置。

B帧数量

手动指定在I帧或P帧之间创建的连续B帧的数量,范围是0-16。推荐设置为自动,将根据编码复杂度中相关参数设置。

编码级别(Level)

该指标是用来标识解码端解码能力的重要参数,跟每秒解码器能够处理的数据量相关,如果你的编码端有此选项,建议设置为自动,它就会根据当前编码复杂度、分辨率、帧率等配置计算出合适的Level值。如果很懂该参数,那就可以手动限制输出码流的Level值,以适配相应设备。

编码参数配置建议

视频是由图像和声音组成的,所以它本身是有质量属性的,我们可以简单的用清晰度、流畅感(帧率)来描述它。但我们在互联网上看视频尤其是直播,其实更需要整体的视听体验要好,这里面大致会涉及到的参数有采样率、帧率、分辨率、码率等,另外还和接入带宽、每个人不同的眼镜、耳朵感知程度等都有关系,是个比较复杂的过程。总体来说,我们需要做的是一种各参数之间的平衡,来保障最终的观看体验。以下是观止云的编码参数配置建议:
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值