0

カスタム AppSink を介して UDP 経由でデータを送信するために gstreamer-java を使用しています。効果的なセットアップ方法は次のとおりです。

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

streamTee ! sendQueue ! udpSink

ライブ ストリームをシミュレートする方法でデータを送信したいと考えています。これを行う唯一の方法は、送信を videoSink を介した再生と同期させることだと思います。つまり、1.0x の再生速度で送信します。

ただし、udpSink のsyncプロパティを設定しても何も変わらないようです。sendQueue により、パケットが可能な限り高速に送信されることを確認しました。

他の要素の間に streamTee を追加する必要がありますか? 私が見逃している明らかなものはありますか?

4

1 に答える 1

1

streamTee を displayQueue の後に移動すると、この問題は解決したようです。sync プロパティは何もしていないようです。

UDP パケットは、videoSink の表示ビデオよりも少し前に送信されているように見えますが、任意の長さのビデオの最後では一貫して 0.5 ~ 1.0 秒進んでいます。それで、それは十分に同期されているようです。

于 2013-02-26T19:42:42.343 に答える