针对H.264的JVT-G012算法在帧层对未编码的P帧采用平均分配比特、忽略了图像复杂度和P帧在图像组(Group of pictures,GOP)中的位置对码率控制影响的问题,提出了一种新的H.264码率控制算法,先利用P帧的图像复杂度和P帧在GOP中位置组成的综合因子来调整P帧的目标比特分配,再利用已编码帧的历史信息来调整当前编码帧的量化参数.通过实验表明,与JVT-G012算法相比,本文算法不仅提高了视频图像的质量,尤其是运动剧烈和纹理复杂的视频序列的图像质量,而且使得输出的实际码率更接近目标码率,提高了码率控制的精准性;与已有算法相比,在保持视频图像质量的情况下,进一步提高了码率控制的精准性.