Introduction
An .ism file is the server manifest of Microsoft Smooth Streaming. It sits
on the streaming server next to the media files and tells the server which files hold
which tracks at which bit rates. Players never read it directly: they ask for the
address of the .ism file followed by /Manifest, and the
server answers with the client manifest.
The media sits in fragmented MP4 files with the extensions .ismv for video
(often with audio) and .isma for audio only. Servers such as Unified
Streaming also use .ism files to serve the same media as HLS and
MPEG-DASH.
Structure
The server manifest is a SMIL 2.0 XML document. The head holds
meta elements, such as the name of the client manifest. The
body holds a switch element with one video or
audio element per encoding. Each one names its media file in
src, gives its bit rate in systemBitrate, and identifies the
track inside the file with a param named trackID.
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
<head>
<meta name="clientManifestRelativePath" content="film.ismc"/>
</head>
<body>
<switch>
<video src="film_3000.ismv" systemBitrate="3000000">
<param name="trackID" value="1" valuetype="data"/>
</video>
<audio src="film_3000.ismv" systemBitrate="128000">
<param name="trackID" value="2" valuetype="data"/>
</audio>
</switch>
</body>
</smil>
Links
Software
- Unified Streaming, a streaming server driven by
.ismfiles - IIS Media Services, Microsoft’s original Smooth Streaming server (Windows)
Reference
- [MS-SSTR] Smooth Streaming Protocol, Microsoft