x264 码率控制 VBV 机制

介绍

  1. VBV 即Video Buffer Verifier,视频缓冲区校验器。x264 源码码率控制中 VBV 模块用于控制接收端缓存不上溢不下溢,它实质是对视频短时码率进行限制。
  2. x264 与之相关的三个参数i_vbv_max_bitratei_vbv_buffer_sizef_vbv_buffer_init
  3. i_vbv_max_bitrate:x264_param_default 函数中,该值设置为 0,即默认不设置最大码率。
  4. i_vbv_buffer_size:x264_param_default 函数中,该值设置为 0,即默认不设置最大缓冲区。
  5. f_vbv_buffer_init:x264_param_default 函数中,该值设置为 0.9,用用来控制buffer_fill_final_min的值。

原理

一些参考的知识点

  1. i_vbv_buffer_size越大,动态范围较大的视频质量较好
  2. i_vbv_max_bitrate控制整个视频的平均码率,也决定了视频体积的大小
  3. 正常情况下设置i_vbv_max_bitrate = i_vbv_buffer_size = X*bitrate
X 解释

你可能感兴趣的:(#,x264,H264,x264,码率控制,VBV,视频编解码,实时音视频,webRTC)