Announcing Expression Encoder 2

Helloooo from Mix 08.. we can finally talk about what the Expression Encoder team have been up to for the last 6 months. Let's talk (and apologies in advance for the length of this post!).

Today we are announcing Expression Encoder 2, the second version of Microsoft’s contemporary video authoring platform.


In a nutshell we have been extremely busy incorporating your feedback and balancing our small, nimble resources across a number of competing goals:

1) to satisfy video compressionist’s desire for a best of breed VC-1 encoding tool

2) to bring new tools into the hands of all comers wishing to embrace the Silverlight video tidal wave and..

3) to enable the rapid authoring of interactive media by integrating enhanced content creation tools into the encoder.

Expression Encoder 2 is now a product in its own right rather than a feature imageof Expression Media. It’s part of Expression Studio 2 and also available standalone.

Before we step through what’s new, it's also worth mentioning that there are some really exciting new features that you've asked us for that we are not ready to announce just yet.  Stay tuned for more details.

Another point to call out: Expression Encoder 2 continues to target Silverlight 1 experiences; the updated templates use loose XAML and JavaScript as before.  This is in common with the whole of Expression Studio 2.  At MIX, we are demoing an early preview of our Silverlight 2 managed Baseplayer.  This component provides all of the playback functionality inside an Expression template.  The new managed baseplayer enables the template developer to extend the base functionality (playback, chapters, captions etc) using the managed languages they know and love and add interactivity, custom behaviors etc.  We'll be talking more about that in the coming weeks.

So to the list..

Better Encoding

  • VC-1 advanced authoring SDK integration: by adopting the new VC-1 authoring SDK, Expression Encoder 2 is able to author better quality video faster.  We've exposed a set of presets for tuning the encoder as well as detailed settings with comprehensive tooltips for the advanced compressionist.image
  • New profiles, and CODECS: Encoder 2 supports a number of new modes and codecs including Quality VBR, WMA Pro (stereo), WMA Lossless, 24 bit audio and audio/video encoding stream selection.
  • Improved MPEG source support: We now include an MPEG 2 decoder in the product to give a consistent story across platforms.  The decoder we ship supports transport streams (so you are able to work with sources that originated from HDV cameras.  Seeking performance and accuracy has been greatly improved.
  • Better multi-core performance: we are not done with performance enhancements by any means but have made decent progress in Expression Encoder 2, particularly on multi-core systems.
  • Improved aspect ratio handling: by default, the new Profile Adaptive mode is selected which preserves the width specified in the profile but varies the height according to the aspect ratio of the source.  Translation: it just works.  Additionally, when Source compression is used the aspect ratio mode as well as pixel aspect settings are fixed up to ensure source compression will just work.
  • Pre-processing enhancements: the new Pre-processing palette contains a number of settings for controlling resizing (Bicubic, Lanczos, Supersampling in addition to nearest neighbor and bilinear), de-interlacing and audio options.  As well as detecting the need to de-interlace from the header of the file, the user can manually override the defaults.  In addition to the V1 capabilities, Expression Encoder 2 includes inverse telecine as well as a new pixel-adaptive de-interlacer.  On the audio side, there is a volume leveling filter as well as a volume control.

Better Silverlight Interactive experiences

The second bucket of functionality covers improvements to Silverlight output.

  • New templates:  We've revisited both the functionality and the design of our core Silverlight Templates.  As before these support core functionality such as Chapter points and close captioning and are user extensible.
  • Template Parameters:  We have had a lot of requests for more and easier control of how templates behave.  Examples include not automatically playing (or buffering) the video, being able to control the background color of the HTML and more.  In Expression Encoder 2 we've added parameters to templates.  The parameter system is extensible enabling developers to easily expose custom things e.g. skin primary color etc.
  • Gallery Templates: Often you want to publish multiple videos into a single experience.  We now have a number of such templates in the product including one made by Quiksilver for the Pro France surfing competition!
  • Template preview: as you pick templates from the list, you will see a real-time preview rendered in Silverlight in the Output palette.
  • Edit in Expression Blend: This is one of our favorite features!  There are many times when it is desirable to be able to take a default Silverlight template and modify the look (or even completely replace the look).  It is now quick and easy to copy one of the defaults and edit in Expression Blend adding or changing individual XAML elements or completely replacing everything.  Since elements are hooked up to behaviors declaratively using well known names, zero knowledge of JavaScript or code is required.  Once Expression Blend has been launched, saving any of the files you are working on will immediately reload the template into Expression Encoder in the background ready to try.
  • Partial rebuild:  Hand in hand with Edit in Expression Blend is another feature that makes iterative changes incredibly quick and easy.  Each time you click encode, instead of recreating everything every time, the minimal amount of work is done.  If you change encoding settings, the file will have to be re-encoded but if you are just moving markers or script commands, changing the poster frame or modifying the template the previously encoded results are used.  This works nicely for tasks such as template customization, adding/moving caption markers or adding a new source to a multi-clip gallery. Oh and if you encode a job, save the job, and re-launch the partial rebuild state is maintained. Yippee!
  • ASP.NET Development Server: we now use the same design-time web server component as Expression Blend and Visual Studio enabling template content to include server side code, web services and other dynamic goodness.
  • Hooks for Silverlight 2 templates: Whilst we are not shipping any in the box, the hooks are in place to enable easy integration of Silverlight 2 output in the future.

Enhanced Content Creation tools

  • Brand new imaging pipeline: We've made some good investments in our core imaging pipeline that enable new functionality in Expression Encoder 2 and beyond.  Some of the benefits are listed below.
  • Burn-in of moving overlays:  be it video, alpha video or crisp vector-based motion graphics in the form of XAML, overlays are no longer static!  Control over opacity, placement and looping are all provided including real-time preview at design time.
    XAML can also be used for leaders and trailers and will similarly get rendered into the output video. 
  • Cuts editing: in recognition of the fact that it is often necessary to trim not just the start and end of clips but also pieces from the middle, we made sure that the upgraded pipeline supported simple editing.  The core scenario for this feature is taking a long piece of content and re-purposing it as a short-form version.  Note that in Encoder 2 we do not support the editing together of arbitrary clips into a sequence.
  • Smart re-compression.  One of the disadvantages of using a full-blown editor for the above task is that it will take more time to import, edit and export.  With smart re-compression, our pipeline copies as much of the original compressed streams as possible.  Only at the joins where the cadence changes is it necessary to re-encode.  The advantages here are: one less tool in the change, quality preservation and speed.  Stream copying is way faster than re-encoding.
  • New Timeline UI:  hand in hand with the above improvements in the compression engine goes our new timeline UI.  This provides simple cutting and splicing and trimming controls.  It is also zoomable enabling more accuracy with edits and marker/script placement.  Once you have removed sections, it is possible to toggle a display that shows the sections that you removed in case you want to change your mind.  Script commands are intelligently grouped according to type making it easier to work with different interactivity types on on the same clip.  The timeline UI allows graphic placement of the overlay.

Object model

We heard loud and clear that developers wanted to be able to programmatically use our encoding engine.

  • API assemblies available from the GAC
  • Code in any Managed language (including managed C++)
  • Access to complete batch encoding capabilities including overlays, cuts etc.

Other Stuff

There are a ton of other improvements that are too many to list in full.  Among these are:

  • Enhancements to Live Encoding mode: · Encoding improvements (including dynamic complexity) via the VC-1 SDK, Encoding Profile editing , Silverlight live preview template
  • file extension for jobs: open jobs by double clicking on them.  Yea.
  • Most Recently Used menu: for re-opening recent jobs
  • Persistence of UI settings in job e.g. preview in browser
  • More robust job and preset loading when dependent files are missing
  • Enhancements to marker handing allowing a preset to merge or replace markers and script commands
  • Interlaced / Progressive indicator in media list

So there is the list for now.  You can get our beta bits as part of the Expression Studio 2 beta package from here.

Please continue to give us great feedback and stay tuned for our MIX video podcasts where we'll be recording some demos and other goodness over the next few days.


The Expression Encoder Team