Smooth Streaming Module for IIS 7
Dependencies
The IIS module depends on the multithreaded, dynamic link libraries MSVCP90.DLL (The C run-time library) and the Standard C++ Library (MSVCP90.DLL). If by any chance you do not have these yet on your machine, then you can install the Microsoft Visual C++ 2008 SP1 Redistributable Package (x86).
The Microsoft URL Rewrite Module 1.1 for IIS 7 (x86) adds support for URL rewriting.
Download
Download the Smooth-Streaming-Module native module for IIS 7.
Download the command line utility mp4split. This tool converts MP4 files to Fragmented MP4 and also creates the necessary manifest files.
Configuration IIS 7 (Windows Vista)
By default, IIS 7.0 is not installed on Windows Vista. You can install IIS by clicking Windows Features in Advanced Options under Programs in Control Panel.
When running Windows 32 bit:
- Create an App_Code folder, if you don't already have one, in c:\inetpub\wwwroot.
- Copy the Mod-H264-Streaming module (mod_h264_streaming.dll) into this directory (c:\inetpub\wwwroot\app_code).
When running Windows 64 bit:
- Enable 32 bit applications on win 64. See: IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes.
- Copy the Mod-H264-Streaming module (mod_h264_streaming.dll) into either (%windir%\syswow64\inetsrv) or (%windir%\system32\inetsrv) depending on your windows version.
Open up IIS Manager.
- Select 'MIME types'.
- Select 'Add'.
- Set 'File name extension' to '.ismc' and 'MIME type' to 'text/xml'.
- Click 'OK'.
- Select 'Modules'.
- Select 'Configure Native Modules'.
- Select 'Register'.
- Set 'Name' to 'ModSmoothStreaming'.
- Set 'Path' to the path where the mod_smooth_streaming.dll is located (c:\inetpub\wwwroot\App_Code\mod_smooth_streaming.dll).
- Click 'OK'.
- Click 'OK' again.
- Select Handler Mappings.
- Select 'Add Module Mapping'.
- Set 'Request Path' to '*.?sm/*.ism'.
- Set 'Module' to 'ModSmoothStreaming'.
- Set 'Name' to 'ModSmoothStreaming'.
- Click 'Request Restrictions'.
- Set 'Mappings' to 'Invoke handler only if request is mapped to file'.
- Set 'Verbs' to 'All verbs'.
- Set 'Access' to 'Execute'.
- Click 'OK'.
- Click 'OK' again.
The module now appears under the 'Enabled' Handler Mappings.
- Click 'Add rules'.
- Select 'Blank rule' and click 'OK'.
- Edit Rule
- Name: SmoothStreamingManifest
- Matches the pattern, Using regular Expressions.
- Pattern: ^(.*/)?(.*)\.([is])sm/[Mm]anifest(.*)$
- Rewrite URL: {R:1}{R:2}.{R:3}sm/{R:2}.ismc
- Deselect 'Append query string'
- Select 'Stop processing of subsequent rules'
- Click 'Apply'.
- Click 'Back To Rules'.
- Click 'Add rules'.
- Select 'Blank rule' and click 'OK'.
- Edit Rule
- Name: SmoothStreamingFragments
- Matches the pattern, Using regular Expressions.
- Pattern: ^(.*/)?(.*)\.([is])sm/QualityLevels\(([0-9]+)\)/Fragments\((.*)=([0-9]+)\)(.*)$
- Rewrite URL: {R:1}{R:2}.{R:3}sm/{R:2}.ism?bitrate={R:4}&{R:5}={R:6}
- Deselect 'Append query string'
- Select 'Stop processing of subsequent rules'
- Click 'Apply'.
- Click 'Back To Rules'.
After restarting your web server, you can continue with verifying your setup.
License
This version is free if you agree to the noncommercial license. Please mention its use on your website, in the lines of 'This website uses video streaming technology by CodeShop'.
Our commercial license is very inexpensive, see the following page to check if you need a commercial license.
Feedback
If you have any questions, thoughts or ideas on Smooth Streaming you can leave a message on our forum.
