Review: Microsoft Expression Encoder 3

Expression Encoder 3 is the encoding component of Microsoft’s Expression Studio, a five-product suite ($599 retail/$399 upgrade), and of Expression Web, a three-product suite that also contains Expression Web and Expression Design ($149/$79). Microsoft is also selling Expression Encoder 3 as a stand-alone product with a list price of $49. Seems like a good decision, because although there were some rough edges, Expression Encoder 3 proved very capable and functional in my tests.

Expression Encoder started as a limited-function encoder that output solely VC-1 files, primarily for publishing for Silverlight format. Expression Encoder 2 delivered the ability to tweak advanced VC-1 encoding parameters, and in Service Pack 1, H.264 fixed templates for devices. In Expression Encoder 3, Microsoft added more H.264 templates and made them fully editable, added templates that produce files for Smooth Streaming, Microsoft’s adaptive streaming technology, included a screen capture applet and enhanced editing features in the Encoder itself.

Figure 1
Figure 1. The main interface of Expression Encoder 3

Note that the free trial version of the Encoder no longer expires, but it doesn’t produce H.264 or Smooth Streaming output or capture screencams longer than 10 minutes. All retail versions will be officially titled Microsoft Expression Encoder 3 with IIS Smooth Streaming, so if you’re following along in your version of Expression Encoder 3 and don’t see a feature that I discuss, you probably have the trial version.

To keep this review short and sweet, I’ll just touch on the product’s workflow here and refer you to a more detailed description of Expression Encoder 1 that I wrote back in December 2007 (www.streamingmedia.com/article.asp?id=9888). At a high level, very little has changed since that review, and it’s a great primer on program operation.

Then I’ll detail the encoding quality and performance for both VC-1 and H.264, take a quick look at the Smooth Streaming templates, and review Expression Encoder’s new screencam and editing capabilities.

Overview

Figure 1 shows Expression Encoder 3, which has an attractive, flexible interface with three basic components. On top is the Viewer pane, where you can view your media and preview compression. Below that is the Media Content panel, which lists all imported videos and their current compressed status. Note that you can load multiple files into the Media Content panel to create a batch-encoding run and save the batch as a “job” that you can recall and run again. On the top right is the Presets panel; beneath that are multiple other panels where you’ll customize encoding and preprocessing parameters, add metadata, and choose output options such as a Silverlight template.

The basic workflow is to import videos in the Media Content panel, trim if necessary in the View panel, choose a preset on the upper right, customize it on the lower right, and then click the Encode button to produce your files. I should note that Expression Encoder can produce live events but that I did not test those features or that workflow.

With this as background, let’s jump into codec performance.

Figure 2
Figure 2. Expression Encoder 3’s VC-1 related tweaks

VC-1 Encoding

When producing VC-1 files, Expression Encoder enables normal options such as Main or Advanced codec, bitrate options such as constant and variable bitrate encoding and output controls for resolution, data rate, and the like (Figure 2). Unlike any other tool in its price range, Microsoft also does a nice job exposing the SDK 11 encoding tweaks, which give compressionists the ability to customize encoding based upon certain characteristics of their source footage. The manual does a nice job explaining when and how to use many of these parameters, which is also helpful.

In my quality tests, I set Video Complexity to Best, changed the default one-pass CBR to two-pass VBR, and generally left all other settings at their defaults, lest the testing hours expand to testing days or testing weeks. I compared the files produced by Expression Encoder 3 with Sorenson Squeeze (5.1), Rhozet Carbon Coder (3.13) and Telestream Episode Pro (5.2) in both SD (640×480 at 30 fps, 500Kbps total data rate) and HD (720p at 30 fps, 800Kbps total data rate). Overall, Expression Encoder ranked at the top of the class, though the difference with Squeeze and Carbon Coder was so small as to be commercially irrelevant. As with tests I’ve performed in the past, Episode Pro produced lower quality WMV files with significant dropped frames and took significantly longer to do so, making it less than ideal for Windows Media production. I understand that Telestream plans to revamp the WMV encoding engine in a near-term release, which will be very welcome.

All that said, the longer I work with VC-1 encoded files, the more I like H.264. Figure 3 shows you why. On the left is a VC-1 file produced by Expression Encoder 3, on the right is an H.264 file produced by the same program to the same basic encoding parameters. I can see using Silverlight for existing content of VC-1 encoded content, but going forward, H.264 should clearly be the codec of choice.

Figure 3
Figure 3. Windows Media on the left, H.264 on the right,both produced by Expression Encoder 3

As it turns out, if you do produce H.264 video, Expression Encoder 3 is a very good encoder of choice, which was the biggest surprise of the review. The codec was developed internally by Microsoft and only supports up to the Main Profile, not the Advanced Profile as supported by all other tested encoding tools. Despite being nearly brand-new, the quality of the preserved detail was very similar to the best that MainConcept and Dicas could offer, with just a hint more noise on flat backgrounds. You can see this in my editor’s favorite screen shot, the Taimo clip, in Figure 4, which I’ve modified in an image editor to highlight irregularities in the background.

I don’t mean to overstate this deficit; it’s clearly below the threshold of commercially irrelevant, and for Microsoft to come out of the gate with such a strong H.264 codec bodes well for future releases. In the meantime, you can produce H.264 files with Expression Encoder 3 and know that your quality compares very well with the best encoding tools on the market.

One irritation is that the lowest audio bitrate available is 96Kbps, even for mono audio. I asked Microsoft about this, and I got the standard answer: “Based on user feedback, there was no demand for anything lower.” I’m guessing that Microsoft asked the same users who told them that they didn’t care that Microsoft didn’t offer its own Macintosh Windows Media Player, and we know how that turned out.

More to the point, when I checked the audio data rate for the Windows Media Audio codec used by many Windows Media sites before they switched to Flash (and the inefficient MP3 codec), many were well below 96 kbps, including CBS (48Kbps); CNN, Sports Illustrated, and TODAY (32Kbps); and the Weather Channel (48Kbps). Why? Because 32Kbps–48Kbps is fine for mono WMA and is equally fine for AAC, unless you like overpaying for bandwidth. I’ve been testing H.264 encoders since they appeared, and to the best of my recollection, none prevented me from producing at my 32 kbps target for my SD test file. I suggest (if you couldn’t tell) that Microsoft should either ask a different set of users or rethink this decision internally.

OK, rant over (for some reason, inefficient audio-related controls really make my blood boil). To use Expression Encoder 3, you’ll have to navigate through the encoding options presented in Figure 5, which are pretty typical for most H.264 encoders. Again, in all cases, I would default to the Best setting for Complexity, which produced noticeably better quality than the Normal (3) default in my tests, and then adjust the other parameters as normal. Again, most presets use one-pass CBR, so change this to two-pass VBR for nonstreaming applications for optimal quality.

Figure 4
Figure 4. Blocks in the background are slightly more visible in the Expression Encoder clip, but only slightly.

So basically, Expression Encoder was best in class for VC-1 and virtually indistinguishable from the best in H.264. What about other new features?

Figure 5
Figure 5. Expression Encoder 3’s H.264 settings are fairly standard.

Smooth Streaming Templates

Relatively few users will ever use Expression Encoder 3’s Smooth Streaming templates, but they do provide a nice inner look at how Smooth Streaming works. You apply the template like any other, but rather than creating one set of parameters, the template creates multiple outputs, such as those shown in Figure 6.

You can modify any of the templates or click the plus sign to create another output file. With the Create Separate File Per Stream option selected, which is the default for all of the Smooth Streaming templates, Expression Encoder will create a separate file for each template. Load them onto the Internet Information Server 7.0 platform, and it takes it from there.

Screen Capture and Editing

The final features that I’ll discuss are screen capture and enhanced editing features. As with most screen capture functions, you start by selecting an application or screen area to capture; specify whether you want to capture audio, webcam input, or both; and start capturing away. When you’re finished, you click the stop button and Expression Encoder saves the file in an XESC format that only Expression Encoder can recognize, a major bummer.

Figure 6
Figure 6. The Smooth Streaming 720p template creates eight separate files that can be dynamically switched during playback.

A better choice would have been an industry-standard AVI file that producers could load into a regular video editor for video and particularly audio editing. I asked Microsoft about this, and a representative responded, “The screen capture codec is brand new and was developed with Microsoft Research. In scope of the current release, we decided to focus our attentions on the codec performance rather than on making the codec itself accessible outside Expression Encoder.”

Again, I disagree with optimizing performance over usability. Though Microsoft did enhance Expression Encoder’s editing functionality by allowing you to combine multiple source files into a single encoded file, it still lacks basics such as titling or even fading from or to black. Most screencam producers also tweak the audio component, removing pops and clicks and normalizing or compressing the signal for better clarity. Basically, unless you’re producing the most basic of screencams or can narrate perfectly and have a perfect recording environment, you’re going to need more editing capabilities than Expression Encoder provides.

Figure 7
Figure 7. The Expression Encoder 3 capture applet. The top toolbar controls capture, while the settings appear when you click the second icon from the right.

To edit further, you’d have to input the captured file into Expression Encoder and output an intermediate file in VC-1 or H.264 format, which takes time and can degrade quality, and then input that file into a normal editor to start working. Interestingly, even Camtasia, the current market leader in the space, lets you output your captured files into either their own proprietary CAMREC format, or an AVI file. Microsoft should consider doing the same. Otherwise, the screencam implementation is certainly usable for a version 1.0 implementation, though it is nothing that will convince Camtasia owners to uninstall. During my testing, I captured and produced a short screencam “first look” of Expression Encoder, which you can view at www.doceo.com/ee3.mp4. For all my whining, the quality was quite good, though I recommend outputting in very high quality H.264 format from Expression Encoder 3 if you’re going to edit further.

Beyond AVI output, features that I would prioritize for the next release include remembering the last captured area rather than setting it fresh each capture; an audio-tuning wizard; and an audio volume meter during capture. I like the pause and resume hot keys, but when you click resume, the utility should reposition the cursor to where it was when you paused; otherwise you get a cursor jump, pretty much ring around the collar for us screencam jockeys. What’s the final verdict? As a homegrown tool, I expected Expression Encoder 3 to produce top VC-1 quality (such as it is), and it did. I was surprised by the quality of the H.264 codec—unless you’re producing audio at lower than 96 kbps, it’s a very solid choice for H.264 as well. Expression Encoder 3 is one of the few software-only tools that can prep files for on-demand Smooth Streaming, making it a natural for that application, and it has the widest variety of Silverlight templates. While I wouldn’t buy Expression Encoder 3 for its screencam capability, as a free add-in, it’s tough to complain. Overall, it’s an impressive release.

About Jan Ozer

Avatar photo
I help companies train new technical hires in streaming media-related positions; I also help companies optimize their codec selections and encoding stacks and evaluate new encoders and codecs. I am a contributing editor to Streaming Media Magazine, writing about codecs and encoding tools. I have written multiple authoritative books on video encoding, including Video Encoding by the Numbers: Eliminate the Guesswork from your Streaming Video (https://amzn.to/3kV6R1j) and Learn to Produce Video with FFmpeg: In Thirty Minutes or Less (https://amzn.to/3ZJih7e). I have multiple courses relating to streaming media production, all available at https://bit.ly/slc_courses. I currently work as www.netint.com as a Senior Director in Marketing.

Check Also

Mac Video Apps for Streaming Professionals

Though I work primarily on Windows computers, I also have several Macs. Here are the …

Choosing the Best Preset for Live Transcoding

When choosing a preset for VOD transcoding, it almost always makes sense to use the …

There are no codec comparisons. There are only codec implementation comparisons.

I was reminded of this recently as I prepared for a talk on AV1 readiness …

Leave a Reply

Your email address will not be published. Required fields are marked *