0
点赞
收藏
分享

微信扫一扫

FFMPEG H264/H265 编码延迟问题


最新使用 FFmpeg 进行 H264 的编码时,发现视频编码有延迟,不是实时编码,进过一番研究发现,只要在调用 avcodec_open2

打开编码器时,设置 AVDictionary 参数即可,关键代码如下:

avcodec_open2函数:

int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);

解决方案:

AVDictionary *param = NULL; 
//H264, 设置为编码延迟为立即编码
if(c->codec_id == AV_CODEC_ID_H264)
{
av_dict_set(¶m, "preset", "superfast", 0);
av_dict_set(¶m, "tune", "zerolatency", 0);
}
//H.265
if(c->codec_id == AV_CODEC_ID_H265)
{
av_dict_set(¶m, "x265-params", "qp=20", 0);
av_dict_set(¶m, "preset", "ultrafast", 0);
av_dict_set(¶m, "tune", "zero-latency", 0);
}

//使用给定的AVCodec初始化AVCodecContext
ret = avcodec_open2(参数, 参数, ¶m);

举报

相关推荐

0 条评论