Microsoft Advanced Streaming Format

From MultimediaWiki
Jump to navigation Jump to search

Advanced Stream Format is a container format designed by Microsoft to support audio and video playback from a variety of sources including both local playback and Internet delivery. The format is designed to allow playback to commence without the compete file being available. This makes it suitable for Internet use where playback can begin soon after download commences or for PVR-type functions such as pausing live TV.

The container can be used to hold a variety of video and audio codecs but it is most commonly used for the WMV and WMA codecs. Other streams such as subtitles can also be included in the format. ASF filenames typically have an extension of 'wmv' or wma'.

The format supports inclusion of meta-data such as the name of video clip, title of the song etc. Support for DRM is also provided.

There are 2 versions of ASF.

1.0, the used and unpublished format.

http://avifile.sourceforge.net/asf-1.0.htm

And 2.0 the published unused format.

http://www.microsoft.com/windows/windowsmedia/format/asfspec.aspx

Data Format

ASF files consists of a header object that contains meta data and stream definitions, followed by a sequence of data packets which are all the same size and finally a variety of optional index objects.

It is not obvious from examining raw ASF data but the files are organized according to the same chunked paradigm that many multimedia container formats use. However, rather than using FourCCs and 32-bit length fields to delimit the chunks, ASF files use 128-bit (16-byte) globally unique indentifiers (GUIDs) and 64-bit lengths.

Each data packet in the format can consist of one or more sub-packets often referred to as payloads. Payloads within a data packet can be from different streams. A single video frame can be spread across multiple payloads and can also span accross more than one data packet.