将视频同步发送到AppSink



我使用gstreamer java通过自定义AppSink通过UDP发送数据。以下是如何有效设置:

fileSrc ! streamTee ! displayQueue ! tsdemux ! demuxQueue ! (mpeg2dec || h264dec) ! videosink

streamTee ! sendQueue ! udpSink

我想以模拟实时流的方式发送数据。我假设唯一的方法是通过videoSink同步发送和播放。也就是说,以1.0倍的播放速度发送。

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

我需要在其他元素之间添加streamTee吗?有什么明显的东西我遗漏了吗?

将streamTee移动到displayQueue之后似乎解决了这个问题。sync属性似乎没有任何作用。

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

相关内容

  • 没有找到相关文章

最新更新