在进行rtmp推流的时候发现h264编码器特别耗CPU机器有点扛不住。这里稍微研究了一下h264调参,通过调节参数来控制编码的性能损耗。
编码速度preset
preset的参数主要调节编码速度和质量的平衡, 里面预设了一系列的编码速度,包括:ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo,从前到后编码速度逐渐降低。更慢的编码速度提供更好的压缩质量。也就是说在固定码率的时候, 越慢的压缩速度压缩后的图像质量越好; 在保持画质不变的情况下,越慢的压缩速度码流越小。
总的来说:编码速度越快,压缩率越低,相同码流下的图片质量越低。通过降低编码速度,可以提高压缩率,单位码流下的图片质量越高。
av_opt_set(codec_ctx_->priv_data, "preset", "ultrafast"