首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GStreamer,如何给其中一个输入流添加延迟?

问GStreamer,如何给其中一个输入流添加延迟?
EN

Stack Overflow用户
提问于 2010-03-04 18:57:36
回答 3查看 4.2K关注 0票数 1

我创建了一个GStreamer管道,它接受多个输入源:摄像头音频/视频、徽标和屏幕截图视频(作为RTP流接收)。它使用videomixer元素将这些源合并到一个视频中。

然而,屏幕截图流似乎落后于其他流2秒。为了解决这个问题,我想在其他流中引入2秒的延迟。这就是我现在被卡住的地方。我尝试在摄像头源之后添加一个队列元素,并设置"min-threshold-time“属性来创建2秒的延迟,但是GStreamer似乎对其他流纠正了这个问题。结果是整个流被延迟,RTP流和摄像头视频之间的滞后仍然存在。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-08 19:32:14

我最终实现了一个缓冲区探测器,它使我能够修改单个数据包的时间戳。参见Pipeline Manipulation。

票数 4
EN

Stack Overflow用户

发布于 2017-02-10 10:25:37

Gstreamer插件rtpjitterbuffer有一个ts-offset属性,可以用来调整一个传入摄像头的时间戳,以实现源之间的流间同步:

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-rtpjitterbuffer.html#GstRtpJitterBuffer--ts-offset

票数 0
EN

Stack Overflow用户

发布于 2022-01-14 10:40:25

一个简单的解决方案是在流水线上增加延迟

代码语言:javascript
复制
pipeline  = gst_pipeline_new ("mypieline");
gstpipline=GST_PIPELINE (pipeline);
gst_pipeline_set_latency(gstpipline,delay you want to set in Nano Sec);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2378643

复制
相关文章

相似问题

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