<div dir="ltr">Hello!<div><br></div><div>Thanks for your reply!</div><div>Your talk is really informative and i think I understood a lot of those parameters much better now.<br><br></div><div>In my understanding I need to distribute a common GstClock in order to have the clients synchronised.<br></div><div><br></div><div>As I understand, the gst_net_clock needs to be requested by every client and cannot be received via multicast.<br></div><div>So there is a lot of network traffic if every clients request clock info from the server.<br></div><div>Is there a way to distribute the clock via multicast?<br></div><div><br></div><div>Kind regards<br></div><div>JB<br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-07-08 12:34 GMT+02:00 Sebastian Dröge <span dir="ltr"><<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On Fr, 2016-07-08 at 12:21 +0200, Johannes Bauer wrote:<br>
> Hello!<br>
><br>
> Since I had problems getting gst-python running i wrote my programs<br>
> in C for both serer and client.<br>
> I now have GStreamer 1.8.1 on my server (Win7) and also on both of my<br>
> clients (raspi2 with wheezy and raspi3 with jessy).<br>
><br>
> My server starts streaming an mpa stream from the mic input to the<br>
> clients via rtp and rtcp multicast. The clients receive the rtp<br>
> stream and the rtcp data.<br>
><br>
> I hear the output on both of my raspberries, however raspi2 is about<br>
> 0.5 seconds delayed in contrast to the raspi3.<br>
><br>
> Is it possible to synchronize them, so there is "no" delay among the<br>
> clients?<br>
><br>
> I read something about the rtpbin parameters ntp-time-source, ntp-<br>
> sync, latency, buffer-mode and tried to play around with them, but i<br>
> can't manage to get the clients synchronised. Is it possible with the<br>
> properties or do i need to do something else here?<br>
<br>
</span>The easiest solution would be by using gst-rtsp-server and sharing a<br>
clock between the different clients:<br>
<a href="https://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-netclock-client.c" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-netclock-client.c</a><br>
<a href="https://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-netclock.c" rel="noreferrer" target="_blank">https://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-netclock.c</a><br>
<br>
But you can of course also implement the same manually without RTSP.<br>
<br>
See also my talk at the GStreamer conference about this:<br>
<a href="https://gstconf.ubicast.tv/videos/synchronised-multi-room-media-playback-and-distributed-live-media-processing-and-mixing-with-gstreamer/" rel="noreferrer" target="_blank">https://gstconf.ubicast.tv/videos/synchronised-multi-room-media-playback-and-distributed-live-media-processing-and-mixing-with-gstreamer/</a><br>
<span><font color="#888888"><br>
--<br>
<br>
Sebastian Dröge, Centricular Ltd · <a href="http://www.centricular.com" rel="noreferrer" target="_blank">http://www.centricular.com</a></font></span></blockquote></div><br></div></div>