You are currently browsing the category archive for the ‘Uncategorized’ category.
Our newest PM team member in the Media Services team, Cenk Dingiloglu, posted a great how-to article on using our latest Smooth Streaming client for Windows 8 Beta.
Check out the article here for a walkthrough on how to create a Metro application using the JavaScript language that plays back Smooth Streaming content on Windows 8 Consumer Preview.
Watch out for the requirement to compile to a specific platform type (x64 or x86) instead of Any CPU or you will get some compiler errors there.
NAB is coming up next in April, and I should have some time again to get back to blogging about some very cool things that are coming soon! I hope there is some sun in Vegas this year, as it has been very cloudy here in Redmond.
Tim Siglin just published his coverage of the MPEG DASH session at Streaming Media West last week where the future of adaptive streaming file formats was discussed. The article is titled “MPEG DASH: The File Format of the Future?” and can be found on the StreamingMedia.com website.
I particularly like the coverage of HLS and the fact that the Apple draft that was submitted to the IETF is merely an “informational draft” and the fact that there are no efforts underway to standardize that draft spec. This is an often overlooked reality of the HLS specification and something that I am constantly educating customers on.
The push to move to interoperable international standards is only going to get stronger in the next few years. Embracing an interoperable version of MPEG DASH for both live and on-demand streaming, one that is based on a common file format like fragmented-MP4 (CFF file format from Ultraviolet is a good candidate here), and embracing MPEG Common Encryption (CENC) will be the key to making interoperable media services work across devices and clouds.
Mario Doiron, our lead tester for Transform Manager has posted a great article on how to debug your custom TM Tasks.
This is an article that we have been hoping to find the time to get out the door for a while and I’m very pleased to see this get published!
In this article Mario walks through the process of hooking up a debugger to your custom ITask implementation and also how to inject custom arguments into your task for testing purposes.
Full URL to the article is here. http://blogs.iis.net/doiron/archive/2011/11/13/debugging-your-custom-iis-transform-manager-task.aspx
My friend Ezequiel Jadib at Southworks is the developer for the Rough Cut Editor solution that is posted up on the MSDN Code Gallery. He’s done a fantastic job of turning some of my early ideas on what the RCE could be into a shipping solution that includes source code and easy extensibility based on the PRISM framework.
Recently, Ezequiel took that idea much further by extending the capabilities of the Rough Cut Editor to include one of the features that we planned it would support early on – but did not have the resources to complete.
Since I have taken on the IIS Transform Manager, I have focused on making sure that it is extensible, pluggable, and supports good integration with partner applications, CMS, DAM systems and other custom applications. When we first created the RCE project, we did some initial integration with Rhozet Carbon Coder using watch folders. We also did some work to integrate it with Marquis Medway which allowed us to output from RCE directly to an AVID box and vise-a-versa.
Today, Ezequiel posted a fantastic blog article with source code that shows off the extensibility of the IIS Transform Manager by writing a custom Task for T.M. that allows you to edit a file using the Rough Cut Editor and output the file to an IIS Transform Manager watch folder, which then uses Expression Encoder to generate a new asset from the edit. We used to call this “conforming” an asset from an edit decision list.
Keep up the great work Ezequiel (and SouthWorks!).
Here is a diagram of the workflow. Check out the full article here.

Today begins the next wave of updates to IIS Media Services. We released our first beta of Media Services 4 which includes the new support for live and on-demand streaming to Apple devices including the iPod, iPhone, and iPad using the same encoded elementary streams that are targeted at your Silverlight clients. We have also added a number of improvements to IIS Live Smooth Streaming to Silverlight. In this post, I’ll quickly cover all of the new stuff we released today, point you to our new walkthroughs and give you a preview of the upcoming features and more in-depth walkthroughs we are planning.
IIS Media Services 4 Beta 1- Now with iPhone and iPad streaming support!
IIS Smooth Streaming has been the leading platform for broadcasting live events using adaptive HTTP streaming on the internet. It was first used to deliver the 2008 Summer Olympics, and more recently was used for the 2010 Winter Olympics, March Madness, and the 2010 French Open.
The new capabilities of Media Services 4 will extend the reach of these live events to even more devices using the same set of encoded elementary streams. We can now encode a spectrum of bitrates in H.264 and AAC-LC in IIS Smooth Streaming format, push them to the IIS Server and deliver out to Silverlight clients on Mac, PC and Linux, Windows Phone 7, iPhone, iPad, iPod touch, Nokia s60, Broadcom and Intel set-top-boxes. That’s an incredibly wide range of screens to hit with a single set of multi-bitrate streams! IIS Media Services will simply unwrap the incoming fragmented-MP4 containers, extract the encoded H.264 and AAC-LC elementary streams, and re-packing them inside MPEG-2 Transport Stream containers for delivery to Apple devices. This means that you only encode the content once, and IIS handles the “packaging” of that content for distribution to multiple endpoints. For you Seinfeld fans out there, you can think of this process as “re-gifting” to your Apple friends, although this is definitely not a “label maker”. I’ll be posting guidance soon on how to broadcast to all of these screens using a range of encoding settings and bitrates.
Expression Encoder 4 Pro, which launched earlier this week and will be available for purchase at the Microsoft online store, also includes new templates for broadcasting live H.264 streams to IIS Media Services for delivery to multiple device profiles including the iPhone, iPad, and Nokia devices. For an introduction to Live Smooth Streaming with EE4, check out Sam Wookey’s blog post and walkthrough.
New! Transform Manager
In addition we are launching a new feature of IIS Media Services called Transform Manager, which provides simple integrated video encoding and batch conversion of video files to IIS Smooth Streaming format and the MPEG-2 Transport Stream adaptive streaming format supported by Apple devices. Transform Manager also integrates directly with Expression Encoder 4 Pro to allow you to use “watch folders” to queue up multiple encoding jobs on your server and deliver them directly to IIS Media Services 4 web folders as IIS Smooth Streaming presentations, complete with Silverlight player templates.
Transform Manager can also convert your IIS Smooth Streaming presentations directly into MPEG-2 Transport Streams and .m3u8 manifests for delivering content to Apple devices. We ship Transform Manager with several example Job Templates and Watch Folder configurations that enable you to drag-and-drop WMV and MP4 files into watch folders (or set up FTP or WebDav on your IIS server to upload content to your watch folders) and Transform Manager will automate the encoding to Smooth Streaming file format using Expression Encoder 4 Pro, transmux the output from EE4 to MPEG-2 Transport stream and create .m3u8 playlists, and then copy your generated media files to a uniquely named IIS web site for immediate playback.
We have also released a new SDK with Transform Manager so that you can write your own plug-in “tasks” that can be used with Transform Manager to support custom actions, third-party encoders, or your own encoding applications.
This alpha release of the Transform Manager feature currently only supports operating on a single IIS server and uses the local Task Scheduler for job management. In our future releases, we will be expanding the capabilities of the scheduler to support scaling-out Transform Manager.
IIS Smooth Streaming Client 1.0 RTW
Also released today is the IIS Smooth Streaming Client 1.0 RTW. This is the development kit that most of you already refer to as the SSME (Smooth Streaming Media Element). It is the core component that enables Smooth Streaming support for Silverlight clients. The Silverlight Media Framework 2.0 is built on top of this component. The new client development kit enables developers and designers to custom Silverlight players from the ground-up. You can build custom players that support full DVR-style time shifting, live ad insertion, multiple camera angles, closed captioning, and custom metadata tracks.
If you use the new Silverlight Media Framework (smf.codeplex.com) you get all of theses great features built into an open source player that you can extend upon. The new SMF 2.0 player has a more modular architecture, supports Timed Text Markup Language text tracks, support for VAST and MAST, support for the Microsoft Silverlight Analytics Framework and a plug-in API .
IIS Smooth Streaming Format SDK 1.0 Beta 2
And there is more! The IIS Smooth Streaming Format SDK 1.0 Beta 2 will be released to the web next week. This SDK is provided as a C++ static library for building in support to your own encoder applications for muxing IIS Smooth Streaming and PIFF 1.1 compliant streams, and also delivering to IIS Media Services. This update includes bug fixes to the Beta 1 features plus the following additional features:
- Muxing of properly-encoded VC-1 and H.264 video to PIFF 1.1 compliant output for live and On-demand.
- Creation of PIFF 1.1 compliant manifest files
- Support for PlayReady sub-sample encryption to support encrypted H.264
- Multi-language audio muxing support
- Text-streams to allow for creation of Timed Text Markup Language tracks
Coming soon…
Even with all of these great releases and new features, the team refuse to stop for breath (hey, there is no Summer in Seattle this year anyways, so let’s just keep working on new features!). Coming later this year you will see the following additional features added to IIS Media Services.
- The Apple HTTP streaming support will expand to include AES encryption, DVR “sliding window” support and segmented archives similar to the standard Smooth Streaming support in Media Services to bring parity across both features. We will be doing the work necessary to make sure that everyone can broadcast to all their devices 24/7 if desired.
- Transform Manager scale-out will be supported through integration with a new scalable scheduler architecture. We will also be expanding our API to support integration with the task editing user interface to allow custom task developers to implement their own task setup and editing user interfaces.
- More Walkthroughs! I’ll be working on expanding our walkthroughs for both the iPhone/iPad broadcasting, Transform Manager API usage, Transform Manager integration with 3rd party encoders, using TTML, multi-language audio support, and new metadata support in Media Services.
Resources
Get the new IIS Media Services bits now using the Web Platform Installer link here!
New Walkthroughs:
Transform Manager Walkthrough
Live Broadcasting to iPhone and iPad with IIS Media Services Walkthrough
For more details on this release of IIS Media Services, check out the following links:
It was a great week at the National Association of Broadcasters (NAB) convention in Las Vegas this year. It’s always fantastic to run into the extended family of friends, partners, and customers from around the world. We had a lot of great new technology announcements and demonstrations this year and too many partner announcements to cover in a quick blog post, but here is a recap of the highlights.

IIS Smooth Streaming Client and Silverlight Media Framework (SMF) – showcased demos with Multiple audio languages and subtitles using SMF and the demos worked flawless. We demoed how you could build a player with less than 10 lines of code using SMF. In addition the latest version of the SMF player now supports Timed Text Markup language (TTML) for displaying captions and subtitles. We now support “textstream” tracks that work similar to the fragmented MP4 video and audio, but contain caption text in TTML format. We also demonstrated multi-language audio support. You can now seamlessly switch between audio tracks in the player. We also announced several new encoding partners that are adopting the Smooth Streaming Format SDK, and several partners who have integrated TTML caption conversion from 608/708 and Teletext, multi-language audio, and ad-insertion using SCTE-35 signaling via sparse stream events.
The Smooth Streaming Format SDK Beta 1 is available as of early March this year, and we will be shipping Beta 2 at the end of May which includes additional support for multi-language audio, Text Streams, and H264 PlayReady sub-sample encryption (per the PIFF 1.1 specification).
IIS Smooth Streaming in 3D – this demo was a crowd puller. It may be the colored 3D glasses but people loved watching 3D content in a browser and the same content was also demoed on a TV connected to a set top box running Silverlight. This demo was done working very closely with Level 3. Alex Zambelli, who put this demo together, has more details here.
The Silverlight Rough Cut Editor tool – I’ve talked about this project in the past. This was originally a project that I started on the IMM team for use as a web part in SharePoint. Since the IMM project was closed down, we have kept revising this tool and used it in many Live events including the Winter Olympics. Now the RCE code is available for you to download from the Code Gallery site on MSDN. You can create a new source by combing portions of multiple individual sources (including live Smooth Streaming sources) in a matter of a few minutes. The tool is really easy to use and super useful in creating highlights. It’s also easy to customize and extend since it is based on the PRISM framework. You can integrate the tool easily into your own MAM and DAM or custom database systems to create an end-to-end workflow.
Microsoft Silverlight Analytics Framework (MSAF) and visualizations of data using Pivot / Azure (Silverlytics) – SAF already integrates top analytics providers and enables easy analytics integration for Silverlight applications including the ones that use IIS Smooth Streaming. The folks at Location 3 Media used MSAF and Microsoft Pivot to create some super cool visualizations for real-time analytics data.
Silverlight Enhanced Movie Framework – this framework allows for rich Blu-ray like experiences with offline Silverlight apps. The demos included the movie “The Hangover” among others at the booth. This will be the future of movie delivery for me. I don’t even own a Blu-ray player because I prefer not to collect plastic landfill discs!
At the booth we demoed live IIS Smooth Streaming to an iPhone and iPad. The streams were generated by Expression Encoder 4.0 that was sending 10 different bitrates to multiple clients. This new feature allows you to enable on-the-fly transmuxing at the IIS Media Services publishing point. All you need to do is send the usual Smooth Streaming fragmented-MP4 streams to the publishing point in H.264/AAC at the right profiles and we will re-wrap to MPEG2 Transport Stream and segment the video on the fly. The same streams can also be consumed from the publishing point in their fragmented MP4 format using Silverlight on multiple clients, including Mac, Windows, Linux, Windows Phone 7, Nokia S60, and the Broadcom and Intel set-top boxes. This feature is going to be included in IIS Media Services 4.0 Beta 1 in June.
IIS Smooth Streaming for Windows Phone 7 – using the exact same streams that we are sending to the iPad we are able to deliver to Windows Phone 7, which is now running Silverlight and a version of the Smooth Streaming Media Element. The Windows Phone 7 is capable of decoding H264 and AAC at even higher profile settings than Apple’s IPad recommendations, and we should see some even higher quality presets coming soon for Expression Encoder 4.0.
IIS Smooth Streaming for Nokia S60 devices
Expression Encoder 4 (EE4) – we demoed encoding and delivering HD content using IIS Smooth Streaming and EE4 running on the same machine. EE4 is going to be a great tool when it ships. It now has support for Live Smooth Streaming! We had a 24 core Intel server streaming 10 bitrates of Live Smooth Streaming (from 6Mb down to 200kbps) along with a second instance of EE4 running with 3 streams targeted at the IPad profile settings. Fantastic!
In addition to all of this great news, we announced that Silverlight adoption has reached 60% globally, on Tuesday just down the street from the NAB convention we launched Visual Studio 2010, and on Thursday we launched Silverlight 4.0.
Here is the full Microsoft press release for more details.
I’m looking forward to seeing everyone at IBC in Amsterdam at the end of the Summer with a lot more cool demos! We have some fantastic stuff in the works.
The developer for the Smooth Streaming Format SDK, Thales de Cavalho, provided a terrific blog post that walks through the Basic Muxer Sample application in detail.
Today, I am pleased to announce the release of Beta 1 of the Microsoft IIS Smooth Streaming Format SDK 1.0.
The IIS Smooth Streaming Format SDK provides application developers the capability to mux encoded video and audio elementary streams into Smooth Streaming fragmented-MP4 format that is compliant with the Smooth Streaming Format and Protected Interoperable File Format (PIFF) specifications. The IIS Smooth Streaming Format SDK includes a native C++ static library that can be linked into your applications to support the muxing of fragmented-MP4 into files or sent live via HTTP POST to a server running Internet Information Services (IIS) 7.0 and IIS Media Services 3.0. The SDK is available for download here – Download IIS Smooth Streaming.
Documentation for the SDK can be found online here – IIS Smooth Streaming Format SDK MSDN documentation and the release notes are available here – IIS Smooth Streaming Format SDK Beta 1 Release Notes.
UPDATE: A detailed explanation of the sample is now available here.
The primary purpose of the IIS Smooth Streaming Format SDK is to enable developers to create applications that can generate PIFF compliant Smooth Streaming formatted fragmented-MP4 files for use in video-on-demand and live streaming scenarios. In addition, the SDK can be used to encrypt content using standard AES encryption as required by the PIFF specification (this SDK only supports the PlayReady specific protection headers).
It is expected that the video and audio encoding functionality is done externally from the SDK. Encoding for VC-1 can be accomplished by using the Microsoft VC-1 Encoder SDK – Professional. If you wish to do H.264 encoding, you will need to acquire a 3rd party H.264 encoding SDK and AAC audio encoder. There are lots of encoding library choices available both free and commercial.
The components of the SDK include:
- A static-linked packaging library ssfsdk.lib, along with appropriate header files, that delivers f-MP4 wrapping capability to an application for use with the following video and audio codec combinations:
- Closed GOP encoded VC-1 with Elementary Stream Sequence Headers and WMA Pro, or WMA audio
- H.264 (avc1) and AAC-LC audio
- Sample source code for a basic on-demand muxing application that uses DirectShow to source from files.
- Link to online MSDN documentation.
The key features of this Beta 1 release of the Smooth Streaming Format SDK are:
- Support for Protected Interoperable File Format (PIFF) compliant fragmented-MP4 file output.
- Support for ISO Base Media (ISO/IEC 14496-12:2008) spec compliance.
- Support for muxing live and on-demand content.
- Support for appropriate header boxes and formatting required for live streaming using IIS Media Services.
- Support for AES-CTR encryption of VC-1 encoded content for use with PlayReady licensing servers and Silverlight 3.0 or higher.
- Support for writing out a compliant server manifest files.
- Support for writing out a compliant client manifest files.
To give you a peek at the roadmap, some upcoming features planned for Beta 2 include:
- Subsample encryption support for encrypting H.264 content in compliance with PIFF 1.1
- Multi-language audio muxing
- Text tracks
- Sparse streams
- A sample for live streaming
NOTE: Beta 1 of the SDK is provided for evaluation purposes and for use in testing your Smooth Streaming encoding implementations. Beta 1 does not currently give you a “Go-Live” license, so you will need to wait until Beta 2 if you plan to use this in production.
If you have questions on how to use this SDK in your applications, comments, or feedback on the SDK please send them to me directly or to smooth@microsoft.com.
We are looking forward to incorporating your feedback and ideas into the Beta 2 release.
Resources
- Sample Application explained in detail
- Download the Protected Interoperable File Format specification
- Download the IIS Smooth Streaming Transport Protocol Specification
- Download IIS Smooth Streaming Player Development Kit 1.0 – Beta 2
- More Information on Smooth Player Development
- API documentation for Smooth Streaming Player SDK
- More Information on Smooth Streaming
- More Information on Live Smooth Streaming
- Supporting documentation on getting started with Smooth Streaming
We just released IIS Media Services 3.0, a set of extensions for Internet Information Services 7 (IIS) that provide an integrated HTTP-based media delivery platform. This includes the new IIS Live Smooth Streaming and the separate IIS Advanced Logging package.
In addition, we released the beta of the Smooth Streaming Player Development Kit, which allows developers to easily create Smooth Streaming experiences using Silverlight. Supported features include PlayReady
See these blog posts to learn more about the key new features that are part of this release:
- IIS Live Smooth Streaming: http://blogs.iis.net/jboch/archive/2009/10/09/rtw-of-live-smooth-streaming-is-now-live.aspx
- IIS Advanced Logging: http://blogs.iis.net/vsood/archive/2009/10/12/iis-advanced-logging-1-0-released.aspx
- IIS Smooth Streaming Player Development Kit – Beta 1: http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx
I just learned about this fantastic way to run a second copy of Windows 7 on your Win 7 developer workstation and have a dual boot setup.
The new virtualization technology in Windows 7 allows you to create a VHD drive as a secondary boot drive, and then run that as a virtual disk with full access to your hardware and devices. I love this, as I often run lots of beta software, including latest bleeding edge builds of Visual Studio and other media software that over time can just kill my main home or office workstation. Now I can just set up a VHD with a copy of Windows 7, add a differencing disk and then mess it up all I want, then delete the differencing disk and reboot the machine and I’m back to a clean installation.
In order to set this up, I followed the steps documented in the guide that is distributed along with this great PowerShell 2 script called Install-WindowsImage.
The documentation for this handy PowerShell script walks you through how to set up a fresh VHD in Windows 7, and how to load a Windows Image onto that VHD.
I’m going to create VHD’s for both Windows 7 and Server R2 so that I have fresh environments to try out new things in!
Also you might want to check out the WIM2VHD project that is also available at http://code.msdn.microsoft.com/wim2vhd
The Windows Image to Virtual Hard Disk (WIM2VHD) command-line tool can be used to automate many of the steps above.
