首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使ffmpeg输出的帧以正确的速率降低到毫秒

如何使ffmpeg输出的帧以正确的速率降低到毫秒
EN

Stack Overflow用户
提问于 2017-01-21 01:02:57
回答 1查看 1.7K关注 0票数 1

使用ffmpeg,我使用以下命令从udp流( 25帧/秒的hd264)中获取帧:

ffmpeg -loglevel debug -i udp://231.20.20.146:2005 -fflags nobuffer -r 1 -preset超快-vf scale=432:243 -f image2pipe -vcodec ppm管道:1

在管道的另一端,我运行了一个非常简单的二进制文件,它输出接收帧的时间。

然而,即使我指定fps 1,帧进入管道也有一些延迟,有100-200ms的延迟。

造成这种延迟的原因是什么?是帧的解码和ppm图像的编码吗?以及如何强制ffmpeg至少在彼此之间的正确距离处发送图像,以便每一帧恰好在前一帧之后1000毫秒到达?

ps。前6帧被缓冲,几乎同时进入管道。以下是记录的ms值的示例:

5350 5368 5385 5493 5599 5676 5785 6221 7243 8235 9218 10219 11227 12268 13268 14242 15288 16219 17297 18222 19284 20272

EN

Stack Overflow用户

发布于 2017-02-10 04:13:17

最接近的解决方案是在视频过滤器中使用fps:

代码语言:javascript
复制
ffmpeg -analyzeduration 100000 -i udp://231.20.20.146:2005  -r 8 -fflags nobuffer -preset ultrafast -vf "scale=432:243, fps=8, realtime" -f image2pipe -vcodec ppm pipe:1

仍然有一些1-3ms关闭的情况,但这可能是由于cpu缩放或将流转换为ppm。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41768839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档