Streaming Media

Are you receiving the most up-to-date streaming news? Subscribe to one or more of our newsletters to make sure you are!
 
Streaming Media on Facebook Streaming Media on Twitter Streaming Media on LinkedIn Streaming Media on Google+ Streaming Media on YouTube
Sponsors

Live Streaming from a Notebook
Live streaming on a notebook can be the best of all possible worlds, but how powerful a machine do you need, and how do the various live streaming software programs stack up? We look at tools from Adobe, Kulabyte, Microsoft, and Telestream.
Companies Mentioned:
{0}
{0}
{0}
{0}
{0}
{0}

Live event streaming on a notebook can be the best of all worlds, with several programs available for free or relatively inexpensively, and generally easy to use. But how powerful of a notebook do you need to stream effectively, and how do the various live streaming software programs compare in terms of CPU requirements, data rate accuracy, data rate consistency and video quality? Finally, how does the video quality of these programs match that produced by hardware appliances like the Digital Rapids TouchStream or ViewCast's GoStream SURF? In this article, I'll attempt to answer all of these questions.

Specifically, I tested three notebooks: a 2.2 Core2Duo-based Hewlett Packard 8710w, a 3.06 Ghz Core2Duo-based MacBook Pro and a 2.0 four-core (8 with HTT) i7-based Hewlett Packard 8740w. I also tested four software programs: the Adobe Flash Media Live Encoder (free), Kulabyte XStream 2 (around $10,000), Microsoft Expression Encoder 4 ($199.95) and Telestream Wirecast ($495). I realize there are other programs that I could have tested, but these seem to have the most mindshare in the live streaming market space. If you disagree, let me know, as this won't be the last article we write on this subject.

How I Tested
I tested both SD and HD inputs, testing SD on all three computers and HD only on the HP 8740w. For SD, I tested using my standard 5:50 minute 4:3 SD test file, which I output to DV tape, and fed back into the various computers from my Canon XH A1 camcorder via FireWire.

I tested five SD scenarios. First I did standalone encodes at 640x480@700Kbps, 480x360@400Kbps. and 320x240@200Kbps, all at native frame rate, and all at 32Kbps mono audio. Then I simulated production for adaptive streaming by producing the two lowest resolution streams (480x360 & 320x240) simultaneously, and if it looked like it was possible, all three streams. Note that for these tests, I captured all files to disk, rather than streaming them to a server.

I used each program's default settings as much as possible, since these should represent the software developer's view of optimum settings. Interestingly, for H.264 encoding, which is all that I tested, Adobe defaults to the Baseline profile, Microsoft to the High profile, and Telestream to the Main profile. More on that in a moment.

For HD tests, I used several HD source tapes, including an interview with former Congressman Rick Boucher, and some rehearsal footage of Virginia bluegrass band No Speed Limit. For HD, I tested two scenarios; first, a four stream test (1280x720@2Mbps, 848x480@1.5Mbps, 640x360@800Kbps, and 480x270@500Kbps, all at 64Kbps audio and native frame rate) and a single stream 848x480@1.5Mbps test, again with 64Kbps audio and native frame rate. For all HD tests on all programs, I captured using a BlackMagic Decklink card connected to the 8740w's Express Card slot, capturing component video and analog audio input.

I'll present the results as follows: First I'll look at the CPU efficiency of the various programs using both SD and HD scenarios, which will tell you which programs can actually produce the necessary streams on each platform. Then I'll look at data rate accuracy, data rate consistency, and the video file quality produced by the programs.

CPU Efficiency
To test CPU utilization with SD, I queued up Performance Monitor, dialed in properties that extended the measurement time to about 20 minutes and captured three minutes of video in all tested scenarios. This yielded a chart like that shown in Figure 1 for each program. Obviously, these results will tell you if you can produce the desired stream configuration(s) on your notebook using the desired program.


Ozer Notebook Figure 1

Figure 1. This chart from Performance Monitor shows the CPU Utilization of Telestream Wirecast in all five tests.

8710w
On the Hewlett Packard 8710w, I tested Adobe FMLE, Expression Encoder 4 and Telestream Wirecast, leaving out Kulabyte because the company targets HD web events that require more powerful computers. Table 1 shows the results garnered from the individual CPU utilization graphs, which illustrate the percentage of CPU required for each task.

Some notes about the results. First, the pass/fail designation indicates the presence of significant dropped frames in the captured file. With FMLE and EE4, this was simple, since both programs provide drop frame counters that instantly let you know when you start dropping frames.

In contrast, Wirecast displays the effective capture rate, which varies by the second. To check the suitability of the files captured by Wirecast, I checked the frame rate after capture in MediaInfo, and all files were at least 26.98 frames per second or higher. I supply more on the effective frame rate captured by Wirecast below.

 

640x480

480x360

320x240

480&320

All

Adobe FMLE

100% - Fail

65-75% - Pass

45-60% - Pass

100% - Fail

DNT

Microsoft EE4

100% - Fail/ 85-95% - Pass

75-98% - Pass/ 85-90% - Pass

50-60% - Pass/70-80% - pass

100% - Fail

DNT

Telestream Wirecast

55-75% - Pass

40-55% - Pass

30-40% - Pass

40-75% - Pass

90-95% - Pass

Table 1. CPU utilization by the respective programs.

Second, I tested twice with Expression Encoder 4, with and without GPU encoding, because it made a substantial difference in quality and performance. Performance you can see in the table; in terms of quality, check out Figure 2. Though the difference in quality was slight in low motion footage, when the action ramped up, GPU-based encoding degraded rapidly. Unless you're producing purely talking heads, count on using CPU-only based encoding until Microsoft resolves the issue with a release from Main Concept scheduled sometime in 2011. 

Ozer Notebook Figure 2

Figure 2. With moderate motion, GPU-based encoding in EE4 degrades rapidly.

By the way, I tested EE4 using the Baseline profile instead of High. Though CPU utilization stayed around 100%, EE4 was able to capture the 640x480 stream reasonably successfully, dropping 388 of 5882 for an effective frame rate of just over 25 fps. If you're producing with a slightly faster notebook, you might give this a try, but running at or close to 100% CPU utilization seems like a bad idea for a live broadcast.

I also tested the Adobe Flash Live Media Encoder in Main mode; which bumped CPU utilisation a hair, but made very little difference in quality. For the record, I tested Wirecast with GPU-acceleration enabled, but that made very little difference in either quality or CPU requirements.

To interpret the results, if you're looking for full quality 640x480 output on a Core2Duo based notebook, Wirecast is your best bet, though Expression Encoder 4 can get the job done in a talking head scenario where you can run with GPU-coprocessing, or with a faster notebook capturing in the Baseline profile. All programs can produce at 480x360, but Wirecast is your only option for producing multiple files for adaptive bitrate streaming.

MacBook Pro
Here we get to the bait and switch portion of the review; well, kinda anyway. What I mean is that I could only get one program running on the MacBook Pro, and that was Wirecast. I had a version 3.1 of the Adobe FLME loaded on the notebook, but uninstalled it to load version 3.2, which refused to install. I tried going back to version 3.1, but that wouldn't install either. I enlisted Adobe's help, but still couldn't get it running. I know that failing to test FMLE will disappoint many Mac producers, and rightfully so, but hopefully I can rectify the situation in a subsequent review.

Ozer Notebook Figure 3

Figure 3. Wirecast CPU utilization on the MacBook Pro.

Anyway, Figure 3 shows the CPU History window from the MacBook Pro for my Wirecast tests. As you can see, the Mac was quite handy with Telestream, seemingly slightly more efficient than the HP 8710w, which makes sense since the Mac has a 3.06 GHz CPU as compared to the HP's 2.2 GHz processor.

The MacBook Pro and Wirecast performed very well together, with all files produced in the single file tests rendered at 29 frames per second or higher. All files produced during the latter two tests had a frame rate of 28.2 fps or higher. Only the most discerning of eyes could tell that any frames were dropped at all.

8740w
On the 8740w I added Kulabyte XStream 2, capturing via a BlackMagic Decklink card. On this computer, I tested Expression Encoder 4 exclusively with GPU disabled. I present the results in Table 2.

 

640x480

480x360

320x240

480&320

All

Adobe FMLE

18-22%

15-18%

15-18%

20-25%

40-60%

Kulabyte XStream 2

12-15%

10-12%

7-10%

15-20%

18-25%

Microsoft EE4

22-32%

18-22%

15-18%

15-25%

35-55%

Telestream Wirecast

12-18%

10-18%

10-12%

15-18%

18-25%

Table 2. CPU utilization by the respective programs.

As you can see, throwing CPU horsepower at the problem definitely helps resolve it, as from a CPU utilization percentage, the i7-based HP definitely makes all streams and combination of streams accessible from all programs. No pass/fail here - all programs produced streams without dropping noticeable amounts of frames. 


Posted By Ski Romagnoli on 2/24/2011 12:15:20 PM:

I'm curious about the interface between the Blackmagic card and the pc express slot as well. Was a magma box used between the two?

Thanks!

ski
defero interactive


Posted By Steve Penstone on 2/21/2011 1:42:59 PM

Great article for those of us that use a laptop to stream video.  I'm part of a large community that uses Vidblaster video production software. It gives us a robust package that can be used with dual-core or quad-core processors.

Perhaps you could give it a spin and report on how it performs.

Steve Penstone

Director of Broadcasting

Penn State University men's hockey

 


Posted By Craig Seeman on 2/21/2011 11:58:12 AM:

Jan, excellent detailed testing. I have a few questions.

Testing by recording to hard drive. Hard drive speed and throughput may impact dropped frames. I know Wirecast users have reported that using a 10K Velociraptor greatly reduces dropped frames when recording to hard drive. I'm guessing that this may also mean dropped frames when recording to hard drive may not be directly comparable to dropped frames during a stream. You may want to list the hard drive speeds of the computers you tested.

I'm not sure what would be the ideal protocol for testing dropped frames during a stream but perhaps doing a server side recording to a common server/CDN which would have a common recording method, would be one thing to consider.

It seems you used MediaInfo specifically for analyzing Wirecast frame rates. Consider using it for all the files. It can confirm the reporting accuracy in the various encoders and ensure they're all being tested with a common tool. Perhaps you did that but it isn't clear to me.

You mention testing GPU compression and that it apparently had only minor impact. It may depend on the GPU and drivers in the given computer. Perhaps you should list the GPU in each laptop and whether you tested it enabled/disabled on each computer and its impact on both CPU use and quality with the encoders that can enable/disable that function.

Perhaps consider testing a bootcamped MacBook Pro. That way FMLE and Wirecast could be compared to each other using common hardware on OS 10.6.x and Windows 7.

Were all Windows laptops using Windows 7 64bit, 32bit, various other?

It's not clear to me how you used the Decklink card in the HP 8740w?

Given you mentioned the potential for data peaks and their impact on streams that might also be an interesting series of test.

Thanks for doing this extensive testing. Please do consider doing more and providing more details on this test where you can.


Posted By Randy Brightman on 2/21/2011 9:41:47 AM

How did you connect the Decklink Card to laptop? All I can get are PCIExpress Cards from blackmagic and the laptop has an ExpressCard slot only?  I would love to be able to take a laptop with me instead of a desktop on the road.


Posted By Tim Baldwin on 2/18/2011 3:59:44 PM:

Thanks Jan for the exhaustive analysis of portable encoding software.

At Kulabyte we were actually quite surprised to see how well FMLE performed, but Adobe should be commended for making available a very viable encoder to support their Flash ecosystem.  We do believe, however, that the differences between Kulabyte's XStream Live 2 encoder and the others would be more apparent if one were actually trying to push a full set of streams from an HD source for dynamic streaming such as the following:  720p 2.5Mb + 480p 1.5Mb + 360p 900Kb + 270p 500Kb.  A 2.13GHz quad-i7 laptop with the XStream Live 2 encoder can actually deliver this set of streams because of its more efficient use of the CPU and in this scenario we also believe the superior bitrate control on XSteam Live 2 would be much more apparent. 

However, we'll have to leave it up to the users to be the final judge and we are always  happy to provide qualified customers a trial license for the XSteam Live 2 encoder for comparison to their existing encoders.

There was one other actually incorrect statement.  The XStream Live 2 encoder does support firewire but we typically recommend against it because it compresses the color space and the resulting video does not look as good.  For mobile encoding with laptops we generally recommend Blackmagic Intensity Pro, Decklink SDI, Decklink Duo (for two input channels) or Decklink Studio in a Magma PCI Express expansion box.

 

Tim Baldwin

timb@kulabyte.com

www.kulabyte.com

Related Articles
XStream Live 2.1 a Must for Live-Streaming Events
There's an old Hollywood joke with the punch line, "but I really want to direct." I'm not sure what the actual joke is, or if it's funny, but the reason I bring it up is that if you talk to writers, most would say, "but I really want to be onTV."
The webcasting production software now comes in standard and Pro versions.
Microsoft Expression Encoder 4 offers the ability to inexpensively adaptively distribute to Apple iDevices, and does so admirably
The newest version of this popular live video production tool offers significant improvements and is a no-brainer upgrade for existing customers.