ffmpeg中CBR(固定码率控制)的设置:
- c->bit_rate = br;
- c->rc_min_rate =br;
- c->rc_max_rate = br;
- c->bit_rate_tolerance = br;
- c->rc_buffer_size=br;
- c->rc_initial_buffer_occupancy = c->rc_buffer_size*3/4;
- c->rc_buffer_aggressivity= (float)1.0;
- c->rc_initial_cplx= 0.5;
ffmpeg中VBR(可变率控制)的设置:
- c->flags |= CODEC_FLAG_QSCALE;
- c->rc_min_rate =min;
- c->rc_max_rate = max;
- c->bit_rate = br;
实际应用:
- ptAvEncoder->ptAvStreamVideo->codec->codec_id=CODEC_ID_H264;
- ptAvEncoder->ptAvStreamVideo->codec->codec_type=AVMEDIA_TYPE_VIDEO;
- ptAvEncoder->ptAvStreamVideo->codec->pix_fmt=PIX_FMT_YUV420P;
- ptAvEncoder->ptAvStreamVideo->codec->width=s32Width;
- ptAvEncoder->ptAvStreamVideo->codec->height=s32Height;
- ptAvEncoder->ptAvStreamVideo->codec->time_base.den=s32Fps;
- ptAvEncoder->ptAvStreamVideo->codec->time_base.num=1;
- ptAvEncoder->ptAvStreamVideo->codec->gop_size=s32KeyMax;
- ptAvEncoder->ptAvStreamVideo->codec->keyint_min=5;
- ptAvEncoder->ptAvStreamVideo->codec->max_b_frames=0;
- ptAvEncoder->ptAvStreamVideo->codec->flags|=CODEC_FLAG_GLOBAL_HEADER;
- ptAvEncoder->ptAvStreamVideo->codec->level=30;
- ptAvEncoder->ptAvStreamVideo->codec->bit_rate=s32RateVideo;
- ptAvEncoder->ptAvStreamVideo->codec->rc_min_rate=s32RateVideo;
- ptAvEncoder->ptAvStreamVideo->codec->rc_max_rate=s32RateVideo;
- ptAvEncoder->ptAvStreamVideo->codec->bit_rate_tolerance=s32RateVideo;
- ptAvEncoder->ptAvStreamVideo->codec->rc_buffer_size=s32RateVideo;
- ptAvEncoder->ptAvStreamVideo->codec->rc_initial_buffer_occupancy
- =ptAvEncoder->ptAvStreamVideo->codec->rc_buffer_size*3/4;
- ptAvEncoder->ptAvStreamVideo->codec->rc_buffer_aggressivity=(float)1.0;
- ptAvEncoder->ptAvStreamVideo->codec->rc_initial_cplx=0.5;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
(zorru) |