我正在使用 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/