Review: Microsoft Expression Encoder 4
If you stream video at all, one priority has to be the ability to reach iDevices, preferably via HTTP Live Streaming, Apple’s adaptive product offering. In the past, however, this often required either signing up with a third-party service provider or buying expensive hardware encoders and server capacity. Producers who wanted to produce and manage the iDevice offering in-house had limited low-budget alternatives to choose from. Recently, an inexpensive option became available from a company that can only be described as a strange bedfellow for Apple—Microsoft.
Specifically, the new capability involves Microsoft’s new (ship date June 2010) Expression Encoder 4 and the Internet Information Services (IIS) 7 web server using the IIS Live Smooth Streaming feature. In Expression Encoder 4, you generate a Smooth Streaming MP4 bitstream and transmit that
to the IIS server. The server will then rewrap the transport stream from MP4 to the MPEG-2 transport stream used by Apple’s HTTP Live Streaming and create the required .m3u8 manifest file; this file tells the iDevices playing the stream where to find and retrieve the video chunks.
Expression Encoder 4 costs $199.95 retail, and pricing information for the required Windows Server 2008 R2 SP1 Beta is available at www.microsoft.com/windowsserver2008/ en/us/pricing.aspx. Pricing is based on the edition and number of client access licenses. John Deutscher wrote an excellent tutorial of the entire workflow, including Expression Encoder and IIS Media Services, which you can read at http://learn.iis.net/page.aspx/ 854/live-smooth-streaming-for-iis-7---apple-http-live-streaming (see Tim Siglin’s “First Look: IIS Media Services 4,” pp. 26–32).
What I’ll do in this short review is work through the Expression Encoder workflow and test the quality and performance of Expression Encoder to determine what type of computer you’ll need to make it work for a live broadcast.
Expression Encoder 4: What’s New
I reviewed Expression Encoder 3 in December 2009. In version 4, the interface and workflow have changed minimally; the major difference is the opening splash screen, which points you to three different types of projects. Transcoding projects convert files to Silverlight-compatible VC-1 or H.264, while a Silverlight project allows you to encode and create a Silverlight package. Live broadcasting projects obviously let you broadcast live. I spent most of my time in this project type.
Briefly, in addition to the HTTP Live Streaming feature, Expression Encoder 4 also features a new H.264 codec from MainConcept, with Microsoft switching over from the internally built H.264 codec featured in Expression Encoder 3. This changeover was a bit surprising because the Microsoft H.264 codec performed so well in my previous tests. When I asked a Microsoft representative why the company switched, I was told that the MainConcept codec gave Microsoft faster access to features such as High Profile support, which is in the released version, and GPU encoding acceleration, which is coming in a future service pack release.
Also new in Expression Encoder 4 is digital rights management, support for closed-caption files, and enhanced Live Smooth Streaming broadcasts. Microsoft does offer a trial version, but it doesn’t include the H.264 codecs.
HTTP Live Streaming by Numbers
Like most software-based live encoders, driving Expression Encoder 4 in a live broadcast is simple. First, choose your source, which can be a live or disk-based file. Then, choose a template. I tested two templates: one easy one for the iPhone Wi-Fi and one for the much more demanding 720p template. I’ll report the results separately later in the article. A little red rectangle shows the configuration of the five files created with this template.
Then, choose an output, which can either be the IIS server or a disk-based file. I used the latter. Next, cue the starting video and click Start, which turns to the Stop button that you see in the figure after you start the broadcast. Overall, none of the software-based live encoders are that hard to operate, and Expression Encoder 4 should be well within the capabilities of most video producers or encoding professionals.
Before you start your live event, of course, you have to create your Silverlight and/or HTML5 webpage to host the video. In the current release, you have to first create a Silverlight project to create the player; then, manually change the source of the Silverlight player to the publishing point of the live or on-demand event. You also have to create the HTML5 page by hand or in another program. In the service pack that I mentioned before, Microsoft will enable Expression Encoder to create both the Silverlight and HTML5 players in the Live Broadcasting Project interface, which is a nice convenience. Then, you have to upload the pages to the web host so they’re ready for the event.
To create an on-demand broadcast for either Silverlight or iDevices, you can archive the files created during a live event, host a simulated live event just to create the files, or create the files in another new tool from Microsoft, IIS Transform Manager, which I did not review.
Performance: SD Broadcast
I tested Expression Encoder 4 on a 3.33 GHz 12-core (24 with HTT enabled) HP Z800 running 64-bit Windows Professional with 24GB of RAM. In my initial trial, I tested the H.264 IIS Smooth Streaming iPhone Wi-Fi preset, which produced three streams, all 400x300 resolution, at 300, 400, and 800Kbps. I used an interlaced SD source from a DV camera for these trials.
As an aside, note that the definitive source for configuring streams for HTTP Live Streaming is the Apple Technical Note, which you can read here. The Microsoft encoding parameters bear little resemblance to Apple’s recommendations, and any producer planning to use Expression Encoder 4 to create streams for HTTP Live Streaming should check the Technical Note.
I used the canned presets for simplicity and ease of duplication should I need to test on different computers later.
In terms of CPU efficiency, this first test was a walk in the park for the Z800, which produced all three streams using about 6% of available CPU.
Video quality was generally very good, though there were noticeable deinterlacing artifacts in motion sequences that involved lots of sharp edges. I checked my deinterlacing options and noticed that Bob was my only option, though I could disable it. I asked the Microsoft rep about deinterlacing quality and was told about a new technique, selective blend, that will be added to the aforementioned service pack. As an editorial aside, you should use progressive source whenever possible for live events (and all streaming projects actually). But when you’re forced to use interlaced source, remember that it’s one area where hardware-based solutions are usually superior to software-based solutions.
Performance: HD Trials
Next, I tried the H.264 IIS Smooth Streaming 720p template, which produced five streams, from 720p at 2.5Mbps to 276x208 at about 260Kbps. In this trial, I used a disk-based progressive HDV file as my source.
Looking at encoder efficiency, again, the Z800 proved more than up to the task, averaging a very comfortable 40%–45% CPU utilization. Working at these high data rates, and progressive source, the quality of the encoded video stream was very good.
Overall, the attractiveness of this Microsoft solution is the inexpensive ability to adaptively distribute to Apple iDevices, which, if you already own Microsoft Server 2008, will cost $199.95, the price of Expression Encoder 4. Other than the deinterlacing issues I discussed, video quality was quite good, and Expression Encoder 4 ran very efficiently on the HP Z800.
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.
Long blog post seeks to unify the HTML5 video landscape, but ends up inflaming developers.
How do organizations like MTV, Turner, NBC, Deutsche Welle, Harvard, and Indiana University actually deploy adaptive streaming technologies? Read on for all the juicy details.
Moving beyond Windows Media—and Silverlight—to bring multi-platform, multi-device, multi-protocol goodness, the new IIS Media Services 4 is part of a suite of offerings set to vault Microsoft's media delivery offerings into the future