Written by Terry Doner, 2020. Update April 28 2021.
I need to be able monitor both a master broadcast mix, and anything I wish to solo from a remote location. This is for use in a church for livestream mixing.
In the broadcast location (church), where all the musicians will be located, I set up a computer with Reaper. All of its inputs and outputs will be Dante. The stream encoder will originate from this location as well.
In the remote location, I will have a computer which will be the receiver. I have three choices to monitor: headphones, laptop speakers, and a pair of external speakers. As well, I have a TV in another room playing the stream via YouTube which I pop in to listen to.
This problem will likely go away post-Covid, but the DAW mixing approach will remain.
I have two different solutions to the problem. In this first one, I use the DAW only for monitoring, and the mixing is achieved via Yamaha Studio remote control application for the FOH mixer. The broadcast mix is a sub mix on the console. This was done because the available computer at church was underpowered and couldn't be trusted as a critical path item. In this configuration, if it fails I lose control, but not sound. (I have had this happen during a service).
In the second solution (with a reliable computer), the DAW on the computer is now actively processing the mix which is forwarded to the Video Mixer.
In both cases the DAW in use is Reaper. (Details of my selection process are here: DAWs for Broadcast - A Comparison ). And my overall reasoning for even going the DAW route is here: Why you need an independent audio mix ).
I use the "reastream" plugin on both instances. My round-trip latency from making an adjustment to hearing the result is less than one second. Two things to be aware of:
The plugin instance at the church needs to know the IP address of my computer at home. I validate that my IP address hasn't changed before rehearsal for every Sunday. (Google "what is my ip address").
I have to configure my home firewall to forward the reastream port to the IP address of the home computer. I also need to ensure that IP address doesn't change. I could configure a DHCP reserved address to prevent it, but it hasn't changed in six months. ;)
Not shown in the diagrams is our stream encoder. We use Resi.io and the encoder is scheduled to start broadcasting at the start of rehearsal. This way, since I have access to the resi admin page, I can pull up the encoder stream at home and watch the video, I live with the delay. The feed automatically goes public at 5 minutes before service start.
My total downstream bandwidth required for the home computer runs at about 6-8 Mbps for both reastream and the remote control, so the 30Mbps is fine. In fact, during service, my wife is watching on Youtube, my daughter is a livestream host and is monitoring YouTube, Facebook, and Church Online; and we all fit within the available 30Mbps. There are sometimes when I get intermittent clicking in the reastream feed; although annoying, it doesn't prevent me from doing the job.
I use Dante to move audio between systems, here is a basic guide to Dante - Dante 101 .
I am not the only one doing this... Here is another solution.
This is a great interview with Brian Maddox, he talks about how he mixes shows in California from Georgia. An interesting point he makes is that the latency he works at is no different than mixing at FoH. He also mentions software called Remotely Possible.
For me, there is no perfect solution that I can find. All solutions present a different set of trade-offs. In making my selection I have these constraints.
I struggle with deciding how much latency I can tolerate. The 2-second zone might be good enough to get the general mix sounding good, but not fast enough for real-time tweaking or to respond to things unplanned. I generally will have had an hour of rehearsal beforehand. (My ear-to-hand response time is about 200ms.) I have now been doing this for several months and find that 1 second is quite workable.
One other constraint: the computers at both locations are Macs.
URL: https://www.unityintercom.com/unity-connect
Unity Connect was really easy to set-up. I also liked that it gave a real-time report of the latency delivered. Its biggest downside is the license cost. Because of the per machine license model, I would have to buy additional licences for other engineers who also want to do this remotely. Other than cost, it is a very strong contender.
URL: https://audiomovers.com/wp/
URL: https://icecast.org/
Icecast is meant for radio-station-like applications. My approach to using Icecast to solve my problem was to install icecast on the broadcast computer and use the reacast plugin in a reaper channel as the source. On the remote monitoring computer I used VLC to listen to the stream (one could also just use a browser, but I found that VLC produced lower latency).
Setting up Icecast presented a few challenges:
It took a bit of fiddling with the icecast.xml file to get the setting correct. (The documentation was a little obtuse - or maybe it was me).
Since the icecast server would need to be behind the broadcast firewall, I would need to open up ports on the churches firewall, and I really don’t want to do that. Because of this, my testing of this solution was “in house” only. I did not do this over the internet. If I wish to pursue this solution further, I can revisit that test scenario.
URL: https://www.reaper.fm/reaplugs/
The reastream plugin was very easy to setup. I used two instances of Reaper (http://reaper.fm) which has a license cost, but the reastream plug-in itself is free.
I do like that I could easily add the plugin to multiple channels. In my usage I can see doing the master bus, the monitor bus (which would work for solo-ing), and maybe a gain-lift monitor bus (instead of soloing, gain lift to a separate bus for a solo-in-context ability).
The biggest downside of it I found during my testing was dropouts. I need to revisit it to see if it was my internet, or if I could tune some things to improve this characteristic.
One of the big features of this service is that it is dead simple to use. It requires only a little effort to set up every time.
It recognizes Dante ( I tested this with DVS in 2x2 channel mode, need to test it with more Dante channels available to see how configurable it is. Dante might be a useful source.)
Need to solve how to get audio from reaper to appear as an audio source. Choices for MacOS:
Black Hole (free): https://github.com/ExistentialAudio/BlackHole
Soundflower (free): https://github.com/mattingalls/Soundflower
Virtual Audio Cable (donationware): https://vb-audio.com/Cable/
Loopback (US$99): https://rogueamoeba.com/loopback/
a linux utility for moving audio over the internet. The author apparently also built cleanfeed.
These have not seriously explored and are left as an exercise for the interested reader.
NDI
It is possible to toss NDI over the internet, but the only solutions I can find to this requires expensive subscriptions to a cloud service. It would be nice to have a video stream as well.
https://www.ndi.cloud/secure.html (uses SRT for transport - see below)
SRT
https://en.wikipedia.org/wiki/Secure_Reliable_Transport
The protocol seems very promising for this application, especially the receive buffering capability which would provide some flexibility to trade-off latency versus reliability.
Have yet to find suitable client software. There is promising commentary here: https://github.com/Haivision/srt/blob/master/docs/srt-live-transmit.md. I’ve made this work with a local file, but not (yet) with a stream.
Dante
Many will say you can’t do Dante over the internet. But it can, it's not cheap.
Recently learned about "Sessionwire", I haven't tried it but another service you may wish to consider.
Another late Addition - a software platform that was created for remote gaming but also may be very applicable in the remote mixing space - parsec. Note - it only supports windows hosts. But is does support multi-platform clients.
I haven't done any analysis of the various ways one can remotely connect to your computers. In my case I am simply using the product provided by my IT person. I have seen reports of what other people have used so this is the list from the community.
Connect Wise - This is the one I use.
Parsec - this is a very low latency solution that is meant for gaming. It only supports windows hosts; there are Mac clients.