Mikrotik and Dante/NDI AV in general

In the AV world how well does Mikrotik keep with transporting NDI and Dante traffic, and with Mikrotik should I keep them on physically separated networks or does Mikrotik hold up well? I know Netgear has a line of switches gears for Media content such as NDI and Dante.

Thoughts?

-Tim

Well, Dante and NDI aren’t really that picky. They just need PTPv1. Why a cheap Netgear dumb switches generally just works. But never seen RouterOS specifically have trouble with either IF configured correctly.

Don’t know your typical channel counts…but 32 channels of Dante is still only <50Mb of traffic. Assuming we’re talking about “regular” NDI (“HX”), video is bigger, but even if 40Mb/camera still isn’t that much to moderately sized RouterBoard. NDI is even more tolerate of latency than Dante. Even some of the smaller RouterBoards can handle a modest production if just NDI and Dante. If you were talking about ST2110, I’d be a little more leary, since that is a shit ton of data and pickier on timing. But I’m not sure I’d use a Netgear for ST2110 either.

RouterOS has ton a lot of useful tools to troubleshoot anything. Or deal with potentially NAT’ing the various static M&C networks, or connect to upstream internet, etc. They really are a swiss army knife. BUT…while powerful, RouterOS is complex – one wrong change, you can be in a world of hurt, at the wrong time. That being said, I’m not sure VLAN etc are that much easier to configure in Netgear than Mikrotik (e.g. you’re still doing things in multiple places to add/change the VLANs), and you’d still likely need a router with the Netgear anyway. The nice part on the Mikrotik is the config/etc for a simple soundboard and stage box on a low-end RouterBoard, is pretty much the same on as you scale up in ports/capacity.

Maybe take a look at the RB5009. Those have the nice property of fitting in a audio rack case, and the PoE one I know does work with Dante AVIO adapters. My concern is just that RouterOS is NOT something you want someone else to have to learn on the fly - so your specific needs/workflow likely matter a lot here.

Can you speak to the IF configured correctly part please?

What specifically needs to be configured on mikrotik switch or router to work well with Dante?

Also, this is a residential context so:
a) Not many Dante channels. Mostly just a few inputs around the house for XLR or Bluetooth audio into the home distributed audio system (ELAN audio switcher and amps).
b) The network switch will be doing double duty in that it’s mostly for the rest of the home network (computers, NAS, access points, surv. cameras, etc.) and then just a few Dante devices.

Some of the network, like teh surveillance cams and the touchpanels and ELAN control system will be on their own VLANs. Idk if I should plan to put the Dante devices on a vlan or not.

The switch I’m eyeballing is the CRS354-48G-4S+2Q+RM and the router probably an RB4011 (internet service is fiber 1Gig symmetrical).

This will be my first interaction with Dante so big thanks for any guidance you can give.

J.

The “IF” is because specifics often matter :wink:. Dante has come up a few times in the forum, let me add some details here since I’m pretty familiar with [u]Dante audio networks[/u].
n.b. I wrote more than intended, but easy to explain in one post, once - since there are a lot of “IF” with Dante

Any Mikrotik router or switch would work, with the default config, for Dante – “IF” Dante was only thing on the network and hardware offloading remains enabled for config. Where you can get into trouble is “IF” a network gets saturated with traffic, or it flows through complex firewalls/etc. with processing delays. At event/venue, it’s easy to control that only AV devices are connected to router/switch, so “if” that’s all a 1G switch/router is doing, there is no need for QoS since everything is below line-rate of the switch chip. How to deal with pro-equipment’s management networks (since some have mobile apps/etc) is where some Mikrotik is useful to do NAT/Wi-Fi/etc. to be able to control pro things & often there is a “redundant” Dante network - all kinda different problems than a home/corp/chruch/etc. But the Dante audio just needs basic L2 switching and be fine.

Now in the “home context”, or anyplace where there general internet traffic on the same switch. i.e. NAS, NVR+cameras, VoIP, controls system, or perhaps most problematic would be kids/etc with multi-GB game downloads kinda things… This is where saturating a network is a possibility, since you cannot control what other network users are doing. So some a “real” switch with hardware QoS is needed. Dante device will take care priority tagging when sending packets. And Mikrotik has a document how to setup on something like the CRS to use “priority marks” added by Dante devices to make sure they get priority on the switch:
https://help.mikrotik.com/docs/pages/viewpage.action?pageId=189497483#QualityofService(QoS)-Dante

Only bit of complexity is Dante uses it’s own protocol by default, but supports a newer standard called “AES67”. IMO, AES67 should not be used unless there is some legit need. The most common case for AES67 be using Linux as an audio source. Dante protocol is not support on Linux, but there are third-party AES67 drivers. But using AES67 mode requires setting ALL Dante devices to use AES67 mode. IMO, if “Linux Dante support” was an issue, the hardware AVIO USB dongle, I believe, work to get Dante to Linux & better than CPU-bound software anyway. Changing Dante to AES67 carries some other limitations too.

I mention Dante’s AES67 support, since in context of selecting a Mikrotik switch… “IF” AES67 mode was going to be needed… getting a Mikrotik switch that support PTPv2 clocking be advisable. See “Standard Dante” uses PTPv1 and has some built-in schemes for clocking, so nothing is required from a network switch for the audio clocking. But…AES67 uses PTPv2 for time clocking. While Dante QoS marking are on a lot of the switches (see docs for which ones), PTPv2 support is more limited. So specifically with the CRS354-48G-4S+2Q+RM mentioned does NOT support PTPv2. So while AES67 work without switch support, “IF” buying a new switch, I’d opt for one with PTPv2 support for AES67. Mikrotik lists their PTPv2 switches here: https://help.mikrotik.com/docs/display/ROS/Precision+Time+Protocol

On whether to VLAN or not… that’s a tricker question. If you use QoS setting on a switch, Dante should be fine on some shared LAN. This is often easier, especially since tools like Dante controller require being on the same LAN as Dante audio to control it. But a separate VLAN also work, just to configure Dante you’d have to use the Dante network. And possible there may be related control with Dante devices that need some shared LAN. Kinda depends exactly what Dante things are involved. You’d still want the Dante QoS settings on switch in either case. And all Dante things do have to live on SAME LAN segment, since mDNS discovery used by Dante only works a single Layer2/ethernet/VLAN subnet (same limitation other things that use mDNS on RouterOS).


The switch I’m eyeballing is the CRS354-48G-4S+2Q+RM and the router probably an RB4011 (internet service is fiber 1Gig symmetrical).

If you have the Elon stuff… I’d just go to the RB5009 that’s more modern than RB4011. Although for Dante, it won’t matter since Dante is switched not routed.


Cheetsheet: Dante audio networking

  • Dante devices use mDNS to announce the IN / OUT audio interface on a LAN/VLAN
  • Devices will try DHCP to get an IP address from a router. But happy to use it own self-assigned 169.254.x.x address if no DHCP Server is available - this works since mDNS still find the devices on 169.254.x.x LAN & means technically no router is needed, just a switch for Dante to work.
  • While Dante has Java-based “Controller” that runs on PC to control the mapping between INs and OUTs of all devices, it does NOT need to run as the devices themselves maintain the needed connections to other Dante device. And other Dante-enabled like networked audio mixer can also do channel mapping. The happens via a Dante-specific protocol, again relaying on mDNS and/or multicast to do this (no server, no cloud, no router needed, just L2 for Dante’s multicast+mDNS)
  • Dante devices themselves mark DSCP packets for prioritization, so any “smart switches” just need to prioritize those since they should come already priority marked.
  • But… to avoid needing prioritization, Dante has “network latency” setting - this “buffers” audio packets so if some switch was “slow” you can just increase the Dante network latency to compensate. Anything below 10ms latency is not perceptible to human ears (some say 20ms, but Dante goes with max 10ms to be safe), so it’s not end of world if using 5ms.
  • But at 10ms max…Dante will not run over Wi-Fi – so using any 5Ghz mesh is out-of-the-question. Everything must be connected via ethernet. One side note, 60Ghz links have been known to work to carry Dante, since latency is lower at 60Ghz than 5Ghz.
  • Now with different Dante devices support slightly different levels of latency. For example, Dante has “Virtual Soundcard” and “Via” software for Mac/PC that can route PC audio to a Dante network - but the software lowest latency setting is 4ms (since it CPU processing). The AVIO adapters to convert XLR/BT/USB to ethernet+Dante, go to 2ms. While something like a mid-range Yamaha pro mixer can go as low as 0.25ms (see below):
    Screenshot 2024-06-15 at 8.18.21 AM.png
  • The above table from a Yamaha shows Dante’s tables of “# of switches” vs “latency” - and how Dante presents networking to non-networking people – so it uses a conservative assumption of packet processing delay in consumer-grade ethernet switch.
  • The presentation from Dante’s “Level 3 Advanced Networking” is likely one of the best presentations on IP/OSI model/DNS/multicast/VLAN/subnets/ARP/DSCP/etc. more generally. Most of Dante’s video/docs/etc do an great job of explaining networks, beyond just the Dante audio part.

Wow. Incredible write up. I may have to read it a few or 10 more times to get everything out of it but thank you for sharing and all teh detail.

Never heard of Dante until this post - really interesting too. I read the PtP and QOS help manuals to see what switches supported these functions and noticed down in the QOS manual that as of ROS 7.15 QOS is now Dante compliant.

https://help.mikrotik.com/docs/pages/viewpage.action?pageId=189497483#QualityofService(QoS)-Dante

You have to keep your eyes peeled on the Help pages. They sneak new stuff in all the time without any notice or fanfare.

You can follow all updates to the manuals at https://help.mikrotik.com/docs/collector/pages.action?key=ROS. Click the link “show change”..

LOL, I thought of you since I’d imagine the Dante could be forwarded using bridge filters too. But its starts getting complex since while mDNS is used for discovery of audio channels, the audio flows can use unicast or multicast depending of if a src/dst audio is going multiple places (with mDNS communicating which addrs/ports)…

Outside the usual venue/event context… For a large house or homelab, with PoE etc., Dante makes a series of PoE dongles (“AVIO”) to convert analog into ethernet with Dante control:
https://www.getdante.com/products/adapters/dante-avio-adapters/

But it’s generally more useful if you have a lot of audio source/destinations to do patching of live audio.

Now Mikrotik could take some UI “cues” for a VLAN controller, from Dante’s patching tool:

I had a read of the Dante networking guide above. From another thread I had a quick look at HDHomerun discovery protocol too. The bridge filter method could work for a lot of things if you’re prepared to dig around for the specs.

Dante makes “Domain Manager” that, essentially, acts as an authenticated mDNS proxy to deal with Dante across VLANs, but it ain’t cheap and likely overly complicated for nearly all cases.

Not sure I’d recommend this… But Dante is good multicast and mDNS/DNS-SD citizen, so some DIY RouterOS scheme likely work to do similar Dante-across-VLANs as Dante’s Domain Manager (although no fancy auth, but MAC security be possible however). So if somehow proxy mDNS (or use DNS-SD) between VLANs for device discovery & importantly, using PIM or IGMP proxy for the actually audio flows, that should work to get Dante across VLANs. The audio flows themselves are NOT in link-local multicast, so PIM/IGMP should work find for those - it’s mDNS that cannot be use PIM/IGMP. Since Mikrotik does not have any built-in mDNS relay/reflector/proxy support, you’d have to apply @UpRunTech’s bridge filters approach for the mDNS (just like any other mDNS things) and http://forum.mikrotik.com/t/mdns-between-vlans-with-just-bridge-filters-look-mum-no-containers/173295/1 then use PIM (or either the bridge or multicast routing’s IGMP approach). But I have NOT tried it & think best to keep Dante on the one network, either dedicated or shared, but ONE network. And how well it work, really depend if PIM/IGMP go through CPU or switch-chip - you have very little room for latency before folks hear jarring audio drops.

HDHomeRun way different animal. I have 10+ year old one in box, someplace, but those the client uses UDP 255.255.255.255 broadcast to some UDP port to and HDHomeRun responds, so the broadcast is what have to get forward from main LAN to HDHomeRun LAN AFAIK…