Advanced
Systems Format (formerly Advanced
Streaming Format) is Microsoft's proprietary
digital audio/digital video container format, especially
meant for streaming media. ASF is part of the Windows
Media framework.
The
format does not specify how the video or audio should
be encoded, but instead just specifies the structure
of the video/audio stream. What this means is that
ASF files can be encoded with basically any audio/video
codec and still would be in ASF format. This is
similar to the function performed by the QuickTime,
AVI, or Ogg formats. One of the objectives of the
ASF format was to support playback from digital
media servers, HTTP servers, and local storage devices.
The
ASF format is based on serialized objects which
are essentially byte-sequences identified by a GUID
marker.
The
most common filetypes contained within an ASF file
are Windows Media Audio (WMA) and Windows Media
Video (WMV).
ASF
files can also contain objects representing metadata,
such as the artist, title, album and genre for an
audio track, or the director of a video track, much
like the ID3 tags of MP3 files.
Files
containing only WMA audio can be named using a .wma
extension, and files of only audio and video content
may have the extension .wmv. Both may use the .asf
extension if desired.
Certain
error-correcting techniques related to ASF are patented
in the United States (United States Patent 6,041,345
Levi, et al. March 21, 2000) by Microsoft. Although
the format is publicly documented by Microsoft,
its license limits implementations to closed-source
development projects only. Interestingly, Apple's
iTunes software now has the capability to convert
WMA files to any iTunes supported format.[1]
The
ASF container provides the framework for digital
rights management in Windows Media Audio and Windows
Media Video. An analysis of an older scheme used
in WMA reveals that it is using a combination of
elliptic curve cryptography key exchange, DES block
cipher, a custom block cipher, RC4 stream cipher
and the SHA-1 hashing function.
ASF
files have MIME type application/vnd.ms-asf or video/x-ms-asf.
(Advanced Stream Redirector (ASX) files also have
MIME type video/x-ms-asf.)
The
ASF container is usually streamed on the net through
Microsoft's proprietary MMS protocol.