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

相关文章
|
2月前
|
缓存 流计算
explorer链接失败报错和延迟问题之Blink参数优化来限制读取日志流的TPS的问题如何解决
explorer链接失败报错和延迟问题之Blink参数优化来限制读取日志流的TPS的问题如何解决
|
10月前
|
编解码 Serverless
在函数计算FC用自带的SD1.5。加载切换也得10几秒。20秒。如果我使用容量性 1分多 正常吗?
在函数计算FC用自带的SD1.5。加载切换也得10几秒。20秒。如果我使用容量性 1分多 正常吗?
42 1
|
11月前
|
前端开发 芯片
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
【芯片前端】关于set_input_delay/set_output_delay慢信号约束到快时钟的思考
264 0
|
C++
UE C++延迟调用实现(LatentAction方法)
UE C++延迟调用实现(LatentAction方法)
239 0
|
存储 固态存储 算法
如何快速debug定位SSD延迟问题?
IO延迟分析是一项复杂而有趣的工程,需要带着好奇深挖每一个信息,总会有不同的风景。
测试TPCDS sendfile调用占比
测试TPCDS sendfile调用占比
99 0
|
监控 网络协议 NoSQL
如何精确监控DB响应延时
如何精确监控DB响应延时
|
缓存 网络协议 Java
TCP的Window Size和Scale参数对传输效率的影响
目前大多数互联网数据通信都是通过TCP协议进行的,了解其通信方式对提高通信效率,排查通信效率问题有很重要的意义。一. TCP的滑动窗口机制1. 概述TCP协议是可靠的通信协议,数据发送方发送给数据接收方的每一个包必须需要数据接收方返回对应的ACK,否则数据发送方就需要重传这个包。这个模式就有点像我和你面对面聊天,你一句我一句。但这种方式的缺点是效率比较低的。如果你说完一句话,我在处理其他事情,没有
6225 0
ui5里周期性检查window size大小的变化
Created by Jerry Wang, last modified on May 18, 2015
ui5里周期性检查window size大小的变化
|
弹性计算 安全 关系型数据库
PostgreSQL 12 preview - 可靠性提升 - data_sync_retry 消除os层write back failed status不可靠的问题
标签 PostgreSQL , data_sync_retry , write back , retry , failed status 背景 有些OS系统,对fsync的二次调用不敏感,因为OS层可能有自己的CACHE,如果使用了buffer write,并且出现write back failed的情况,有些OS可能在下次fsync时并不能正确的反馈fsync的可靠性与否。(因为这个B
558 0