java - 同步发送视频到AppSink

标签 java gstreamer java-gstreamer

我正在使用 gstreamer-java 通过自定义 AppSink 通过 UDP 发送数据。以下是有效设置的方法:

文件源!流Tee!显示队列! tsdemux!解复用队列! (mpeg2dec || h264dec)!视频接收器

streamTee!发送队列! udpSink

我想以模拟实时流的方式发送数据。我假设执行此操作的唯一方法是通过 videoSink 同步发送和播放。即以 1.0 倍播放速度发送。

但是,设置 udpSink 的 sync 属性似乎没有改变任何内容。我已经验证了由于 sendQueue,数据包会尽快发送出去。

我需要在其他元素之间添加streamTee吗?我是否遗漏了一些明显的东西?

最佳答案

将streamTee移到displayQueue后面似乎已经解决了这个问题。同步属性似乎没有做任何事情。

UDP 数据包似乎比 videoSink 显示的视频稍早发送出去,但在任何长度的任何视频结束时始终提前 0.5-1.0 秒。所以看起来它已经足够同步了。

关于java - 同步发送视频到AppSink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15097282/

相关文章:

java - FlexTable 可见性监听器

java - 如何使用 Spring MVC 在 JSP 中包含 js 和 CSS

java - System.getProperty 为定义的属性返回 null

audio - 使用 GStreamer 播放 mp4 文件时同步音频和视频

java - 限制 gstreamer 的 udpsink 的发送速率

java - OpenCV 和 Gstreamer 流式传输实时视频

java - 如何向 TextView 添加换行符?

GStreamer shmsrc 和 x264enc 不能一起工作

python - 在python中的gstreamer中使用speex的问题