美文网首页FFmpeg与音视频流媒体工程开发相关
[mediainfo]粗略了解关于CBR, VBR, CVBR

[mediainfo]粗略了解关于CBR, VBR, CVBR

作者: _小老虎_ | 来源:发表于2019-04-17 22:14 被阅读4次

    查询一个媒体的rate mode一般方便时用mediainfo
    下载可以在:http://www.pc6.com/mac/145263.html

    image.png

    可以看到 Bit rate, Bit rate mode这些信息


    CBR(Constant Bit Rate)

    是以恒定比特率方式进行编码,有Motion发生时,由于码率恒定,只能通过增大QP来减少码字大小,图像质量变差,当场景静止时,图像质量又变好,因此图像质量不稳定。这种算法优先考虑码率(带宽)。

    这个算法也算是码率控制最难的算法了,因为无法确定何时有motion发生,假设在码率统计窗口的最后一帧发生motion,就会导致该帧size变大,从而导致统计的码率大于预设的码率,也就是说每秒统计一次码率是不合理的,应该是统计一段时间内的平均码率,这样会更合理一些。

    VBR(Variable Bit Rate)

    动态比特率,其码率可以随着图像的复杂程度的不同而变化,因此其编码效率比较高,Motion发生时,马赛克很少。码率控制算法根据图像内容确定使用的比特率,图像内容比较简单则分配较少的码率(似乎码字更合适),图像内容复杂则分配较多的码字,这样既保证了质量,又兼顾带宽限制。这种算法优先考虑图像质量。

    CVBR(Constrained VariableBit Rate)

    这样翻译成中文就比较难听了,它是VBR的一种改进方法。但是Constrained又体现在什么地方呢?这种算法对应的Maximum bitRate恒定或者Average BitRate恒定。这种方法的兼顾了以上两种方法的优点:在图像内容静止时,节省带宽,有Motion发生时,利用前期节省的带宽来尽可能的提高图像质量,达到同时兼顾带宽和图像质量的目的。这种方法通常会让用户输入最大码率和最小码率,静止时,码率稳定在最小码率,运动时,码率大于最小码率,但是又不超过最大码率。比较理想的模型如下:

    image.png

    ABR (Average Bit Rate)

    在一定的时间范围内达到设定的码率,但是局部码率峰值可以超过设定的码率,平均码率恒定。

    相关文章

      网友评论

        本文标题:[mediainfo]粗略了解关于CBR, VBR, CVBR

        本文链接:https://www.haomeiwen.com/subject/afnowqtx.html