avformat_open_input降低延时设置

简介: avformat_open_input降低延时设置

ffmpeg4.3

AVDictionary* options = NULL;
av_dict_set(&options, "fflags", "nobuffer", 0);
int re = avformat_open_input(&ic, URL, NULL, &options);


经测试发现,延时2s,使用nobuffer设置后,延时只有17帧,视屏为1080i50数据。


另外,如果是网络URL,在使用avformat_open_input打开输入流之后,那么此时就建立了连接,记录此时刻为A,那么当av_read_frame读取数据时,第一帧读到的数据是A时刻的数据。因此在两个函数之间应尽量减少执行的程序,实测如果中间有10s的程序要执行,那么视频延时在10s以上。


实测用一下方式设置解码器的参数,并不能很有效的减少延时,1080i50在设置之前延时17帧,多次测试设置之后16帧左右,每帧间隔40ms。


av_opt_set(decodec_ctx_v->priv_data, "preset", "ultrafast", 0);//superfast
av_opt_set(decodec_ctx_v->priv_data, "tune", "zerolatency", 0);


image.png

相关文章
|
7月前
|
缓存 流计算
explorer链接失败报错和延迟问题之Blink参数优化来限制读取日志流的TPS的问题如何解决
explorer链接失败报错和延迟问题之Blink参数优化来限制读取日志流的TPS的问题如何解决
|
9月前
h264 h265 nal type计算方式 关键帧判断
h264 h265 nal type计算方式 关键帧判断
208 0
|
编解码 Serverless
在函数计算FC用自带的SD1.5。加载切换也得10几秒。20秒。如果我使用容量性 1分多 正常吗?
在函数计算FC用自带的SD1.5。加载切换也得10几秒。20秒。如果我使用容量性 1分多 正常吗?
64 1
|
前端开发 芯片
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
481 0
如何检查视频画面延迟的时间
做视频通讯的朋友,画面延迟,就是要经常测试的事情。那么怎样测试延迟呢?
502 0
|
缓存 网络协议 Java
TCP的Window Size和Scale参数对传输效率的影响
目前大多数互联网数据通信都是通过TCP协议进行的,了解其通信方式对提高通信效率,排查通信效率问题有很重要的意义。一. TCP的滑动窗口机制1. 概述TCP协议是可靠的通信协议,数据发送方发送给数据接收方的每一个包必须需要数据接收方返回对应的ACK,否则数据发送方就需要重传这个包。这个模式就有点像我和你面对面聊天,你一句我一句。但这种方式的缺点是效率比较低的。如果你说完一句话,我在处理其他事情,没有
7131 0
|
Oracle Java 关系型数据库
有了 for (;;) 为什么还需要 while (true) ? 到底哪个更快?
其次,for (;;) 在Java中的来源。个人看法是喜欢用这种写法的人,追根溯源是受到C语言里的写法的影响。这些人不一定是自己以前写C习惯了这样写,而可能是间接受以前写C的老师、前辈的影响而习惯这样写的。 在C语言里,如果不include某些头文件或者自己声明的话,是没有内建的Bool / bool类型,也没有TRUE / FALSE / true / false这些Bool / bool类型值的字面量的。所以,假定没有include那些头文件或者自己define出上述字面量,一个不把循环条件写在while (...)括号里的while语句,最常见的是这样:
115 0
|
架构师 Oracle Java
while (true) 和 for (;;) 哪个更快?
个人看法是喜欢用这种写法的人,追根溯源是受到C语言里的写法的影响。这些人不一定是自己以前写C习惯了这样写,而可能是间接受以前写C的老师、前辈的影响而习惯这样写的。