我使用gstreamer-java通过自定义AppSink通过UDP发送数据。以下是它如何有效设置:
fileSrc ! streamTee ! displayQueue ! tsdemux ! demuxQueue ! (mpeg2dec || h264dec) ! videosink
和
streamTee ! sendQueue ! udpSink
我想以模拟直播的方式发送数据。我假设唯一的方法是通过videoSink同步发送和回放。也就是说,以1.0倍的播放速度发送。
但是,设置udpSink的sync
属性似乎无法改变任何内容。我已经验证了由于sendQueue,数据包会尽快发送出来。
我是否需要在其他元素之间添加streamTee?有什么东西显而易见吗?
答案 0 :(得分:1)
将displayTee移动到displayQueue之后似乎已经解决了这个问题。 sync属性似乎没有做任何事情。
UDP数据包似乎在videoSink显示的视频之前发送了一段时间,但在任何长度的任何视频结束时,它始终是.5-1.0s。所以它似乎已经足够同步了。