Wirecast Control


So here is a little background on this project.  As you probably know from reading my website I do video podcasting.  I have been using an ATEM switcher which lacks some of the nice graphic ability that I desire as well as video playback.

To get around this I have been looking at using the Wirecast to perform the lower thirds and video playback. I have Wirecast installed and working but the user interface to Wire cast is lacking.  There are scripts that allow you to use Korg NanoKontrol to control WireCast and I have tried those scripts.  My scripts are based off of some pieces of the scripts I've seen on the Internet.   I have rewritten the bulk of them to control wire cast with a Korg NanoKontrol and NanoPad.  I use the NanoKontrol similarly to how the other scripts did and I have setup the NanoPad for DDR playback.  That provides for 15 DDR's for playback and a stop button.

Because I use black magic design ATEM for my main switcher and wire cast to provide the graphics and video playback I wanted to create scripts that would work with both devices at the same time. I have different versions of my scripts, one is strictly 100% wire cast and the other combines wire cast and the ATEM switch into just one interface.

I have also created an iPad and android interface that allows you to control wire cast using a portable device.  You can control Wirecast on an iPhone, iPad or any Android device.

This page will describe the project and give you links where you can download everything for free. I wanted to provide this project to anyone who wanted control over a wire cast system just like the scripts that I found for free on the Internet.

The Scripts

As mentioned above, there are 2 scripts, one that controls only wirecast and one that controls both wirecast and the ATEM.  The hybrid version uses the ATEM to switch the video and uses Wirecast to do the graphics, lower 3rds and DDR playback.

The scripts are actually identical to each other, it takes about 5 minutes to take the latest script and adjust it to work as the other script.  If you look at the source code for the script and search for ATEM you will find comments where one line needs to be commented and another un-commented. 

Using the same script allows enhancements and repairs to be made across both versions of the script.  I have tried to document the script well so that you can play with it and make changes that fit your needs.

You can download the latest scripts by going to: https://github.com/netnutmike/Wirecast.  Be sure to read the sections below on how to install and what is needed.  Everything you need is available at the link above.

What You Need

First of all, this only works on the Mac.  The scripts are written in AppleScript.  I may in the future have a windows version but for now, sorry it is only Mac.

There are 3 additional pieces of software that you will need to get this working.  Only 2 if you are not going to be using a mobile device like an iPad or Android device.

The first you need is a free program called midi-pipe.  You can search Google to find it and download it.  Install it.  The next most important piece of software is the Korg software that writes scenes to the Korg Controllers.  Again search Google for "KORG KONTROL Editor".  It is free too.  Install this software too.  If you are planning on using a mobile device for control too, then you will also need to download another free program called TouchOSC Bridge.

So let's summarize it again:

  • Midi-Pipe
  • TouchOSC Bridge (optional)

How It Works

Before we get into how to set everything up, here is how it works...  A script written in applescript for midi-pipe listens for Midi commands, when it sees certain pre-defined Midi commands, it performs actions in WireCast using the AppleScript interface to Wirecast.

So when a key is pressed on a Korg device, it send a midi control command.  midi-pipe sees that command and tells wirecast what to do.

For the mobile devices we add TouchOSC Bridge which recieves OSC commands from the TouchOSC application that runs on a mobile device.  There is a version of TouchOSC for iOS and Android that you can download.  There is a small cost for this app.  At the time of me writing this it was $4.99.

We provide all of the scripts and TouchOSC files you need.  In the next section we will walk through how to set everything up.

Setting Up The Software

What is needed for these scripts to work is a small little program called MidiPipe.  Within MidiPipe there is some setup that needs to be done.  In my case I have 2 controllers, if you are only using one controller the additional midi entry that you see in my config would not be needed.

First, on the left select the midi in option and either double click it or drag it to the right.  Once on the right side, highlight it and select your first controller from the list.


If you have an additional controller do the same step for that controller, in my case I do so below is my config for that controller.

The next step is to setup the actual script that will do the work.  For that, select Applescript Trigger, it is a ways down in the list.  Move it to the right side by either dragging it or double clicking it.  Once you get it over, click on it and you should have a large white empty area at the bottom.

Paste the script into that area.  Your should look similar to the below image:


That is it for the software setup portion.  Now time to setup the controllers.


Setting Up The Hardware

Setting Up Wirecast

 For the scripts to work correctly in Wirecast, the shots need to be named specific names based on what button you want to activate them.  Below is the special naming convention that needs to be used:

 Camera Shots or inputs need to be named cam# where the # is replaced with 1-9.  The shots need to be on Layer 3 in Wirecast.

Double Box Shots need to be named cam#-db where the # is replaced by 1-9.

Special Effects need to be named chl3rd-# where # is replaced by 1-9.

Lower 3rds need to be named l3rd-# where # is replaced by 1-9.

Using The Controllers

Using The Mobile Devices

Below are some examples of some working examples that were created in TouchOSC and will work on iPad's, iPhones and Android devices.

TouchOSC Controller Example

TouchOSC DDR Example

Making Changes