Synchronised RTP Clients

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Synchronised RTP Clients

Jonathan Thorpe
Hi All,

I'm very new to GStreamer, but it looks like it might be the perfect tool to solve a problem with streaming audio with low latency and keeping clients in sync.

I would like to achieve the following using RTP and GStreamer:
1. Synchronise audio playback between clients - preferably using PTP  run from the GStreamer server.

2. Sustain a small amount of packet loss through retransmission (similar to what is offered in rtprtxreceive / similar to RFC 4588).

This is what I have to work with:
 1. The server (192.168.1.25) receives already compressed MP3 audio over RTP from a Barix Instreamer on port 5000 (192.168.1.30).

 2. Two remote Clients - I cannot use multicast for this purpose. Clients also have a Barix Extreamer on the LAN which can receive and play RTP (129.168.2.11, 192.168.3.10) on port 5000.

I would like it to look a bit like this:

I have clearly chosen a very complex project to get started with GStreamer on, but would be very grateful if someone could assist with helping establish pipelines (Client and Server) that will achieve this.

Kind Regards,
Jonathan

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Synchronised RTP Clients

Sebastian Dröge-3
On Mo, 2016-04-25 at 13:19 +1000, Jonathan Thorpe wrote:

> I have clearly chosen a very complex project to get started with
> GStreamer on, but would be very grateful if someone could assist with
> helping establish pipelines (Client and Server) that will achieve
> this.

Take a look at my presentation from last year's GStreamer conference:
https://gstconf.ubicast.tv/videos/synchronised-multi-room-media-playback-and-distributed-live-media-processing-and-mixing-with-gstreamer/

Also these two example applications are basically doing exactly what
you want, just with the GStreamer netclock instead of PTP. But
exchanging that is a matter of changing a couple of lines.

https://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-netclock.c
https://cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/test-netclock-client.c

The examples are using RTSP and gst-rtsp-server, but there's nothing
RTSP specific in how all this works. It's just for simplicity to make
it easier to exchange the SDP between sender and clients.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment