参数含义:预设帧率,用来定位关键帧位置,以及码率控制。并不能控制输出帧率,
输出帧率和输入帧率有关,如果要改变视频帧率,可以使用ffmpeg的fps滤镜。
参数解析:
OPT("fps")
{
if( sscanf( value, "%u/%u", &p->i_fps_num, &p->i_fps_den ) != 2 )
{
double fps = atof(value);
if( fps > 0.0 && fps <= INT_MAX/1000.0 )
{
p->i_fps_num = (int)(fps * 1000.0 + .5);
p->i_fps_den = 1000;
}
else
{
p->i_fps_num = atoi(value);
p->i_fps_den = 1;
}
}
}
代码逻辑:
rc->fps = (float) h->param.i_fps_num / h->param.i_fps_den;//码率控制fps
rc->buffer_rate = vbv_max_bitrate / rc->fps;//一帧的max size rate
h->param.i_keyint_min = X264_MIN( h->param.i_keyint_max / 10, (int)fps );//最小关键帧间隔
输出帧率和输入帧率有关,如果要改变视频帧率,可以使用ffmpeg的fps滤镜。
参数解析:
OPT("fps")
{
if( sscanf( value, "%u/%u", &p->i_fps_num, &p->i_fps_den ) != 2 )
{
double fps = atof(value);
if( fps > 0.0 && fps <= INT_MAX/1000.0 )
{
p->i_fps_num = (int)(fps * 1000.0 + .5);
p->i_fps_den = 1000;
}
else
{
p->i_fps_num = atoi(value);
p->i_fps_den = 1;
}
}
}
代码逻辑:
rc->fps = (float) h->param.i_fps_num / h->param.i_fps_den;//码率控制fps
rc->buffer_rate = vbv_max_bitrate / rc->fps;//一帧的max size rate
h->param.i_keyint_min = X264_MIN( h->param.i_keyint_max / 10, (int)fps );//最小关键帧间隔