Arranging the pieces

Setting Up Multi Room Stream Audio

On the Source Machine

  1. VB-CABLE (Audio Device Driver MME, DX, WDM) Local download vbcable_driver_pack43.zip Authors website http://vb-audio.pagesperso-orange.fr/Cable/index.htm
Stream the audio output of any windows program (Pandora etc.)
List sources
ffmpeg -list_devices true -f dshow -i dummy
Stream the Virtual cable Port
ffmpeg -re -f dshow -i audio="CABLE Output (VB-Audio Virtual " -b:a 320k -f mpegts udp://239.0.0.1:1234

*TODO: Try adding metadata
     -metadata:s:a:0 handler="English (Stereo)" 
     -metadata service_provider="Some provider" \
     -metadata service_name="Some Channel" \

On the Players

Play the output
vlc udp://@239.0.0.1:1234  --network-caching 1000 --sout-keep
Goto VLC Audio and set the output to your real sound card on the source machine,
this will allow all rooms to play in sync (minimal if any delay) including the source player

Using VBAN kills 802.11.B/G Devices

This blocked it on the router that the Wemos use

/ip firewall filter
add action=drop chain=forward dst-address=239.0.0.0/24 out-interface=bridge1 src-address=10.255.254.86

BUT VBAN does not work on 239.0.0.* anyway so it must use an existing broadcast network, it is not true multicast.

Note: Only use this in PTP mode or it kills wireless 802.11 B/G on my network at least.

VB-Audio VBAN http://vb-audio.pagesperso-orange.fr/Voicemeeter/vban.htm is a higher quality solution. Local Receptor download vbanreceptor_v1002.zip

…there is one bridge, where all ports reside…. multicast kills AP completely with its UDP packets sent over the bridge.

I have to use 802.11b/g on this AP because of old devices (Wemo, CyberQ, etc).

There are several ways to fix that. First approach is simple - we block all multicast traffic to WiFi:

/interface bridge filter add chain=output out-interface=home-wlan packet-type=multicast action=drop

Second is a bit harder: we will limit all multicast traffic to certain bandwidth.

#Force all traffic to pass IP firewall:
/interface bridge settings set use-ip-firewall=yes
#Mark connections and packets:
/ip firewall mangle add chain=prerouting action=mark-connection new-connection-mark=iptv passthrough=yes dst-address-type=multicast
/ip firewall mangle add chain=prerouting connection-mark=iptv action=mark-packet new-connection-mark=iptv_p passthrough=no
#And then limit traffic with tree queue:
/queue tree add parent=home-wlan packet-mark=iptv_p max-limit=1024k name="iptv-w
vlan"
Here we set the limit to 1Mb/s, which may not be enough. 

Third approach is to redesign the network, and make several bridges, with one separate for WiFi. This eliminates the need of further setup, but adds some complexity to the setup.

Print/export
QR Code
QR Code live_multi-room:start (generated for current page)