我们在视频会议项目中使用 x264 编码器,我们有基本的流视频工作,但是,我们无法理解各种速率控制设置如何确定最终比特率。我们设置以下参数:
x264_param_t params;
x264_param_default_preset(¶ms, "ultrafast", "zerolatency");
params.i_threads = 1;
params.i_width = width;
params.i_height = height;
params.i_fps_num = fps;
params.i_keyint_max = fps;
params.b_intra_refresh = 1;
params.b_repeat_headers = 1;
params.b_annexb = 1;
//Set rate control stuff here
x264_param_apply_profile(¶ms, "baseline");
如果我们只设置 params.rc.i_bitrate 参数,编码器似乎大大超过了比特率。如果我们设置 i_vbv_max_bitrate 和 i_vbv_buffer_size 参数,我们会看到一个比特率达到峰值(有时超过) i_vbv_max_bitrate 设置。显然,严格控制比特率对于视频会议很重要,但文档有点不透明。还有其他人使用 x264 进行视频会议吗?你是如何设置编码器的?任何帮助表示赞赏,在此先感谢。