Streaming Media

Streaming Media on Facebook Streaming Media on Twitter Streaming Media on LinkedIn
 

Benchmarking PCs, Capture Cards, and Software Mixers for HD Capture and Streaming

To determine how powerful a system it takes to produce and deliver live event streams, we tested a range of computers (old and new), capture devices, and multiple live streaming software programs, streaming to one or more streaming services, recording archive/ISO files in various formats, and measuring CPU utilization. Read on for the results.

When you’re producing a live event with a self-built, computer-based system, your focus narrows to a single relevant question: Is the system powerful enough to produce the streams required for the event?

To help find out, we assembled a range of computers (old and new), obtained several capture devices, and downloaded multiple live streaming software programs. Then we ran multiple tests, streaming to one or more streaming services, recording archive/ISO files in various formats, and measuring CPU utilization. On the Windows-based systems, we captured the results in Performance Manager and annotated the output to produce graphics such as those shown in Figure 1. On the Mac, we simply recorded CPU utilization numbers during the tests.

Before discussing the results, let’s touch on testing procedure. First, to normalize the results, I used the same high-motion, high-detail AVCHD clip for all tests. Each time, I started the streaming and/or recording activity, triggered the recorded video, let it play through, and then stopped recording/streaming. Then I changed the configuration and started again. To add a touch of complexity, I added a logo overlay to all videos.

I’ll detail each computer system and capture device used when reviewing the test results. For the mixing software, I used a prerelease version of Telestream Wirecast 7.1. I was glad I did, since CPU utilization was down significantly from version 7.0, which was way down from version 6.0. I tested vMix version 17.0.0.107 and version 0.15.4 of Open Broadcaster Software (OBS).

Let’s start with notebook testing.

Notebook Testing

I ran the first tests on an HP ZBook Studio G3 Mobile Workstation with a 2.8GHz Xeon quad-core (eight with Hyper-Threading Technology [HTT]) E3-1505M CPU with 32GB of RAM running Windows 10. The first capture device was a USB 3-based Epiphan AV.io 4K video grabber.

Figure 1 (below) details the results of tests run with Wirecast version 7.1, though tests varied slightly with the capabilities of the software mixer. I started with a 720p/2.25Mbps stream to Facebook Live, and then added a 1080p/8Mbps archive encoded with x264, which boosted CPU utilization to more than 55%. By way of comparison, with Wirecast version 7.0.1, CPU utilization for x264 was more than 70%. Test three was Facebook Live plus an archive encoded with the more efficient Intel Quick Sync Video codec.

Figure 1. CPU utilization for Telestream Wirecast on a 2.8GHz HP ZBook with an Epiphan AV.io 4K video grabber

As a rule of thumb, once CPU utilization pushes past 70%, you may start dropping frames in your live stream or recorded file. Though x264 exhibited slightly higher quality than Quick Sync, at 8Mbps the difference is very minor. If you notice that CPU utilization is consistently exceeding 60% or so, consider switching to Quick Sync (if available) for your archive version.

Note that I used x264 when available for all live streams to Facebook and Ustream. If you find CPU utilization uncomfortably high on your system, consider switching to Quick Sync (if available). I used x264 with the Very Fast preset since this was the default for all tested software programs. I ran some tests with the Medium preset, but this drove CPU utilization through the roof, and the quality difference was indiscernible.

Wirecast also offers an ISO archive, which produces a Motion JPEG (MJPEG)-based QuickTime file. While about as efficient CPU-wise as the Quick Sync codec, the Motion JPEG file is more than 11 times larger (91.7Mbps as compared with 8Mbps), which could put a strain on the storage capabilities of your notebook. As you’ll see later, I also found QuickTime MJPEG files slightly dingy, so I recommend using MP4 over MJPEG for the quality and file efficiencies. The final test involved sending 720p streams to two live streaming services, Facebook and Ustream, which required about as much CPU as Quick Sync and the ISO Archive.

What are the key takeaways? At 2.8GHz, an E3-1505M Xeon system, or a 2.8GHz i7 system, should have enough power to easily handle a 720p output stream, plus an archive version in x264 or Quick Sync formats. Slower versions of the same CPUs should deliver close to proportional performance, though the slowest CPU offered on ZBook Studio is a 2.6GHz i7, which should perform similarly to the tested model. Changing the CPU completely, say to a dual-core i5 (four with HTT), changes the formula completely, and I briefly look at an i5-based system later.

Related Articles
This article explains what features to look for when choosing a capture card to incorporate into your live switching and streaming workflow.