当我使用 x264 lib 编码 yuv 视频流时,我无法设置 sps 参数 num_units_in_tick(i_num_units_in_tick in struct)。我将 x264_param_t 初始化为:
x264_param_t* m_x264Param;
if( x264_param_default_preset( m_x264Param, "superfast", "zerolatency" ) < 0 )
return -1;
x264_param_apply_fastfirstpass( m_x264Param );
/* Apply profile restrictions. */
//baseline
if( x264_param_apply_profile( m_x264Param, "baseline" ) < 0 )
return -1;
i_rc_method 设置为 1。我设置了决定 num_units_in_tick 的参数,然后调用 x264_encoder_open 来获取 x264_t 。
m_x264Param->i_timebase_den = 90000;
m_x264Param->i_timebase_num = 3000;
m_x264Param->i_fps_num = 60;
m_x264Param->i_fps_den = 2;
但是,num_units_in_tick 还是 1,time_scale 还是 60。如何将 num_units_in_tick 设置为 3000,所以一帧占用 3000 个时间戳单元。