Windows Media Format 11 SDK
This documentation describes the Microsoft Windows Media Format Software Development Kit (SDK) and applies to the 32-bit and x64-based versions of the SDK.
The Windows Media Format SDK is a component of the Microsoft Windows Media Software Development Kit (SDK). Other components include the Windows Media Services SDK, Windows Media Encoder SDK, Windows Media Rights Manager SDK, Windows Media Device Manager SDK, and Windows Media Player SDK.
The Windows Media Format SDK provides application developers with access to the components of the Windows Media Format. These components include the Advanced Systems Format (ASF) file container, the Windows Media Audio and Video codecs, basic network streaming capability, and digital rights management. The objects of the Windows Media Format SDK manipulate the components of Windows Media at a low level; the other components of the Windows Media SDK include objects that work on a higher level.
The primary purpose of the Windows Media Format SDK is to enable developers to create applications that play, write, edit, encrypt, and deliver Advanced Systems Format (ASF) files and network streams. These files and streams commonly contain audio and video content encoded using the Windows Media Audio and Video codecs. However, ASF can contain any type of data. For more information about the Advanced Systems Format container structure, see Overview of the ASF Format.
The key features of the Windows Media Format SDK are:
- Support for industry-leading codecs. The Windows Media Format 11 SDK includes the Microsoft Windows Media Video 9 codec and the Microsoft Windows Media Audio 9.1 codec. Both of these codecs provide exceptional encoding of digital media content. New for this release is the Windows Media Video 9 Advanced Profile codec, which provides optimizations for broadcast video. This SDK also includes the Microsoft Windows Media Video 9 Screen codec for compressing computer-screen activity during sessions of user applications, and the Windows Media Audio 9.1 Voice codec, which encodes low-complexity audio such as speech and intelligently adapts to more complex audio such as music, for superior representation of combined voice-music scenarios.
- Support for writing ASF files. Files are created based on customizable profiles, enabling easy configuration and standardization of files. This SDK can be used to write files in excess of 2 gigabytes, enabling longer, better-quality, continuous files.
- Support for reading ASF files. This SDK provides support for reading local ASF files as well as reading ASF data being streamed over a network. Support is also provided for many advanced reading features, such as native support for multiple bit rate (MBR) files, which contain multiple streams with the same content encoded at different bit rates. The reader automatically selects which MBR stream to use, depending upon available bandwidth at the time of playback.
- Support for delivering ASF streams over a network. This SDK provides support for delivering ASF data through HTTP to remote computers on a network, and also for delivering data directly to a remote Windows Media server.
- Support for editing metadata in ASF files. Information about a file and its content is easily manipulated with this SDK. Developers can use the robust system of metadata attributes included in the SDK, or create custom attributes to suit their needs.
- Support for content editing applications. This SDK enables applications to seek to points within a file by presentation time and by video frame. In addition, files created by using the Windows Media Format SDK can maintain timestamps in formats used in film and television production.
- Support for reading and editing metadata in MP3 files. This SDK provides integrated support for reading MP3 files with the same methods used to read ASF files. Applications built with the Windows Media Format SDK can also edit metadata attributes in MP3 files using built-in support for the most common ID3 tags used by content creators.
- Support for Digital Rights Management protection. This SDK provides methods for reading and writing ASF files and network streams that are protected by Digital Rights Management to prevent unauthorized playback or copying of the content.
To download the Windows Media Format SDK, see the Windows Media Downloads page at the Microsoft Web site.
This document describes how you can develop digital media applications using the Windows Media Format SDK. It is divided into the following sections.
Although this document contains information about the latest version of the Windows Media Format SDK, most of the features it describes are supported by older versions of the SDK. Reference pages for the methods, functions, structures, and enumerations of the Windows Media Format SDK include version requirements.
Windows Media Format SDK Sample Applications
The sample code supplied with this SDK is in the form of projects for Microsoft Visual Studio 2005. Most of the samples are in C++, but ManagedWMFSDKWrapper and ManagedMetadataEdit require C#.
These samples will not work unless the Windows Media Format SDK or the Windows Player SDK has been installed.
Usage information for each sample is contained in a readme.txt file in each sample directory.
Samle | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AudioPlayer | Plays Windows Media files including DRM-protected files. It is controlled through a GUI, and commands include Play, Pause, Seek and Stop. It can play local files or files read from the Internet (including those output to the Internet by using the WMVNetWrite sample).
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DRMHeader | DRMHeader is a console application that uses the metadata editor’s IWMDRMEditor interface to read DRM attributes of files without linking to the DRM static library.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DRMShow | DRMShow is a console application that shows how to read DRM properties of a Windows Media file using the IWMDRMReader::GetDRMProperty method.This sample demonstrates the use of the IWMDRMReader::GetDRMProperty method and the properties that can be retrieved from the DRM reader. It does not demonstrate how to acquire a license for DRM-protected content. This sample requires the DRM stub library WMStubDRM.lib to build.
When you acquire the WMStubDRM.lib from Microsoft, the library is assigned an application security level. If the security level of the library you receive is not sufficient to play a protected file, this sample will display an error. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DirectShowInterop/DSCopy | Transcodes one or more files to an ASF file using the DirectShow WM ASF Writer filter. The input file may be any compressed or uncompressed format supported by DirectShow. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DirectShowInterop/DSPlay | This sample is an interactive audio/video media file player with DRM support. It uses DirectShow’s WM ASF Reader filter to play Windows Media files (ASF, WMA, WMV) without DRM protection and files which use DRM at a level of 100 or below. See readme.txt in the sample’s directory for more information. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DirectShowInterop/DSSeekFm | This sample demonstrates how to use the DirectShow WM ASF Reader Filter to play ASF content in a DirectShow filter graph, and also how to use the frame seeking support in the Windows Media Format SDK. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Managed/WMFSDKWrapper | This managed assembly serves as a wrapper used by managed-code samples for accessing some metadata interfaces of this SDK. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Managed/MetadataEdit | This C# application can be used to view and edit metadata from Windows Media files. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MetaDataEdit | This is a C++ version of the Managed MetadataEdit application. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReadFromStream | This console application sample shows how to read data from IStream with WMReader. IStream source has been implemented to use a file in Windows Media Format (WMA/WMV/ASF).
Windows Media Format SDK FunctionsThe Windows Media Format SDK includes functions for creating objects, and helper functions to simplify some procedures. This SDK supports the following functions for initial creation of objects. If an object is not listed below, you must create it using an interface from another object. For more information, see Objects.
The following functions provide convenient shortcuts for analyzing files. Windows Media Player SDKThis documentation describes the Microsoft Windows Media Player Software Development Kit (SDK). The Windows Media Player SDK is one of the components of the Microsoft Windows SDK. Other media components include the Microsoft Media Foundation SDK, the Microsoft Windows Media Format SDK, and the Microsoft Windows Media Services SDK. The Windows Media Player SDK documents programming technologies that can be used to extend the capabilities of Windows Media Player and Windows Media Player Mobile. These technologies are documented in the following sections:
Installing the Windows SDK does not install Windows Media Player or Windows Media Player Mobile. You must have Windows Media Player installed to use the material in this SDK. Windows Media Player Mobile is a part of Windows Mobile, which is available only on a Pocket PC or Smartphone supplied by a device manufacturer or mobile operator. |