<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alex Zambelli&#039;s Microsoft Media Blog &#187; H.264</title>
	<atom:link href="http://alexzambelli.com/blog/category/h264/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexzambelli.com/blog</link>
	<description>Microsoft Media Platform, streaming video, Silverlight, VC-1, H.264, Smooth Streaming, Windows Media</description>
	<lastBuildDate>Tue, 06 Dec 2011 01:41:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Announcing Expression Encoder 4 SP1</title>
		<link>http://alexzambelli.com/blog/2011/01/26/announcing-expression-encoder-4-sp1/</link>
		<comments>http://alexzambelli.com/blog/2011/01/26/announcing-expression-encoder-4-sp1/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 08:23:32 +0000</pubDate>
		<dc:creator>Alex Zambelli</dc:creator>
				<category><![CDATA[Expression Encoder]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[media]]></category>

		<guid isPermaLink="false">http://alexzambelli.com/blog/?p=177</guid>
		<description><![CDATA[Just received this news&#8230; Service Pack 1 for Expression Encoder 4 will be released on January 31, 2011. The encoder update will be available for download at: http://www.microsoft.com/Expression/service-packs/Encoder.aspx This is a significant update to EE4, boasting an impressive list of &#8230; <a class="more-link" href="http://alexzambelli.com/blog/2011/01/26/announcing-expression-encoder-4-sp1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Just received this news&#8230;</p>
<p>Service Pack 1 for Expression Encoder 4 will be released on <strong>January 31, 2011</strong>. The encoder update will be available for download at:</p>
<p><a href="http://www.microsoft.com/Expression/service-packs/Encoder.aspx">http://www.microsoft.com/Expression/service-packs/Encoder.aspx</a></p>
<p>This is a significant update to EE4, boasting an impressive list of new features:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="213" valign="middle"><strong>Feature</strong></td>
<td width="213" valign="middle"><strong>Expression Encoder 4</strong></td>
<td width="213" valign="middle"><strong>Expression Encoder 4 Pro</strong></td>
</tr>
<tr>
<td width="213" valign="middle">GPU acceleration</td>
<td width="213" valign="middle"> </td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">Live template support</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong><br />
(no Live Smooth Streaming)</p>
</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">Live screen capture</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong><br />
(10 minute segments only)</p>
</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">Caption updates</td>
<td width="213" valign="middle"> </td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">Improved deinterlacing options</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">DRM content key</td>
<td width="213" valign="middle"> </td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">HE-AAC codec</td>
<td width="213" valign="middle"> </td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">Live push/pull</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
<tr>
<td width="213" valign="middle">Windows Phone 7 presets</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
<td width="213" valign="middle">
<p style="text-align: center;"><strong>x</strong></p>
</td>
</tr>
</tbody>
</table>
<p>The most significant one, as I mentioned in my previous post, is GPU-accelerated H.264 encoding. It is powered by NVIDIA CUDA technology via the MainConcept H.264 CUDA SDK. The Expression Encoder team has put together an excellent <a href="http://expression.microsoft.com/en-us/gg578615.aspx">white paper</a> describing the new feature and best practices. A separate <a href="http://www.microsoft.com/expression/GPUencoding">report</a> will be published later this week with performance data and comparisons of recommended PC configurations.</p>
<p><strong><span style="text-decoration: underline;">Update (1/27/2011)</span></strong>: An interesting note about the H.264 GPU acceleration feature:  When using the EE4 GUI application, GPU-accelerated H.264 encoding will be enabled by default (assuming your hardware is CUDA 1.1 compatible) unless you decide to disable it via the Tools|Options configuration dialog. However, when using the EE4 SDK, GPU acceleration will be <strong>disabled</strong> by default, meaning that any apps that you built on the EE4 SDK will need to be recompiled with the GPU acceleration option explicitly enabled if you want to take advantage of the new feature. Otherwise they will just default to the old CPU-based H.264 encoding method.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexzambelli.com/blog/2011/01/26/announcing-expression-encoder-4-sp1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IIS Media 4.0, SMF 2.3, RCE 1.0 SP1 and More</title>
		<link>http://alexzambelli.com/blog/2011/01/22/iis-media-4-0-smf-2-3-rce-1-0-sp1-and-more/</link>
		<comments>http://alexzambelli.com/blog/2011/01/22/iis-media-4-0-smf-2-3-rce-1-0-sp1-and-more/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 23:52:44 +0000</pubDate>
		<dc:creator>Alex Zambelli</dc:creator>
				<category><![CDATA[Expression Encoder]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[IIS Media Services]]></category>
		<category><![CDATA[media]]></category>

		<guid isPermaLink="false">http://alexzambelli.com/blog/?p=175</guid>
		<description><![CDATA[It&#8217;s been too long since my last post, so I thought I&#8217;d get warmed up and back into blogging form by posting something about recent releases on the Microsoft media platform. After PDC 2010 in November which focused on new &#8230; <a class="more-link" href="http://alexzambelli.com/blog/2011/01/22/iis-media-4-0-smf-2-3-rce-1-0-sp1-and-more/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been too long since my last post, so I thought I&#8217;d get warmed up and back into blogging form by posting something about recent releases on the Microsoft media platform.</p>
<p>After <a href="http://player.microsoftpdc.com/schedule/sessions">PDC 2010</a> in November which focused on new web technologies (e.g. IE9, HTML5, WP7), we hosted a special event in December called <a href="http://channel9.msdn.com/Series/Silverlight-Firestarter/Silverlight-Firestarter-2010-Keynote-with-Scott-Guthrie">Silverlight Firestarter</a> which focused exclusively on Silverlight. Scott Guthrie announced some of the new features going into Silverlight 5. Among the <a href="http://johnpapa.net/silverlight/silverlight5features/">many features</a>, the ones most interesting to media developers were:</p>
<ul>
<li>Support for GPU-accelerated H.264 decoding, intended to make H.264 video perform better on low powered computers and increase battery life on laptops and netbooks.</li>
<li>Variable speed playback, also known as &#8220;trick play&#8221;, which will allow you to fast forward and rewind videos as well as play them back at up to 2x speed while maintaining the audio pitch. This is a feature particularly useful for <a href="http://en.wikipedia.org/wiki/E-learning">e-learning</a>, as well as suffering through boring corporate training videos. :) Note that some aspects of trick play, such as rew/ffwd, have already been implemented in the <a href="http://smf.codeplex.com">Silverlight Media Framework</a> for Smooth Streaming videos.</li>
<li>OS power scheme awareness. This will allow you to watch long videos in Silverlight without worrying about your computer going to sleep during the season finale of &#8220;Dexter&#8221;.</li>
<li>Remote control support for media scenarios. I presume this will include support for Media Center remote controls.</li>
<li>Advanced DRM management. I don&#8217;t know much about this, but I&#8217;m guessing it has to do with supporting seamless key rotations.</li>
</ul>
<p>Other noteworthy SL5 features include 64-bit support and improved GPU-accelerated graphics APIs.</p>
<p>Around the same time we shipped Windows Phone 7 which uses Silverlight as one of its two app development platforms (the other one being <a href="http://en.wikipedia.org/wiki/Microsoft_XNA">XNA</a>). WP7 support ended up being one of the main features of the <a href="http://www.iis.net/download/SmoothClient">Smooth Streaming Client 1.5</a> (aka SSME) too. Vishal Sood wrote a great post about <a href="http://blogs.iis.net/vsood/archive/2010/12/04/iis-smooth-streaming-encoding-for-windows-phone-7.aspx">encoding video for Windows Phone 7</a>. The biggest difference between encoding for WP7 versus the desktop is WP7 video driver&#8217;s current lack of support for mid-stream resolution changes. What this effectively means is that all streams in a Smooth Streaming asset delivered to WP7 must be encoded at the same resolution. We hope to fix this in future WP7 updates, but for now we have to live with it.</p>
<p>2010 also saw the release of <a href="http://blogs.iis.net/chriskno/archive/2010/11/01/iis-media-services-4-0-released.aspx">IIS Media Services 4.0</a>. The most exciting new feature of this release is support for dynamic repackaging and delivery of Smooth Streaming assets (VOD and live) to Apple iOS devices such as the iPhone and iPad. Apple iOS devices support <a href="http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/Introduction/Introduction.html">HTTP Live Streaming</a>, an HTTP adaptive streaming technology developed by Apple and based on the <a href="http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/HTTPLiveStreaming/index.html">MPEG-2 Transport Stream file format</a>. Because both Microsoft and Apple support H.264/AAC codecs, it is possible to repackage (remux) Smooth Streaming H.264/AAC assets into Apple HTTP Live assets by simply changing the container formats, without a need for re-encoding the video and audio streams. The IIS Media Services 4.0 release also supports live DVR features, AES encryption, archiving and B-frame encoding (H.264 Main/High Profile) for iPhone4 and iPad.</p>
<p>Apple has documented some of their own <a href="http://developer.apple.com/library/ios/#technotes/tn2010/tn2224.html">encoding best practices</a> for iOS devices, though frankly, they seem a little on the conservative side. I&#8217;ve seen many online reports of iPhone4/iPad being able to handle H.264 <strong>High</strong> Profile at 1280&#215;720, so it seems strange that Apple would limit their recommendations to just Main Profile at 640&#215;360 (especially considering iPad&#8217;s display resolution is 1024&#215;768). If you have experience with streaming to iOS devices and would like to share your encoding settings and feedback, please leave a comment. <strong>Even better &#8211; if you work for Apple and your focus is HTTP Live Streaming, send me an </strong><a href="http://alexzambelli.com/blog/about/"><strong>e-mail</strong></a><strong>.</strong></p>
<p>IIS Media Services 4.0 also includes support for low-latency streaming which can bring down the typical Live Smooth Streaming end-to-end latency to under 2 seconds. This requires the latest Smooth Streaming Client version and a low-latency compatible realtime video encoder, such as the ones made by <a href="http://www.allegrodvt.com/">Allegro DVT</a>, <a href="http://www.digital-rapids.com/">Digital Rapids</a>, <a href="http://www.elementaltechnologies.com/">Elemental</a>, <a href="http://www.envivio.com/">Envivio</a> and <a href="http://www.inlethd.com">Inlet</a>. (Did I forget your company? Let me know.)</p>
<p>Though not officially a part of the IIS Media Services package, the IIS Media team also recently released <a href="http://www.iis.net/download/TransformManager">IIS Transform Manager</a> 1.0 alpha, another IIS extension which allows you to automate your transcoding/transmuxing workflow. The most recent public release is just an alpha, but shows a lot of promise. It features integration with Microsoft Expression Encoder (for transcoding to WMV, MP4 and Smooth) and offline transmuxing (repackaging) of Smooth VOD assets into Apple HTTP adaptive assets. The final release, coming soon, will also feature support for distributed transcoding, DRM packaging tasks and &#8211; my favorite &#8211; MP4-to-Smooth tasks. The last one is particularly exciting because it will allow you to encode to Smooth Streaming using any H.264 encoder regardless of its lack of Smooth Streaming file support. For example, you&#8217;ll be able to encode videos with the awesome open-source <a href="http://x264.nl/">x264</a> encoder and automatically convert its MP4 output files into Smooth Streaming assets as a background task.</p>
<p>Completing the slew of recent media releases are:</p>
<ul>
<li><a href="http://smf.codeplex.com/">Silverlight Media Framework 2.3</a>
<ul>
<li>New SMF features include support for WP7 and SSME 1.5.</li>
</ul>
</li>
<li><a href="http://blogs.southworks.net/ejadib/2011/01/14/silverlight-rough-cut-editor-sp1-released/">Silverlight Rough Cut Editor 1.0 SP1</a>
<ul>
<li>If you have never seen <a href="http://code.msdn.microsoft.com/RCE">RCE</a> in action, do yourself a favor and check out my colleague <a href="http://live.visitmix.com/MIX10/Sessions/CL26">Jason Suess&#8217; excellent session</a> from last year&#8217;s MIX. It&#8217;s an incredible tool which any broadcaster or content publisher can benefit from.</li>
</ul>
</li>
<li><a href="http://team.silverlight.net/announcement/announcing-native-extensions-for-microsoft-silverlight-version-1-0/">Native Extensions 1.0 for Microsoft Silverlight</a>
<ul>
<li>While not necessarily directly related to media, NESL provides features in out-of-browser Silverlight apps that aren&#8217;t available in the browser, such as integration with Windows sensors, access to portable devices, webcam capture/encoding/archiving, speech recognition and Windows 7 taskbar integration.</li>
</ul>
</li>
</ul>
<p>Last, but certainly not the least, stay tuned for the upcoming <a href="http://www.microsoft.com/expression/products/EncoderPro_Overview.aspx">Microsoft Expression Encoder</a> 4 service pack which will enable GPU-accelerated H.264 encoding using <a href="http://www.nvidia.com/object/cuda_gpus.html">NVIDIA CUDA</a> technology. Expression Encoder Pro&#8217;s H.264 compression engine is powered by <a href="http://www.mainconcept.com">MainConcept</a>, and the new acceleration feature will be powered by MainConcept&#8217;s <a href="http://www.mainconcept.com/products/sdks/gpu-acceleration/cuda-h264avc.html">CUDA H.264 Encoder SDK</a>. SP1 is scheduled for release in Q1 2011.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexzambelli.com/blog/2011/01/22/iis-media-4-0-smf-2-3-rce-1-0-sp1-and-more/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Silverlight 3, IIS Media Services 3.0, Olympics 2010 &#8211; Wow, It Truly Is March Madness!</title>
		<link>http://alexzambelli.com/blog/2009/03/19/silverlight-3-iis-media-services-30-olympics-2010-wow-it-truly-is-march-madness/</link>
		<comments>http://alexzambelli.com/blog/2009/03/19/silverlight-3-iis-media-services-30-olympics-2010-wow-it-truly-is-march-madness/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 00:40:26 +0000</pubDate>
		<dc:creator>Alex Zambelli</dc:creator>
				<category><![CDATA[H.264]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[Olympics]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[Media Services]]></category>
		<category><![CDATA[MIX09]]></category>
		<category><![CDATA[SL3]]></category>

		<guid isPermaLink="false">http://alexzambelli.com/blog/?p=81</guid>
		<description><![CDATA[Though blogging in Las Vegas might sound like a party foul, this has been an amazing week for Silverlight media &#8211; so much that I feel a sudden urge to report on it right now, right here. Silverlight 3 Beta &#8230; <a class="more-link" href="http://alexzambelli.com/blog/2009/03/19/silverlight-3-iis-media-services-30-olympics-2010-wow-it-truly-is-march-madness/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Though blogging in Las Vegas might sound like a party foul, this has been an amazing week for Silverlight media &#8211; so much that I feel a sudden urge to report on it right now, right here.</p>
<h4><span style="text-decoration: underline;">Silverlight 3 Beta</span></h4>
<p>A mere 5 months after releasing Silverlight 2 RTW, we have now made <a href="http://silverlight.net/getstarted/silverlight3/default.aspx">Silverlight 3 Beta</a> available to the public. Check out <a href="http://silverlight.net/getstarted/silverlight3/default.aspx">http://silverlight.net/getstarted/silverlight3/default.aspx</a> for the full list of new features and download links. As usual, Scott Guthrie offers some great insight on Silverlight 3 in his <a href="http://live.visitmix.com/">MIX Keynote</a> and <a href="http://channel9.msdn.com/posts/Charles/Scott-Guthrie-Inside-Silverlight-3/">Channel 9 video</a>.</p>
<p>The most interesting new media features in Silverlight 3 are:</p>
<ul>
<li>Native H.264 video, AAC audio, and MP4 file playback support
<ul>
<li>Take your MP4-contained H.264/AAC encoded files, put them on a Web server and play them directly in Siverlight using progressive download!</li>
</ul>
</li>
<li>Extensible media format support
<ul>
<li>Support for raw A/V bitstream playback allows codec and media developers to write custom decoders and format parsers using C#, VB or any other .NET language. Will you be the first to write an Ogg Vorbis or FLAC decoder for Silverlight?</li>
</ul>
</li>
<li>GPU accelerated video scaling
<ul>
<li>Stretching the video to full screen can now be offloaded entirely to the video card, freeing up the CPU and enabling smooth video playback.</li>
</ul>
</li>
<li>Advanced media logging
<ul>
<li>Log playback usage to Windows Media Services and IIS7 Media Services, like with the good old Windows Media Player.</li>
</ul>
</li>
<li>Custom effects / Pixel shaders
<ul>
<li>Apply post-processing effects to your video by writing custom effects using the same HLSL pixel shader code that works in Direct3D and WPF today.</li>
</ul>
</li>
<li>Perspective 3D transforms
<ul>
<li>Spin and rotate your video around all 3 axis &#8211; X, Y and Z. Video collage? How about a video cube?</li>
</ul>
</li>
</ul>
<p>I&#8217;ll be blogging in the near future in more depth about the details of our H.264/AAC/MP4 support in particular.</p>
<p> </p>
<h4><span style="text-decoration: underline;">IIS Media Services 3.0 / Live Smooth Streaming</span></h4>
<p>Just a short month after announcing the availability of Smooth Streaming for On-Demand Video beta, the IIS Media team announced the availability of <a href="http://www.iis.net/media">IIS Media Services 3.0 beta</a> &#8211; featuring Live Smooth Streaming. That&#8217;s right, with IIS7 you will soon be able to deliver Smooth Streaming video for both on-demand and live! <a href="http://inlethd.com"></a></p>
<p><a href="http://inlethd.com">Inlet Technologies</a> has simultaneously <a href="http://www.inlethd.com/download.php?mode=getFile&amp;type=99&amp;fileID=525">announced</a> they will be the first to add Smooth Streaming support to their line of live and VoD encoding products. Besides Inlet, we are currently working with a number of encoding ISVs on enabling them to add Smooth Streaming support to their products.</p>
<p><a href="http://www.akamai.com/html/about/press/releases/2009/press_031709.html">Akamai Technologies announced</a> the wide commercial availability of their <a href="http://www.akamai.com/smoothhd">AdaptiveEdge Streaming</a> service based on IIS Smooth Streaming. Besides Akamai, we are currently working with all the major CDNs on enabling Smooth Streaming support in their networks. As with the encoding ISVs, our goal is to build a rich Smooth Streaming ecosystem to be available to customers by the time Silverlight 3 ships.</p>
<p>Besides the newly redesigned home page, the IIS Media team has also put up a great <a href="http://www.iis.net/media/experiencesmoothstreaming">working example</a> of how Smooth Streaming works.</p>
<p> </p>
<h4><span style="text-decoration: underline;">NBC Winter Olympics 2010 &#8211; Vancouver</span></h4>
<p>During the MIX 2009 Keynote, Perkins Miller, Senior VP of Digital Media for NBC Universal, <a href="http://www.reuters.com/article/televisionNews/idUSTRE52I80A20090319">announced </a>that NBC Universal has chosen to deliver the NBC Winter Olympics 2010 using Microsoft Silverlight. <a href="http://live.visitmix.com/">Watch</a> the MIX Keynote to see his announcement.</p>
<p>Here are the details I can share at this point:</p>
<ul>
<li>All video content, both live and on-demand, will be delivered using Smooth Streaming</li>
<li>The live video player will feature DVR-like capabilities (pause, rewind, seek and slo-mo of live video)</li>
<li>Video quality will go up to true 720p HD</li>
</ul>
<h3></h3>
<h4><span style="text-decoration: underline;">March Madness</span></h4>
<p>CBS Sports has launched a Silverlight-based March Madness video player that lets you watch all NCAA Basketball Tournament games live. Visit <a href="http://mmod.ncaa.com/video/?player=hq">http://mmod.ncaa.com/video</a> to launch the March Madness video player. If you are using Internet Explorer on Windows, the default player will actually be an old-school WMP player, so you&#8217;ll need to click on the <strong>HQ Player </strong>button to launch the new Silverlight player.</p>
<p>The live video for the tournament is being streamed using Windows Media Services. Obviously, we couldn&#8217;t use Smooth Streaming because the server technology is still in beta and the encoders aren&#8217;t yet commercially available. But CBS did the next best thing! All live streams are available in 4 video quality levels:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="128" valign="top">
<p align="center"><strong>Total Bitrate</strong><br />
(kbps)</td>
<td width="128" valign="top">
<p align="center"><strong>Video Bitrate</strong><br />
(kbps)</td>
<td width="128" valign="top">
<p align="center"><strong>Audio Bitrate</strong><br />
(kbps)</td>
<td width="128" valign="top">
<p align="center"><strong>Video Width</strong></p>
</td>
<td width="128" valign="top">
<p align="center"><strong>Video Height</strong></p>
</td>
<td width="128" valign="top">
<p align="center"><strong>Pixel Aspect Ratio</strong></p>
</td>
</tr>
<tr>
<td width="128" valign="top">
<p align="center"><strong>1500</strong></p>
</td>
<td width="128" valign="top">
<p align="center">1450</p>
</td>
<td width="128" valign="top">
<p align="center">48</p>
</td>
<td width="128" valign="top">
<p align="center">784</p>
</td>
<td width="128" valign="top">
<p align="center">432</p>
</td>
<td width="128" valign="top">
<p align="center">1:1</p>
</td>
</tr>
<tr>
<td width="128" valign="top">
<p align="center"><strong>1000</strong></p>
</td>
<td width="128" valign="top">
<p align="center">950</p>
</td>
<td width="128" valign="top">
<p align="center">48</p>
</td>
<td width="128" valign="top">
<p align="center">512</p>
</td>
<td width="128" valign="top">
<p align="center">384</p>
</td>
<td width="128" valign="top">
<p align="center">4:3</p>
</td>
</tr>
<tr>
<td width="128" valign="top">
<p align="center"><strong>650</strong></p>
</td>
<td width="128" valign="top">
<p align="center">615</p>
</td>
<td width="128" valign="top">
<p align="center">32</p>
</td>
<td width="128" valign="top">
<p align="center">368</p>
</td>
<td width="128" valign="top">
<p align="center">272</p>
</td>
<td width="128" valign="top">
<p align="center">4:3</p>
</td>
</tr>
<tr>
<td width="128" valign="top">
<p align="center"><strong>350</strong></p>
</td>
<td width="128" valign="top">
<p align="center">315</p>
</td>
<td width="128" valign="top">
<p align="center">32</p>
</td>
<td width="128" valign="top">
<p align="center">240</p>
</td>
<td width="128" valign="top">
<p align="center">176</p>
</td>
<td width="128" valign="top">
<p align="center">4:3</p>
</td>
</tr>
</tbody>
</table>
<p>Video codec used is VC-1 Advanced Profile. Audio codec used is WMA Professional at 44.1 kHz 16-bit stereo.</p>
<p>All March Madness games are being encoded by MLB.com&#8217;s encoding facilities using <a href="http://www.inlethd.com/encoding/72/6/Spinnaker-7000/">Inlet Spinnaker 7000</a> encoders. The Spinnakers were configured based on my own recommendations in order to provide maximum quality at all bitrates.</p>
<p>The March Madness Silverlight player uses preroll ad download statistics to estimate available client bandwidth and tries to make an appropriate first choice of bitrate level. Of course none of this would be necessary with Smooth Streaming, but we really tried to make the best of the Windows Media Streaming experience anyway. The player also has built-in heuristics to detect quality-of-service issues, such as frequent rebuffering or low frame rate rendering, at which point it can suggest to the user to choose a lower bitrate. Users can manually switch between available bitrates using the &#8220;<strong>-</strong>&#8221; and &#8220;<strong>+</strong>&#8221; buttons in the button of the player UI.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexzambelli.com/blog/2009/03/19/silverlight-3-iis-media-services-30-olympics-2010-wow-it-truly-is-march-madness/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Come Join Us at MIX 2009!</title>
		<link>http://alexzambelli.com/blog/2009/03/09/come-join-us-at-mix-2009/</link>
		<comments>http://alexzambelli.com/blog/2009/03/09/come-join-us-at-mix-2009/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 08:03:03 +0000</pubDate>
		<dc:creator>Alex Zambelli</dc:creator>
				<category><![CDATA[Expression Encoder]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[MIX]]></category>
		<category><![CDATA[MIX09]]></category>

		<guid isPermaLink="false">http://alexzambelli.com/blog/?p=76</guid>
		<description><![CDATA[MIX, Microsoft&#8217;s annual conference for Web 2.0 designers and developers &#8211; is upon  us. This year it will take place March 18-20 at The Venetian Hotel in Las Vegas. If you&#8217;re interested in the world of online video streaming (and I guess you &#8230; <a class="more-link" href="http://alexzambelli.com/blog/2009/03/09/come-join-us-at-mix-2009/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>MIX, Microsoft&#8217;s annual conference for Web 2.0 designers and developers &#8211; is upon  us. This year it will take place March 18-20 at The Venetian Hotel in Las Vegas.</p>
<p>If you&#8217;re interested in the world of online video streaming (and I guess you are since you&#8217;re already reading this blog) and plan on visiting MIX 2009, I suggest you check out the following few sessions while there:</p>
<p><strong><span style="color: #0000ff;">What&#8217;s New in Microsoft Silverlight 3<br />
</span>Speaker</strong>:  Joe Stegman (Microsoft)<br />
<strong>Date/Time:</strong>  Wed, March 18, 11:30 AM &#8211; 12:15 PM<br />
<strong>Location</strong>:  Lando 4204</p>
<p><strong><span style="color: #0000ff;">Microsoft Silverlight Media End-to-End<br />
</span>Speaker</strong>:  Alex Zambelli (Microsoft)<br />
<strong>Date/Time</strong>:  Wed, March 18, 2:15 PM &#8211; 3:30 PM<br />
<strong>Location</strong>:  Delfino 4105</p>
<p><strong><span style="color: #0000ff;">Creating Media Content for Microsoft Silverlight Using Microsoft Expression Encoder</span><br />
Speaker</strong>:  James Clarke (Microsoft)<br />
<strong>Date/Time</strong>:  Wed, March 18, 4:00 PM &#8211; 5:15 PM<br />
<strong>Location</strong>:  Delfino 4105</p>
<p><strong><span style="color: #0000ff;">Delivering Media with Microsoft Internet Information Services 7 (IIS) Media Services and Microsoft Silverlight<br />
</span>Speakers</strong>:  John Bocharov (Microsoft), John Bishop (Inlet)<br />
<strong>Date/Time</strong>:  Thu, March 19, 1:00 PM &#8211; 2:15 PM<br />
<strong>Location</strong>:  Delfino 4105</p>
<p>For a complete list of sessions, see <a href="https://content.visitmix.com/2009/sessions/">https://content.visitmix.com/2009/sessions/</a>.</p>
<p>To register for MIX 2009, visit <a href="http://2009.visitmix.com/Registration/">http://2009.visitmix.com/Registration/</a>.</p>
<p>Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://alexzambelli.com/blog/2009/03/09/come-join-us-at-mix-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smooth Streaming FAQ</title>
		<link>http://alexzambelli.com/blog/2009/02/25/smooth-streaming-faq/</link>
		<comments>http://alexzambelli.com/blog/2009/02/25/smooth-streaming-faq/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 13:07:30 +0000</pubDate>
		<dc:creator>Alex Zambelli</dc:creator>
				<category><![CDATA[Expression Encoder]]></category>
		<category><![CDATA[H.264]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[FAQ]]></category>

		<guid isPermaLink="false">http://alexzambelli.com/blog/?p=71</guid>
		<description><![CDATA[The contents of this post have been moved to a new permanent location: http://alexzambelli.com/blog/smooth-streaming-faq/]]></description>
			<content:encoded><![CDATA[<p>The contents of this post have been moved to a new permanent location:</p>
<p><a href="http://alexzambelli.com/blog/smooth-streaming-faq/">http://alexzambelli.com/blog/smooth-streaming-faq/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexzambelli.com/blog/2009/02/25/smooth-streaming-faq/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Smooth Streaming Architecture</title>
		<link>http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/</link>
		<comments>http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 11:13:42 +0000</pubDate>
		<dc:creator>Alex Zambelli</dc:creator>
				<category><![CDATA[H.264]]></category>
		<category><![CDATA[Internet Information Services]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Smooth Streaming]]></category>
		<category><![CDATA[adaptive streaming]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[ISMV]]></category>
		<category><![CDATA[MP4]]></category>
		<category><![CDATA[streaming]]></category>

		<guid isPermaLink="false">http://alexzambelli.com/blog/?p=36</guid>
		<description><![CDATA[As described in the previous two posts, Smooth Streaming is Microsoft&#8217;s implementation of HTTP-based adaptive streaming, which is a hybrid media delivery method. It acts like streaming, but is in fact based on HTTP progressive download. The HTTP downloads are performed &#8230; <a class="more-link" href="http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As described in the previous two posts, <a href="http://www.iis.net/extensions/SmoothStreaming">Smooth Streaming</a> is Microsoft&#8217;s implementation of HTTP-based adaptive streaming, which is a hybrid media delivery method. It acts like streaming, but is in fact based on HTTP progressive download. The HTTP downloads are performed in a series of small chunks, allowing the media to get easily and cheaply cached along the edge of the network, closer to the end users. Providing multiple encoded bitrates of the same media source also allows Silverlight clients to seamlessly and dynamically switch between bitrates depending on network conditions and CPU power. The resulting end user experience is one of reliable, consistent playback without stutter, buffering or &#8220;last mile&#8221; congestion. In one word: <strong>Smooth</strong>.</p>
<p>In this post we&#8217;ll take a closer look at how Smooth Streaming works: format, server, and client.</p>
<p> </p>
<p><span style="text-decoration: underline;"><strong>Smooth Streaming Format</strong></span></p>
<p>Smooth Streaming is the first Microsoft media format in over a decade to use a file format other than <a href="http://www.microsoft.com/windows/windowsmedia/forpros/format/asfspec.aspx">ASF</a>. It is based on the <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=41828">ISO/IEC 14496-12 ISO Base Media File Format</a> specification, better known as the MP4 file specification. Why MP4 and not ASF? Well, there are several reasons:</p>
<ul>
<li>MP4 is a lightweight container format with less overhead than ASF</li>
<li>MP4 is easier to parse in managed (.NET) code than ASF</li>
<li>MP4 is based on a widely used standard, making 3rd party adoption and support more straightforward</li>
<li>MP4 was architected with H.264 video codec support in mind, and we&#8217;re counting on H.264 support in Smooth Streaming and Silverlight 3 (ASF <em>can</em> also contain H.264 video, but it&#8217;s not as straightforward as with MP4)</li>
<li>MP4 was designed to natively support payload fragmentation within the file</li>
</ul>
<p>There are actually 2 parts to the Smooth Streaming format: the <strong>wire</strong> format, and the <strong>disk file</strong> format. In Smooth Streaming a video is recorded in full length to the disk as a single file (one file per encoded bitrate), but it&#8217;s transfered to the client as a series of small file chunks. The wire format defines the structure of the chunks that get sent by IIS to the client, whereas the file format defines the structure of the contiguous file on disk. Fortunately, the MP4 specification allows MP4 to be internally organized as a series of fragments, which means that in Smooth Streaming the wire format is a direct subset of the file format.</p>
<p>What are these MP4 &#8220;fragments&#8221; that I speak of? The basic unit of an MP4 file is called a &#8220;box.&#8221; These boxes can contain both data and metadata. The MP4 specification allows for various ways to organize data and metadata boxes within a file. In most media scenarios it is considered useful to have the metadata written before the data so that a player client application can have more information about the video/audio it&#8217;s about to play <em>before</em> it plays it. However, in live streaming scenarios it is often not possible to write the metadata upfront about the whole data stream because it&#8217;s simply not fully known yet. Furthermore, less upfront metadata means less overhead, which can lead to shorter startup times. For these reasons the MP4 ISO Base Media File Format specification was designed to allow MP4 boxes to be organized in a fragmented manner, where the file can be written &#8220;as you go&#8221; as a series of short metadata/data box pairs, rather than one long metadata/data pair. The Smooth Streaming file format heavily leverages this aspect of the MP4 file specification, to the point where at Microsoft we often interchangeably refer to Smooth Streaming files as &#8220;Fragmented MP4 files&#8221; or &#8220;(f)MP4.&#8221;</p>
<p>Here is a high-level overview of what a Smooth Streaming file looks like on the inside:</p>
<div id="attachment_39" class="wp-caption aligncenter" style="width: 560px"><a href="http://alexzambelli.com/blog/wp-content/uploads/smooth_slide16.png"><img class="size-full wp-image-39     " title="Smooth Streaming File Format" src="http://alexzambelli.com/blog/wp-content/uploads/smooth_slide16.png" alt="Smooth Streaming File Format" width="550" height="302" /></a><p class="wp-caption-text">Smooth Streaming File Format</p></div>
<p>In a nutshell, the file starts with file-level metadata (&#8216;<em>moov</em>&#8216;) which generically describes the file, but the bulk of the payload is actually contained in the fragment boxes which also carry more accurate fragment-level metadata (&#8216;<em>moof</em>&#8216;) and media data (&#8216;<em>mdat</em>&#8216;). (The diagram only shows 2 fragments, but a typical Smooth Streaming file has a fragment per every 2 seconds of video/audio.) Closing the file is a &#8216;<em>mfra</em>&#8216; index box which allows easy and accurate seeking within the file.</p>
<p>When a Silverlight client requests a video time slice from the IIS Smooth Streaming server, the server simply seeks to the approriate starting fragment in the MP4 file and then lifts the fragment out of the file and sends it over the wire to the client. This is why we refer to the fragments as the &#8220;wire format.&#8221; This technique greatly enhances the efficiency of the IIS server because it requires no remuxing or rewriting overhead.</p>
<p>Here is what an MP4 fragment looks like in more detail:</p>
<div id="attachment_40" class="wp-caption aligncenter" style="width: 560px"><a href="http://alexzambelli.com/blog/wp-content/uploads/smooth_slide17.png"><img class="size-full wp-image-40   " title="Smooth Streaming Wire Format" src="http://alexzambelli.com/blog/wp-content/uploads/smooth_slide17.png" alt="Smooth Streaming Wire Format" width="550" height="300" /></a><p class="wp-caption-text">Smooth Streaming Wire Format</p></div>
<p>We say that the Smooth Streaming format is <em>based</em> on the MP4 file format because even though we&#8217;re following the ISO specification, we specify our own box organization schema and some custom boxes. In order to differentiate Smooth Streaming files from &#8220;vanilla&#8221; MP4 files, we use new file extensions: *.<strong>ismv</strong> (video+audio) and *.<strong>isma</strong> (audio only). I keep forgetting to ask the IIS Media team what the acronyms exactly stand for, but my best guess would be &#8220;<strong>I</strong>IS <strong>S</strong>mooth Streaming <strong>M</strong>edia <strong>V</strong>ideo (<strong>A</strong>udio)&#8221;.</p>
<p> </p>
<p><span style="text-decoration: underline;"><strong>Smooth Streaming Media Assets</strong></span></p>
<p>A typical Smooth Streaming media asset therefore consists of the following files:</p>
<ul>
<li>MP4 files containing video/audio
<ul>
<li>*.<strong>ismv</strong> &#8211; contains video and audio, or only video
<ul>
<li>1 ISMV file per encoded video bitrate</li>
</ul>
</li>
<li>*.<strong>isma</strong> - contains only audio
<ul>
<li>In videos with audio, the audio track can be muxed into an ISMV file instead of a separate ISMA file</li>
</ul>
</li>
</ul>
</li>
<li>Server manifest file
<ul>
<li>*.<strong>ism</strong></li>
<li>Describes the relationships between media tracks, bitrates and files on disk</li>
<li>Only used by the IIS Smooth Streaming server &#8211; not by client</li>
</ul>
</li>
<li>Client manifest file
<ul>
<li>*.<strong>ismc</strong></li>
<li>Describes to the client the available streams, codecs used, bitrates encoded, video resolutions, markers, captions, etc.</li>
<li>It&#8217;s the first file delivered to the client</li>
</ul>
</li>
</ul>
<p>Both manifest file formats are based on XML. The server manifest file format is based specifically on the <a href="http://www.w3.org/TR/SMIL20/">SMIL 2.0</a> XML format specification.</p>
<p>A folder containing a single Smooth Streaming media asset might look something like this:</p>
<div id="attachment_42" class="wp-caption aligncenter" style="width: 510px"><a href="http://alexzambelli.com/blog/wp-content/uploads/smooth_slide19.png"><img class="size-full wp-image-42        " title="Smooth Streaming media asset folder" src="http://alexzambelli.com/blog/wp-content/uploads/smooth_slide19.png" alt="A typical folder containing a Smooth Streaming media asset" width="500" height="247" /></a><p class="wp-caption-text">A folder containing a Smooth Streaming media asset</p></div>
<p>In this particular case the audio track is contained in the <em>NBA_3000000.ismv</em> file.</p>
<p> </p>
<p><span style="text-decoration: underline;"><strong>Smooth Streaming Manifest Files</strong></span></p>
<p>The Smooth Streaming Wire/File Format specification defines the manifest XML language as well as the MP4 box structure. Because the manifests are based on XML they are highly extensible. Among the features already included in the current Smooth Streaming format specification is support for:</p>
<ul>
<li>VC-1, WMA, H.264 and AAC codecs</li>
<li>Text streams</li>
<li>Multi-language audio tracks</li>
<li>Alternate video and audio tracks (i.e. multiple camera angles, director&#8217;s commentary, etc.)</li>
<li>Multiple hardware profiles (i.e. same bitrates targeted at different playback devices)</li>
<li>Script commands, markers/chapters, captions</li>
<li>Client manifest Gzip compression</li>
<li>URL obfuscation</li>
<li>Live encoding and streaming</li>
</ul>
<p>For an example of a Smooth Streaming On-Demand Server Manifest file, see <a href="http://alexzambelli.com/blog/wp-content/uploads/NBA.ism">here</a>.</p>
<p>For an example of a Smooth Streaming Client Manifest file, see <a href="http://alexzambelli.com/blog/wp-content/uploads/NBA.ismc">here</a>.</p>
<p> </p>
<p><span style="text-decoration: underline;"><strong>Smooth Streaming Playback: Bringing It All Home</strong></span></p>
<p>Microsoft&#8217;s adaptive streaming prototype (used for NBC Olympics 2008) relied on physically chopping up long video files into small file chunks. In order to retrieve the chunks for the web server, the player client simply needed to download files in a logical sequence: <em>00001.vid, 00002.vid, 00003.vid</em>, etc.</p>
<p>As I&#8217;ve explained in this and previous posts, Smooth Streaming uses a more sophisticated file format and server design. The videos are no longer split up into thousands of file chunks, but are instead &#8220;virtually&#8221; split up into fragments (typically 1 fragment per video GOP) and stored within a single contiguous MP4 file. This implies two significant changes in server and client design too:</p>
<ol>
<li>The server must be able to translate URL requests into exact byte range offsets within the MP4 file, and</li>
<li>The client can request chunks in a more developer-friendly manner, such as by timecode instead of by index number</li>
</ol>
<p>The first thing a Silverlight client requests from the Smooth Streaming server is the <strong>*.ismc</strong> client manifest. The manifest tells it which codecs were used  to compress the content (so that the Silverlight runtime can initialize the correct decoder and build the playback pipeline), which bitrates and resolutions are available, and a list of all the available chunks and either their start times or durations.</p>
<p>With IIS7 Smooth Streaming, a client is expected to request fragments in the form of <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_Web_services">RESTful URLs</a>:</p>
<pre>http://video.foo.com/NBA.ism/QualityLevels(<strong>400000</strong>)/Fragments(video=<strong>610275114</strong>)

http://video.foo.com/NBA.ism/QualityLevels(<strong>64000</strong>)/Fragments(audio=<strong>631931065</strong>)</pre>
<p>The values passed in the URL represent encoded bitrate (i.e. 400000) and the fragment start offset (i.e. 610275114) expressed in an agreed-upon time unit (usually 100 ns). These values are known from the client manifest.</p>
<p>Upon receiving a request like this, the IIS7 Smooth Streaming component looks up the quality level (bitrate) in the corresponding <strong>*.ism </strong>server manifest and maps it to a physical <strong>*.ismv</strong> or <strong>*.isma</strong> file on disk. It then goes and reads the appropriate MP4 file, and based on its <em>&#8216;tfra&#8217;</em> index box figures out which fragment box (&#8216;<em>moof&#8217;</em> + &#8216;<em>mdat&#8217;</em>) corresponds to the requested start time offset. It then extracts the said fragment box and sends it over the wire to the client as a standalone file. This is a particularly important part of the overall design because the sent fragment/file can now be automatically cached further down the network, potentially saving the origin server from sending the same fragment/file again to another client requesting the same RESTful URL.</p>
<p>As you can see, requesting chunks of video/audio from the server is easy. But what about dynamic bitrate switching that makes adaptive streaming so effective? This part of the Smooth Streaming experience is implemented entirely in client-side Silverlight application code &#8211; the server plays no part in the bitrate switching process. The client-side code looks at chunk download times, buffer fullness, rendered frame rates, and other factors &#8211; and based on them decides when to request higher or lower bitrates from the server. Remember, if during the encoding process we ensure that all bitrates of the same source are perfectly frame aligned (same length GOPs, no dropped frames), then switching between bitrates is completely seamless &#8211; and <span style="text-decoration: underline;">Smooth</span>.</p>
<p>In my next blog post: <strong>Encoding For Smooth Streaming</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/feed/</wfw:commentRss>
		<slash:comments>62</slash:comments>
		</item>
		<item>
		<title>H.264 and AAC support coming in Silverlight v.Next</title>
		<link>http://alexzambelli.com/blog/2008/09/09/h264-and-aac-support-coming-in-silverlight-vnext/</link>
		<comments>http://alexzambelli.com/blog/2008/09/09/h264-and-aac-support-coming-in-silverlight-vnext/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 23:28:52 +0000</pubDate>
		<dc:creator>Alex Zambelli</dc:creator>
				<category><![CDATA[H.264]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://alexzambelli.com/blog/2008/09/09/h264-and-aac-support-coming-in-silverlight-vnext/</guid>
		<description><![CDATA[I&#8217;m on a mini pre-IBC vacation this week so I was caught a little off-guard when I noticed that the big IBC announcement that we had been working on for months now &#8211; went out this morning. I didn&#8217;t expect &#8230; <a class="more-link" href="http://alexzambelli.com/blog/2008/09/09/h264-and-aac-support-coming-in-silverlight-vnext/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on a mini pre-IBC vacation this week so I was caught a little off-guard when I noticed that the big IBC announcement that we had been working on for months now &#8211; went out this morning. I didn&#8217;t expect it&#8217;d go out before Thursday or Friday. :)</p>
<p>Anyway, here&#8217;s the big news:</p>
<p>We will be adding support for H.264 and AAC-LC decoding to the next version of Silverlight (post v2). This is in response to the loud and clear customer demand for H.264/AAC that we&#8217;ve been hearing since Silverlight 1.0, the general convergence of the video industry around H.264, and a continuation of Microsoft&#8217;s own investment into the MPEG-4 standard.</p>
<p>Here&#8217;s the official Microsoft press release, framed as Q&amp;A with Silverlight&#8217;s Scott Guthrie:</p>
<p><a href="http://www.microsoft.com/presspass/features/2008/sep08/09-09silverlight.mspx"><strong>http://www.microsoft.com/presspass/features/2008/sep08/09-09silverlight.mspx</strong></a></p>
<p>The Q&amp;A does a very good job of answering some of the questions regarding the seemingly complex relationship between H.264, VC-1 and Windows Media, but one answer in particular bears repeating:</p>
<p>Addition of H.264 support in Silverlight does not mark a departure from VC-1 or Windows Media, but instead serves to enhance and expand the existing video/audio format ecosystem. The idea is to give users more choice and allow Silverlight to adapt to their existing workflows, rather than forcing it the other way around. I&#8217;ve seen too many people over the past few years get bogged down in &#8220;VC-1 vs H.264 codec wars&#8221; and I always found such obsessions to be very counterproductive. Both codecs are efficient enough to deliver excellent video quality at similar bitrates, so the question of which one to use should really be answered with &#8220;whichever one best fits your workflow and project constraints.&#8221; By adding H.264 support to Silverlight, we hope to get to a point where Silverlight is codec agnostic and customers can spend their valuable time focusing on end-to-end media delivery.</p>
<p>We will be showing a technology preview of H.264/AAC playback at IBC in Amsterdam (September 12-16), for which we partnered with <a href="http://www.inlethd.com">Inlet Technologies</a> to produce the demo content. The exact techhnical details of &#8220;what&#8221; and &#8220;how&#8221; are still being worked out, but one thing I can tell for sure is that MP4 file progressive download will definitely be supported.</p>
<p>A few links to blogosphere coverage of this announcement:</p>
<ul>
<li><a href="http://blog.streamingmedia.com/the_business_of_online_vi/2008/09/microsoft-silve.html">http://blog.streamingmedia.com/the_business_of_online_vi/2008/09/microsoft-silve.html</a></li>
<li><a href="http://timheuer.com/blog/archive/2008/09/09/silverlight-to-support-h264-and-aac.aspx">http://timheuer.com/blog/archive/2008/09/09/silverlight-to-support-h264-and-aac.aspx</a></li>
<li><a href="http://realworldvideocompression.com/2008/09/h264-support-for-silverlight/">http://realworldvideocompression.com/2008/09/h264-support-for-silverlight/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alexzambelli.com/blog/2008/09/09/h264-and-aac-support-coming-in-silverlight-vnext/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

