For the past several weeks I’ve been experimenting with vMix HD, a software based tool for real-time video production on the desktop. I’ve been running the free 60 day trial version of vMix HD, which runs on Windows.
It now seems very likely that I will purchase a license for the Basic HD version, since it’s very capable and costs only $60.
I’ve mentioned Wirecast quite a number of times. It’s a software tool for producing video on the desktop. It functions like a video production switcher, allowing for source selection, transitions, layering & audio mixing. It can send the resulting stream to a service like YouTube, Livestream or Ustream. The real magic in my application is that it emulates a webcam, allowing its video stream to be used with Hangouts, Skype, GotoMeeting or whatever-else-your-like.
The problem with Wirecast is that it’s a bloated piece of software. It requires significant hardware resources to handle 720p or 1080p video. It makes little use of the GPU. You may have a high-performance video card in the host platform, but it will only be used in specific, limited ways. I can’t image what kind of hardware would be required to deliver a 4K stream, if it’s even possible!
Moreover, Telestream seems to be putting little effort into Wirecast. It’s evolution from v4.x, through v5.x and now to the v6.x series over the past few years has been underwhelming. Last years v6.0 release included a new GUI, 64 bit operation and some social media integration, but nothing that was a dramatic improvement.
vMix HD is a software implementation of a video production switcher from StudioCoast Pty Ltd in Australia. It does many of the same things that Wirecast can do. However, it’s implemented in a manner that makes more efficient use of hardware. In particular, vMix HD makes greater use of the resources on the GPU.
Basically, vMix HD does more with less. So much so that it supports 4K/UHD video production right now!
Consider the example shown above. The preview display (left side) shows my webcam, a graphic and the live streams from my two Grandstream surveillance cameras being scaled & composited over a full-frame background image. The program output (right side) show my webcam with a lower third banner alpha channel layered on top. All of the small thumbnail images are “shots” that are various assets involved in the production.
I created this layout during the course of VUC544. My desktop was easily able to build this presentation, without struggling as it had while running Wirecast. I found that I could work at 1080p where 720p was the best I was able to reliably handle in the past.
In point of fact, my copy of Wirecast ($495) can’t even create the 4-way composite scene. I’d be forced to buy a “Pro” upgrade (another $500) to accept the video streams from the surveillance cameras.
The design of the vMix software is very nice. As someone who has spent a lifetime in video production and broadcasting, I find it intuitive. It’s a bit more techy than some other things that I’ve used, but that’s ok. Producing desktop video is an inherently technical thing.
I appreciate some of the subtleties of vMix. For example, in the lower left corner of the app is constantly displays the render time, frame rate and cpu load.
Operating at 720p30, each frame should be rendered in under 33ms to sustain 30 frames/second. The fact that vMix can do this using only 12% of CPU is impressive.
No longer CPU bound, I reworked the VUC opening title sequence to use a series of sponsor logos layered over a nice animated background. Adding the animated background increased the CPU load from 12% to 30%.
The additional effort of recording the file to disk caused the CPU load to reach 65%, which would still be too high for use along side a Hangout. Hey, I know there’s a limit to what I can ask from a 3-year-old desktop, even with more efficient production software.
Update: (7/26/2015) – I have since discovered that my prior CPU load was based upon a 1080p30 background animation being scaled down to 720p30 on-the-fly. When I switched the background to a clip that was rendered at 720p30 the CPU usage dropped to just 15% while streaming to a Hangout, and around 55% when recording to disk.
The 60 day trial license has allowed me to use vMix HD for several VUC calls. Along the way I’ve noted a few nice things. For example, I’ve long been frustrated with how Wirecast for Windows handles webcams. The primary setup parameter it offers is output resolution. It doesn’t provide any control of how the video stream is transferred over the USB connection.
In contrast, Wirecast for Mac offers a plethora of options that detail both resolution and stream encoding. The ability to specify stream encoding can be significant. In the case of the Microsoft LifeCam Studio specifying MJPEG encoding is the only way to achieve a 1080p30 stream. Use any other encode method and the frame rate drops dramatically.
I had thought that this difference between the two versions of Wirecast (Windows vs Mac) implied that there were underlying differences between how the platforms handled the camera. That assumption proved to be incorrect, since vMix gives the user explicit control over the type of video encoding used to traverse the USB connection.
I’ve yet to pass any audio through vMix. To be blunt, such video production tools are not well suited to handling bidirectional audio, as is commonplace in Skype, Hangouts, JVB, etc. VoiceMeeter is still the superior tool for creating the mix-minus setups required by those situations.
Color me impressed by vMix. I’m not entirely clear on whether the Basic HD ($60) or Full HD ($350) version will meet my needs. Since the company allows license upgrades for only the difference in price, I’ll likely start out at the low-end. No doubt I’ll be finding the edges of its capabilities before too long.