Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Streaming synchronized media to multiple devices over WiFi

I want to stream synchronized media to multiple devices (also called multi-room audio), similar to what is done with Sonos or AirPlay. I figured this would be easy to do using RTP multicast, as you only need to set up one multicast stream using VLC (or a GStreamer/ffmpeg/etc. server) to which all clients can connect. This seems to work fine over ethernet, but causes problems over WiFi (apparently due to low bandwidth allocation for multicast packets on most routers).

A syncronized VLC streaming setup described here is a good solution, but only works with an earlier version of VLC (0.8.6b).

Are there any other options for synchronized media streaming over WiFi?

like image 352
Gerrit Avatar asked Nov 05 '22 00:11

Gerrit


1 Answers

A few months later, and I finally have an answer to my own question.

The best solution seems to be to use Logitech Media Server (aka SqueezeCenter) as a streaming server and Logitech Squeezeboxes (HW solution) and/or SqueezePlay (SW solution for Mac/Win/Linux) for media playback. SqueezePlay and Media Server are free and a Squeezebox is around €140/$180. You can also use the Squeezebox apps on Android/iOS as controllers.

I have tested synchronization between two Squeezeboxes and one SqueezePlay instance (Mac) connected to a Media Server (Linux) and it worked without problems. The streaming protocol and how synchronization is performed is explained here.

If you want to programmatically control the devices, there is a Logitech SqueezeCenter Telnet CLI (see Help > Technical Information > Command Line Interface on the Logitech Media Server), as well as a Python wrapper for the CLI.

like image 192
Gerrit Avatar answered Nov 15 '22 18:11

Gerrit