嵌入式音视频开发过程中如何控制码率?

一、码率控制的意义:

在音视频领域,码率控制模式有着举足轻重的地位。那什么是码率控制?码率控制是指通过调节图像的压缩比例,从而决定输出编码码率的过程。

二、H264有多少种码率控制模式:

H264码率控制模式分别有:CBR、VBR、AVBR三种经典的模式。这两种控制模式是目前运用最广、使用最多的两种控制模式。那下面我们来重点看看这两种模式有什么具体的区别:

  • CBR码率控制模式:

CBR指的是固定编码控制模式:它指的是以恒定编码比特率进行压缩操作,当有运动时刻发生的时候,由于码率保持着恒定变化。所以,大部分情况下只能通过增大QP数值来调节画面质量,而当运动画面变多时图像质量变差。当场景从运动画面切换到静止画面的时候,图像质量变差。所以这种算法是优先考虑节省码率(带宽),而牺牲画面质量。

  • VBR控制模式:

VBR指的是动态编码控制模式,它的最大特点是码率的变化是随着画面质量的变化而变化。比方说在运动的时刻码率会变高,从而马赛克和花屏的现象会减少。这种码率控制模式的最大优点就是以画面质量为最优先考虑,在处理一些复杂画面的时候,会大幅度提高码率解决画质问题。但是其缺点也很明显,就是它的码率不能以恒定的值进行处理,所以会大幅度消耗码率。

VBR调节一般由四个编码参数决定:

  • maxbitrate

  • minqp

  • maxqp

  • changepos。

其中maxqp和minqp主要是调节画面质量的参数范围,而maxbitrate主要用于计算单位时间内最大的编码码率,changepos是用于调整qp码率的基准。若编码的码率大于最大码率 * ChangePos的时候,图像的QP值会逐步向maxqp范围调整,若图像的qp值大于等于maxqp的时候,qp调节的值将会达到最大值。若编码的码率小于于最大码率 * ChangePos的时候,图像的QP值会逐步向minqp范围调整,若图像的qp值达到了minqp的时候,qp调节的值将会达到最大值。而此时,图像质量是最好的。

  • AVBR控制模式:

AVBR指的是可变码率控制。这种码率控制模式的特点是,它会自动检测当前编码的图像是静止画面还是运动画面。若是运动画面,AVBR模式会提高码率去大大改善当前的画面质量,而当检测到静止画面的时候。AVBR会主动降低码率来节省带宽。这种模式的最大特点是,它会根据最大码率和最小码率之间进行调整。所以AVBR综合了CBR和VBR的优势,在运动模式下能够提高码率来保证画面质量的平稳,而在静止画面下会保带宽。在AVBR模式下有三个参数来表示码率的变化,分别是:

  • maxbitrate

  • changepos

  • minstillpercent。

在运动场景下,最大码率就等于maxbitrate,而在静止模式下最小码率就等于maxbitrate * changepos * minstillpercent

最后:

关于音视频的实践学习,目前我开了一个rv1126的音视频开发实践星球课程内容,有解答群和视频教程:

0d9ac29697fd8e8089f19f2dcac6372f.png

前两部分偏ai识别处理,第三部分关于音视频实战内容,如果你想提高自己的动手能力,或者你学习了很多理论知识,但是缺少项目经验,那么本项目非常适合你,下面是具体的内容:

7a8d730655a3a9e5ab3b0e6e8dccf2bf.pngaea2f3dcc42a5b0172bbd4929a9bbc52.png4c493eddfcf1f791e795b17436d072bd.png

购买课程,可以直接加我微信进行买:

3204e2b4b307b381ef7cf7b0620b3ede.png

猜你喜欢

转载自blog.csdn.net/Dada_ping/article/details/130776402