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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郎涯技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值