<div dir="ltr">Hello!<div><br></div><div style="">Since I had problems getting gst-python running i wrote my programs in C for both serer and client.</div><div style="">I now have GStreamer 1.8.1 on my server (Win7) and also on both of my clients (raspi2 with wheezy and raspi3 with jessy).</div><div style=""><br></div><div style="">My server starts streaming an mpa stream from the mic input to the clients via rtp and rtcp multicast. The clients receive the rtp stream and the rtcp data.</div><div style=""><br></div><div style="">I hear the output on both of my raspberries, however raspi2 is about 0.5 seconds delayed in contrast to the raspi3.</div><div style=""><br></div><div style="">Is it possible to synchronize them, so there is "no" delay among the clients?</div><div style=""><br></div><div style="">I read something about the rtpbin parameters ntp-time-source, ntp-sync, latency, buffer-mode and tried to play around with them, but i can't manage to get the clients synchronised. Is it possible with the properties or do i need to do something else here?</div><div style=""><br></div><div style="">here is a snippet of the server:</div><div style=""><br></div><div><span class="" style="white-space:pre">  </span>g_object_set(G_OBJECT(rtpbin), "latency", 200, NULL);</div><div><span class="" style="white-space:pre">    </span>g_object_set(G_OBJECT(rtpbin), "buffer-mode", 0, NULL);</div><div>//<span class="" style="white-space:pre">        </span>g_object_set(G_OBJECT(rtpbin), "ntp-sync", true, NULL);</div><div><span class="" style="white-space:pre">  </span>g_object_set(G_OBJECT(rtpbin), "ntp-time-source", 3, NULL);</div><div>//<span class="" style="white-space:pre">    </span>g_object_set(G_OBJECT(rtpbin), "use-pipeline-clock", true, NULL);</div><div><br></div><div><span class="" style="white-space:pre">       </span>g_object_set(G_OBJECT(source), "location", call->wav_file, NULL);</div><div><span class="" style="white-space:pre">     </span>g_object_set(G_OBJECT(udpsink_rtp), "host", call->ip, NULL);</div><div><span class="" style="white-space:pre">  </span>g_object_set(G_OBJECT(udpsink_rtp), "port", call->in_rtp_port, NULL);</div><div><br></div><div><span class="" style="white-space:pre">        </span>g_object_set(G_OBJECT(udpsink_rtcp), "host", call->ip, NULL);</div><div><span class="" style="white-space:pre"> </span>g_object_set(G_OBJECT(udpsink_rtcp), "port", call->in_rtcp_port, NULL);</div><div style="">//<span class="" style="white-space:pre">  </span>g_object_set(G_OBJECT(udpsink_rtcp), "sync", false, NULL); <br></div><div style=""><br></div><div style="">here is a snippet of the client:</div><div style=""><br></div><div style=""><div><span class="" style="white-space:pre">   </span>g_object_set(G_OBJECT(rtpbin), "latency", 200, NULL);</div><div><span class="" style="white-space:pre">    </span>g_object_set(G_OBJECT(rtpbin), "buffer-mode", 0, NULL);</div><div><span class="" style="white-space:pre">//        </span>g_object_set(G_OBJECT(rtpbin), "ntp-sync", TRUE, NULL);</div><div><span class="" style="white-space:pre">  </span>g_object_set(G_OBJECT(rtpbin), "ntp-time-source", 3, NULL);</div><div>//<span class="" style="white-space:pre">    </span>g_object_set(G_OBJECT(rtpbin), "use-pipeline-clock", TRUE, NULL);</div><div><br></div><div><span class="" style="white-space:pre">       </span></div><div><span class="" style="white-space:pre">   </span>g_object_set(G_OBJECT(call->rtpsrc), "address", call->ip, NULL);</div><div><br></div><div><span class="" style="white-space:pre">  </span>g_object_set(G_OBJECT(call->rtpsrc), "port", call->in_rtp_port, NULL);</div><div><span class="" style="white-space:pre">     </span>g_object_set(G_OBJECT(call->rtpsrc), "auto-multicast", TRUE, NULL);</div><div><span class="" style="white-space:pre">   </span>g_object_set(G_OBJECT(call->rtpsrc), "timeout", 10000000000, NULL);</div><div><span class="" style="white-space:pre">   </span>g_object_set(G_OBJECT(call->rtpsrc), "caps", caps_rtp, NULL);</div><div><br></div><div><span class="" style="white-space:pre">        </span>g_object_set(G_OBJECT(call->rtcpsrc), "address", call->ip, NULL);</div><div><br></div><div><span class="" style="white-space:pre"> </span>g_object_set(G_OBJECT(call->rtcpsrc), "port", call->in_rtcp_port, NULL);</div><div><span class="" style="white-space:pre">   </span>g_object_set(G_OBJECT(call->rtcpsrc), "auto-multicast", TRUE, NULL);</div><div><span class="" style="white-space:pre">  </span>g_object_set(G_OBJECT(call->rtcpsrc), "caps", caps_rtcp, NULL);</div></div><div style=""><br></div><div style="">Kind regards</div><div style="">Johannes Bauer  </div></div>