First Look: Microsoft IIS Media Services 4
Unfortunately, Windows Media Player 11 or 12 are not capable of using the SSC, unless Expression Encoder 4 Pro has been installed on the machine. Why is this? It turns out that EE 4 Pro installs a DirectShow filter that Windows Media Player can access to play back archive Smooth Streaming files-at the highest bitrate-but cannot be used to play Live Smooth Streaming content. If EE 4 Pro is uninstalled, the DirectShow filter is also eliminated.
While Microsoft has a variety of partners that provide encoding solutions, several of which I tested during encoding comparison tests this summer, Microsoft also has its own software-based encoding in the form of Expression Encoder. This tool has been around for some time, and the standard version of it is intended to replace Windows Media Encoder.
The Pro version, however, has the ability to do Live Smooth Streaming. EE 4 Pro will run on Windows XP Service Pack 3, Vista and Windows 7 and will support processing on some Nvidea CUDA-based graphics cards, allowing the GPU to do heavy lifting for transcoding and, soon, a few key parts of live encoding. Specifically EE 4 Pro supports CUDA 1.1 for Windows XP64, Vista and Windows 7.
Expression Encoder 4 Pro can be purchased directly from Microsoft as a stand-alone product or as part of Expression Studio 4 Ultimate, Amazon's discounted $539 version that contains other unique tools such as SketchFlow.
Encoding is a very easy process with EE 4 Pro, consisting of just four steps for traditional Windows Media encoding and only one extra step for Smooth Streaming.
EE 4 Pro works on concepts of projects and jobs, with projects encapsulating numerous jobs. Once a live project is chosen, the content creator is given four clickable steps, which reside in the monitor section of the screen real-estate, for easy access.
The first step is to choose between a live source or file source; clicking on one of the two options will then allow the choice of either a live video input or a pre-recorded file. Don't get confused by the option of pre-recorded files within a live project: these files can be cued up to play back at the beginning of the live encode, in much the same way that a bumper or teaser would play before a live television show.
For live sources, Microsoft suggests using Black Magic Intensity / Intensity Pro, ViewCast (Osprey 230, 530, 450e, 700HD), Winnov Videoum 4000 and WinTV HDV-950. EE 4 Pro also supports webcams, including those built in to laptop, for instance, or other USB-based webcams, including the HD Live camera manufactured by Microsoft and capable of 720p encoding.
Once a pre-recored file is cued-the second step which lets EE 4 Pro know which of the files it needs to start off with-then the third step is to choose an encoding type.
The encoding type can be chosen from a set of profiles / presets and then modified, if desired. Saving the profile for future use is advisable if additional similar encoding sessions will be performed.
For traditional encoding session, such as a traditional WindowsMedia encoding, which EE 4 Pro supports, the last step is to click the start button to start the encoding.
The distribution process
To distribute Live Smooth Streaming, or to stream to iOS devices, such as the iPad, iPhone and iPod touch, via adaptive bitrate, requires one extra step: creating or choosing a publishing point.
Creating the publishing point requires IIS Media Services. If you don't have IIS Media Services 4, or even IIS 7, don't panic. The new Web Platform Installation (Web PI) is a web installer that prompts for various downloads and automatically senses dependencies (additional applications, DLLs or the like) that need to be installed along with the chosen application.
When I chose to install IIS Media Services 4.0 beta, for instance, it loaded up the dependencies. Should a previous version of a dependency already exist on the target machine, dependencies will not be downloaded, but if an incompatible or out-of-date version exists, the Web PI will prompt you to download the more recent / compatible version.
Web PI will also download hotfixes or patches, for particular options, as it did when I chose to download Application Request Routing (ARR) portion of IIS 7 as a test.
A publishing point is essentially a web server that will deliver the HTTP stream of segments, once EE 4 Pro begins live encoding and parses a few of its two-second segments. Microsoft provides a free web server tool, in the form of Internet Information Services version 7 (IIS 7), that can serve as a publishing point.
IIS 7 and the accompanying IIS 7 Media Services 4, which is required for delivering ABR segments, can be downloaded to a local machine or, preferably, a separate machine that can focus strictly on delivery of the HTTP segments.
Microsoft makes it easy to put IIS MS 4 on an actual server, which I recommend if you're doing live field encoding. For our tests, we used a hefty laptop, a Windows 7 Ultimate 64 bit on an Alienware with an Intel Core i7 x940 (2.13 Ghz) with 8 GB of RAM, but the combination of Live Smooth Streaming and an on-board publishing point on the same machine was highly taxing to the laptop.
Windows Server 2008 R2, recently released, is available in three payment options: $469 to purchase outright, $10 per month for service providers, or in a free version. The free version is for three years, if a small business is using WebsiteSpark, a program offered by Microsoft for small businesses. If you don't want to spring for Windows Server 2008 R2, IIS MS 4 also runs on Windows Vista with SP1 and Windows 7.
After IIS 7 and IIS MS 4 are downloaded and installed, go back to EE 4 Pro and choose the publishing point. In the Sites folder, found in the left column, choose Default Web Site (or the name of a particular domain / website) and then find the Media Services section.
In my case, this section had 4 icons: Bit Rate Throttling, Live Smooth Streaming Publishing Points, Smooth Streaming Presentations, and Web Playlists.
Bit Rate Throttling is an IIS technology that can be used for media delivery, or for any other file type. Like its name, Bitrate Throttling is used to manage bandwidth at a server. It can handle this in two ways: first by sending only the bits your viewers watch, eliminating the delivery of an entire on-demand file if the user abandons partway through. Second, by throttling overall bandwidth at the server level, across all users, Bit Rate Throttling can keep the server's bandwidth allocation from coming close to maxing out.