2013-02-26 2 views
0

gstreamer-java를 사용하여 사용자 지정 AppSink를 통해 UDP를 통해 데이터를 보내고 있습니다. 여기에 효과적으로 설정의 방법은 다음과 같습니다AppSink에 동 기적으로 비디오 보내기

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

streamTee ! sendQueue ! udpSink

내가 라이브 스트림을 시뮬레이션하는 방식으로 데이터를 전송하고 싶습니다. 이 작업을 수행하는 유일한 방법은 전송을 videoSink를 통해 재생과 동기화하는 것입니다. 즉, 1.0x 재생 속도로 보냅니다.

그러나 udpSink의 sync 속성을 설정해도 아무 것도 변경되지 않습니다. sendQueue 때문에 패킷이 가능한 빨리 보내지는지 확인했습니다.

다른 요소 사이에 streamTee를 추가해야합니까? 내가 누락 된 명백한 것이 있습니까?

+0

displayQueue 다음에 streamTee를 이동하면이 문제가 해결 된 것으로 보입니다. – Nick

답변

1

displayQueue 후에 streamTee를 이동하면이 문제가 해결 된 것으로 보입니다. sync 속성은 아무 것도하지 않는 것 같습니다.

UDP 패킷은 videoSink의 표시된 비디오보다 약간 앞서 보내지 만 모든 길이의 비디오 끝에서 .5-1.0s 앞선 일관되게 나타납니다. 그래서 그것은 충분히 sync'd 것 같습니다.

관련 문제