Microsoft Smooth Streaming part 2

04 January 2012
Kacper Chomicz
In my previous post on Microsoft Smooth Streaming I highlighted a problem we had when sharing videos recorded during our internal knowledge sharing sessions. Initially, we just uploaded them to an FTP location but the number of viewers was really low and it became hard to show them to our partners. That's when, we decided to use Microsoft Smooth Streaming as a solution to our video transmission/ delivery problems.

In this post, I will focus more on the technical aspects – the installation and configuration of all necessary components and video conversion using the Transform Manager. In the next post, I will discuss how to encode a video using the Expression Encoder Object Model.

Setting up a Microsoft Smooth Streaming server

The base configuration needed to set up Smooth Streaming is Windows Server 2008 (or newer) with Web Server (IIS) role enabled. Next, you need to install IIS Media Services. You can download the installer from here or you can use Web Platform Installer to simplify the installation process. That's it! Now all you need is an encoded video, the Microsoft Silverlight player and a web browser (Mozilla/ Chrome/ IE) to check if everything is working! Media Services in IIS Manager You can download a sample video from here – it comes with a player and html file. Just extract the archive, create a virtual directory in IIS, point it to the video folder and open the html file in web browser. If you don’t have Microsoft Silverlight installed you will be prompted to install it and after a few seconds, you should be able to see the movie. You can also embed the Silverlight control on your existing page.

That’s the minimal setup required if you already have encoded videos or just want to play samples.

Encoding videos

There are several methods to change your movie format into the Microsoft Smooth Streaming enabled format. Here, let's focus on the Transform Manager and later in the next part of this tutorial on Expression Encoder Object Model, of course there are more methods – for example you could use FFmpeg.

Expression Encoder

Since Transform Manager uses Expression Encoder internally you need to install it first. You can download your copy from Microsoft directly or use the Web Platform Installer. Installation is easy and no configuration is needed. The free version of Encoder supports DirectShow Filters and QuickTime (if installed) input video formats. If you want to run Expression Encoder on a Windows Server, you need to install Desktop Experience feature. Oh, if you accidentally forget this, don't worry because a nice popup will remind you what to do. Error - please install Desktop Experience feature
Of course, if you want you'd like to have play with the Expression Encoder UI, go ahead but I will stick to the requisites in the conversion scenarios below.

Transform Manager

Installation of Transform Manager is again straight forward – just open Web Platform Installer and install it. This software is still in beta, so not everything may work as expected (for example, I had a problem with setting up notifications) but apart from small glitches; Transform Manager does exactly what it should – transforms videos!

After you install Transformation Manager, a new node should appear in IIS Manager (if you don’t see it on your machine, close and open IIS Manager).

Transform Manager Installed

You should start by specifying the credentials of a user that the Transform Manager can use to log on. This user should have the rights to write to the directories where you want to store your encoded videos. Next step is starting the service.

Configuration of Transform Manager

Now, you need to enable Watch Folders. If you’re using a free version of Expression Encoder then only encoding to VC-1 Smooth Streams is possible so I will focus on that option. Actually you don’t need to change any predefined settings – just select “Video files to VC-1 Smooth Streams”, enable it and Start the Watch Folder. You should also create a virtual directory under your current web application pointing to the same path as Watch Folder. That way you’ll be able to play the video in the browser.

Configuration of Transform Manager

That’s it! The configuration part is over, now it’s time to encode the video. Just drop your file into a directory you just added to Watch Folders (C:\inetpub\media\Transform Manager\Smooth (VC1)\ if you didn’t change it) and observe the conversion process in the IIS Manager.

Transform Manager - Job Monitor

Once it’s done you can check the encoded files under {your Watch Folder}\WorkQueue\Finished\{date_GUID}\EE4Output. The folder should contain manifest file (.ism), media streams (.ismv), Silverlight player and a sample html file. If you open it in your browser (using IIS not from the disk!) and you should be able to play your newly encoded video. Encoded Vidoes with support files As you can see, setting up the Microsoft Smooth Streaming Server and converting videos using Transform manager is very easy. The only time consuming part is performing the actual conversion. If you plan to have more control over the conversion process than Transform Manager can provide and you're not afraid of writing some code then stay tuned for part 3 of this tutorial – Encoding videos using the Expression Encoder Object Model and I promise, it will come with a simple example as well.