c - GStreamer,如何向输入流之一添加延迟?

标签 c gstreamer

我创建了一个 GStreamer 管道,它采用多个输入源:相机音频/视频、 Logo 和作为 RTP 流接收的屏幕捕获视频。它使用 videomixer 元素将这些源合并到一个视频中。

然而,屏幕捕获流似乎落后于其余部分 2 秒。为了解决这个问题,我想在其他流中引入 2 秒的延迟。这就是我目前陷入困境的地方。我尝试在相机源之后添加一个队列元素,并设置“min-threshold-time”属性来创建 2 秒的延迟,但 GStreamer 似乎纠正了其他流的问题。结果是整个流都被延迟了,RTP流和摄像头视频之间的延迟仍然存在。

最佳答案

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

关于c - GStreamer,如何向输入流之一添加延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378643/

相关文章:

c - AND、OR 、XOR 字符串与 127

c - 编译C程序时“Function prototypes are an ANSI feature”错误

c - MPI 状态获取错误的发件人

ffmpeg - 使用 FFMPEG 更改容器会产生 NAL 单元错误

c - Linux内核分配实现中的指针计算

在 system() 之后 close() 奇怪的行为

android - GStreamer 通过 HTTPS 视频流传输 RTSP

opencv - Opencv videoCapture() 中的 Gstreamer 管道

macos - 无法从 Gstreamer 找到 get-launch-1.0

c - 在同一窗口中加入图片