ProTally 1.2.0 with Blackmagic ATEM support available

I spent some time this past week writing and testing support for ProTally with Blackmagic ATEM switchers. I didn’t have one to develop with, and after posting on a discussion group about the software, a new friend sent me a unit to work on. Thanks again, Kyle!

Version 1.2.0 now supports:

  • Blackmagic ATEM switchers – it will auto discover any ATEM switchers on the network, or you can manually type in an IP Address as well
  • Ross Carbonite Black, Carbonite Black Solo, and Graphite switchers

And I now have a Windows release build in addition to a MacOS release build!

Screen Shot 2018-09-15 at 12.12.47 AM

Screen Shot 2018-09-15 at 12.13.51 AMScreen Shot 2018-09-15 at 12.13.11 AM

Screen Shot 2018-09-15 at 12.14.08 AM
It now supports more device types!

You can download the binaries for free here: https://github.com/josephdadams/ProTally/releases/tag/v1.2.0

If the software is beneficial to you, drop me a line and let me know!

Using Dropbox to keep ProPresenter Libraries in sync

Dropbox is an excellent tool for production use. We use it for everything, from weekly temporary files just for a particular weekend service, to long term resources that need to be available on a regular basis. It’s great because the files automatically sync to all the devices, and it allows us to collaborate with a lot of people/contributors. The files are stored locally on each device/computer, so they are quickly accessible.

We also like syncing our ProPresenter Libraries in Dropbox, and I thought I would share that method with you. If you haven’t heard of ProPresenter, it is an media presentation software package from a company called Renewed Vision that is designed specifically to make live production easier. In my opinion, it’s the best lyric presenting software out there.

ProPresenter maintains its own internal library/folder system of all of your presentations (songs), background videos, images, etc. This allows you to easily search and re-use songs week to week. The software auto-saves changes when you make them, which is great.

Screen Shot 2018-09-06 at 3.10.53 PM

But what do you do when you have multiple ProPresenter computers in multiple venues and rooms across the campus or ministry? This is where a syncing method comes in very handy.

ProPresenter has two built in options for sync, “local sync” and “cloud sync”. The local sync option is free and you can set it up yourself to sync to a local drive or network share. The cloud sync option uses Renewed Vision servers and costs a small monthly fee.

However, we don’t use either of these options. I tried the local sync option and never got it to reliably work like I expected, and the cloud sync was not something we were interested in paying for at the time.

We use Dropbox instead. We have a shared Dropbox account logged into all production devices. Each computer using ProPresenter is set up with its own library folder in the Dropbox account. This allows that computer to make all the changes it needs while those library files are in use.

screen-shot-2018-09-06-at-3-04-24-pm.png

As changes are made, they are automatically synced to Dropbox and back down to the other devices, into that same folder name/structure. Essentially, every computer has a full backup of all the other computers’ ProPresenter libraries, accurate to within the last time it synced, typically within a couple of minutes at most.

Screen Shot 2018-09-06 at 3.08.47 PM

We have found this to be very helpful, because a volunteer running ProPresenter in one Auditorium can fix or redesign a slide, and the volunteer running ProPresenter in another Auditorium can simply pull up that file on their computer and copy it into their local library.

To sync over mass changes, we create a ProPresenter bundle file of presentations and save it to Dropbox. The other computers see the bundle file almost immediately and they can then be imported to get any new changes needed.

We have been using this workflow for over a year now and it has been great for us. Do you use ProPresenter and Dropbox together? If not, give this a try. Or, if you have a great syncing method that works well for your team, share it! I’d love to hear how you are using technology well to help the church be more efficient.

ProTally Release Build is here!

Awhile back, I wrote about the on-screen tally software I recently developed. We needed a way for our CG operators to know when their source was on-air or about to be on-air. I won’t rehash the definitions or inner-workings again, so if you didn’t read that first post, I recommend you read that before this.

I had hoped to give a release build much sooner but lost time waiting on some other people to test it in their environments. We’ve been running it in our environments for almost 2 months now with no issues, so I finally gave it some final polishing and bug squashing to get it ready for release. The interface has changed some, and for now, you can choose between a generic TSL 3.1 device or, specifically, a Ross Carbonite. (Not a Carbonite Black, Solo, or any of the other models.) Why specifically that model? Because I have two of them, and that’s what I know and use!

Screen Shot 2018-08-30 at 4.12.01 PM
Here is an example of it being used with ProPresenter as a border box.
Screen Shot 2018-08-30 at 4.13.11 PM
Here is an example of the filled-in box version, as some people may prefer that instead.
Screen Shot 2018-08-30 at 9.37.21 PM
Here is what it could look like in ProVideoServer.

I hope to add support for the Blackmagic ATEM protocol soon. I need to connect with someone who has one, so if that’s you and you’re interested in testing with me, drop me a line!

If you’d like to download either the source code or a release build for the Mac platform, I’ve made both available on my Github repository here:https://github.com/josephdadams/ProTally/

And this should go without saying, but even though I’ve made software to augment your use of software like Renewed Vision’s ProPresenter and other products, it is in no way associated with any company or product. This is distributed under the MIT license and is available for anyone to use without cost.

Tally ho!

Using software to prepare for the Global Leadership Summit

My church is hosting the Global Leadership Summit again in August. This will be our second year. If you’re unfamiliar with the GLS, it is a 2-day intensive leadership conference with world-class speakers that takes place globally. The live speakers are at Willow Creek church in Illinois, and they send the content live around the globe via satellite and web stream.

As a host site, we have a variety of tasks to accomplish throughout the year as we prepare to host. As the technical director, it’s my job to make sure the satellite feed is working properly, and we do tests months in advance to be ready. In fact, we just had our first full test last week.

Sometimes during the actual event, the satellite feed will go down or have a problem and we will need to switch to the web stream. I decided a quick Dashboard Panel would be an easy solution to enable this, so that in the heat of the moment, I’m not having to think through audio de-embedders, video routes, etc. I can just click a button, and have the computer do the work. It will also help in case I have to step out and there is an issue while I am gone, because anyone on my team can click a button!

Screen Shot 2018-06-25 at 2.44.22 PM

Screen Shot 2018-06-25 at 2.49.05 PM

Are you hosting or attending the GLS this year? What are you doing to prepare?

Triggering Wirecast Remotely using Elgato Stream Deck

Wirecast is a great tool for live streaming. At Fellowship Greenville, we use it as our encoder to stream to YouTube Live, whether it be the regular Sunday morning sermon live stream, or for special events, conferences, funerals, etc.

Lately, I’ve been working specifically on some improvements to make it easier for me to operate a live stream from our second auditorium, where we typically host funeral services and special events. Our live stream server is located in our control rooms in the main building, so when I am working tech for an event in the second auditorium, I am completely separated from the control rooms.

For regular Sunday services, that’s not a problem to be separated because we have a great team of volunteers working in both areas who stay in communication with and support each other. But for smaller services like a funeral, where it is typically only me and one other staff member running everything, it can be challenging to run a full production while I am sitting in the tech booth, far away from the control room areas where the live stream server and video switcher are located.

This is where my Stream Deck Production Controller software is going to be a great help. I have created a button set that allows me to send RossTalk commands to the Ross Carbonite switcher, change the necessary routes on the BlackMagic VideoHub router, and start/stop the Wirecast live stream.

IMG_5668.JPG-1.jpeg

So how does this work? The Stream Deck software is sending a GPI trigger request to Dashboard, where I have these buttons in my production control custom panel:

Screen Shot 2018-06-15 at 11.18.59 AM

Clicking the “Wirecast – Start Streaming” button runs a custom ogscript function that runs this AppleScript:

Screen Shot 2018-06-15 at 11.23.04 AM

And that’s it! By using the existing infrastructure I’ve designed for our production control, I’m now able to easily run the live stream but still maintain high value in what is streamed. By using the stream deck to operate not only Wirecast, but the video switcher remotely, I can change sources as needed, play videos, show cameras, etc. I even have a button that jumps to my PTZ camera control where I can recall presets that I’ve designed specifically for special events like this!

My Stream Deck software is available on Github if you would like to use it, and feel free to reach out if I can help!

Remote Control of Panasonic AW-HE40 PTZ Camera through Dashboard

We have a Panasonic AW-HE40 located in each auditorium at my church to allow the control room operators to see the space. We also occasionally use them as on-screen cameras since they have HD-SDI outputs. The quality is surprising for the size of the device.

aw-he40swpj_2_1024_0

The cameras come with a fully functional webpage that allows you to control them.

Screen Shot 2018-06-12 at 9.26.40 AM

By peeking around at the code some, I was able to figure out how to send HTTP requests to change presets of the camera.

Here is my Ross Dashboard custom panel that allows our volunteers to quickly pull up presets:

 

Screen Shot 2018-06-12 at 11.41.45 AM
The panel allows the user to see the camera’s viewing angle and select a pre-defined preset. Presets can be modified within the existing web interface for the camera. A Setup tab is also available to configure the IP address of the camera you wish to control.

 

If you use my panel, you’ll still need to manage/modify the presets using the existing interface. We don’t change our presets often, so I didn’t feel the need to recreate any other functionality than recalling presets.

I’ve made this panel available on Github here if you can benefit from it: https://github.com/josephdadams/RossDashboardPanels

Getting A List of Active Users in Unity Intercom

At my church, we use Unity Intercom to expand our wired intercom system. It is very useful to have users who can be mobile and still stay in communication.

We wanted to have the ability for our directors to see who is currently logged into Unity without having to log into the server or be logged into a Unity client on a device.

After doing some digging and consulting the forums, I found out that if you go to this address:

http://unityserverIPaddr:20101/userconfig

The Unity server will return a JSON dataset of the server information including the list of users.

"users":[{"username":"josephadams", "title":"Joseph Adams", "allowedrcv":"63", "online":"0", "notify":"yes", "locksettings":"no", "lockchannels":"no", "groups":[{"groupNumber":"0", "transmit":"63", "receive":"63"}]},{"username":"technician", "title":"FG Tech User", "allowedrcv":"63", "online":"0", "notify":"yes", "locksettings":"no", "lockchannels":"no", "groups":[{"groupNumber":"0", "transmit":"9", "receive":"63"}]}]

Once you’ve parsed that JSON into objects, you just have to check if the “online” property is 0 (false) or 1 (true) and you now know who is logged in!

I added this to our director’s dashboard so now they can easily see who is available.

Screen Shot 2018-06-12 at 9.10.05 AM

It’s great when we can extend software like this! I wish more software developers exposed REST API’s for their users. Great job, Unity!