Here’s a quick post to share how to control your BlackMagic VideoHub from a Ross Dashboard Custom Panel.
If you have any BlackMagic VideoHub router, it comes with software that allows you to make routing changes over the network. It’s pretty simple and easy to use.
What you may not know is that it can also accept telnet commands by default over port 9990. This means you can control it from a command line, or by sending TCP messages.
Ross Dashboard has a built in function, rosstalk.sendMessage which is designed for sending simple TCP messages. Combine these two things together, and now you can have a button on your own custom panel where you can make a video route easily.
In Dashboard, create a new custom panel, and add a button to that panel.
Under Tasks, click “Add”, and type in this code:
var command = "VIDEO OUTPUT ROUTING:\r\n";
var videoHub_address = "192.168.1.100";
var destination = 5;
var source = 25;
command = command + (destination -1) + " " + (source - 1) + "\r\n\r\n";
rosstalk.sendMessage(videoHub_address, 9990, command, null);
The router operates with zero based indexes, which means if your destination number is 5, for example, the router treats it internally as 4. So, this script just substracts those numbers internally before submitting the command to the router.
We have two venues running services simultaneously, with volunteers all over the place. Communication is essential to us staying on schedule and coordinating our efforts.
Our primary wired intercom is the Clearcom Encore system. Nothing too fancy – just your standard analog 4 channel party line system with main stations, remote stations, and single channel belt packs placed throughout the control rooms, auditoriums, and tech booths. In each auditorium, we use 1 channel for tech communication and 1 channel for the band in-ears. That takes up all four channels.
Where we have really leveraged this technology is with our bridge to mobile intercom, using a software product called Unity Intercom. By itself, Unity is a Mac-based server application with remote clients (iOS, Mac, Android, Windows, etc.) that connect over the network. Version 2 was limited to 6 partyline channels, but Version 3 that was just released has an option to extend that to 128 partyline channels, which is impressive! The Unity Intercom software is a great solution for allowing mobile intercom use.
The flexibility for us comes with the bridge from our traditional wired intercom to the Unity system so that no matter which system we are using, we can communicate with everyone. There are a lot of ways to do this, like using a 2-wire to 4-wire interface, but we bridge ours using Dante (audio over IP) with a product from Studio Technologies, the ST-45DC.
This interface comes with 2 standard 3-pin partyline intercom connections, and an ethernet port for the Dante network. It’s POE-capable, so if your network switch supports it, no other power supply is needed.
With two of these 45DC’s, we can bridge all four channels of our wired ClearCom intercom to the Dante network. Our Unity server (running on a Mac Mini) has Dante Virtual Soundcard which allows us to bring in Dante network audio as audio input. You do need the “Advanced I/O” Module from Unity in order to bring your audio in/out.
Intercom audio can now pass from the analog intercom system, through the Studio Tech 45DC’s, through Dante directly to the Unity server. Any audio that comes out of Unity goes back to the 45DC’s via a Dante subscription, and the 45DC’s take care of all audio nulling. A side benefit:With your intercom traffic on Dante, you can route it to other places too, like recorders, speakers, etc. Want to record a channel of intercom to be able to listen later and improve your production communication? With this setup, it’s no problem!
To use the wireless intercom, we usually ask volunteers to install the free Unity client app on their personal devices and connect to our server. We have campus-wide public wifi, so they can be anywhere in the facility and still communicate on intercom. The Unity server allows you to control which users can listen to which channels, and you can control which ones they are allowed to talk as well.
I had our IT department configure port forwarding which allows us to access the Unity server from outside the network (i.e. the Internet), which means we can be anywhere in the world and still communicate with the team in real-time, if necessary! This will be very helpful should we ever go multi-site or otherwise have an off-campus event that requires coordination with on-site volunteers.
You need an existing Wired Intercom like the ClearCom Encore System.
As many bridging interfaces as desired for the channels you want available to Unity
Mac computer to run Unity (you can dedicate a computer or just use one you already have)
Unity Server with as many licenses as you need, as well as the Advanced I/O License
Dante Virtual Soundcard software for the Unity server computer
If you are considering a wireless intercom workflow to use with your wired intercom, I hope this helps!
At my church, we rely heavily on Ross products for our video systems. We have two Carbonite switcher panels/frames and several OpenGear frames with cards doing things from audio embedding/de-embedding, video up/down/cross conversion, fiber conversion, etc. The Ross framework makes all that possible.
A great product that Ross makes is their Dashboard software. It’s free, cross-platform, and with the community forums available, you have a lot of power at your fingertips to control all of your equipment. I would highly recommend it even if you don’t use other Ross products.
In ministry, it’s always great when we can create simpler systems where volunteers can succeed, which is why tools like this are so valuable. I started creating my own custom panels in Dashboard about 4 years ago. The first one I created was a panel to control and arm our Aja Ki Pro recorder so we could easily record the sermon video for later editing. The first version wasn’t too fancy, it basically just allowed you to enter a custom clip name and start/stop recording, but it suited our needs.
I later wrote a full transport control version that allowed you to cue up or delete clips, rewind, fast forward, etc. I’ve made both versions of this custom panel available and there are churches, new stations, and government agencies all over the country using both version of these panels. This is all possible because Aja created a RESTful API that can be used to access their KiPro devices, and through Dashboard, we can take advantage of that.
If you’d like a copy of this panel to use in your church, let me know. I would be happy to send it to you!
I’ve also created custom panels to turn on/off projectors and do simple operations on the video switchers (by firing custom controls through Dashboard), and over time this developed into the complex but flexible system we use today. Now we have a “master production control” custom panel that is always open in DashBoard on one of the production machines.
Then, each production machine has Dashboard installed and is running one of the remote panels I’ve created.
Here is an example of one of the remote panels, used primarily for turning projectors on and off in one of the auditoriums and controlling screens we use in those rooms. I tend to customize these panels for their application, only giving them the command options necessary for that area.
This master control panel is where all of the code lies that does the actual work, whether it is turning a projector on, executing a custom control on a video switcher, setting a PTZ camera preset, etc. This is great because now anytime I make a performance improvement, add a new feature, etc., I only have to add it to the master control panel, and the remote clients will get that benefit when they execute the command.
The remote panel simply sends a web HTTP request to the master panel at a specific address and port, which triggers the corresponding button on the master panel.
The master control panel then keeps track of the remote listeners and sends updates as commands are executed. Right now, I primarily use this to update an activity log on each remote client, or to update the state of a button if needed, but the flexibility is there to do what I want, and all of the clients can stay up to date no matter who pressed a button from any particular machine.
I hope this gives you a few ideas for your tech ministry on ways to simplify equipment and production control! If you need help along the way, drop me a line. Happy coding!
Hello! Welcome to this blog. The goal and purpose will be to share some projects, thoughts, and ideas on how to effectively use technology in ministry, to serve the local church and advance God’s Kingdom.