LEADTOOLS Media Foundation Transforms
LEADTOOLS SDKs offer a full range of multimedia technologies for developers including flexible playback functionality.
Overview of LEADTOOLS Media Foundation Transform Technology
The LEADTOOLS Multimedia SDK can utilize and control many Media Foundation transforms such as encoders, decoders, sources, sinks and processors. Media Foundation Transforms are multimedia components that can be used to compress, decompress, process, enhance or stream video and audio data.
The Multimedia product comparison chart lists all of the LEAD Media Foundation Transforms and indicates which licensed transforms are included with various LEADTOOLS products. LEADTOOLS Multimedia includes evaluation versions of all Media Foundation Transforms that may be used for development and testing.
What is Media Foundation?
With the release of Windows Vista, Microsoft Media Foundation was introduced as the eventual replacement of DirectShow. It features many enhancements and improvements audio and video playback quality, high definition content, hardware acceleration and more. Like its predecessor, Media Foundation is a COM-based multimedia framework whose primary object model is based upon Media Foundation Transforms (MFTs) to do the processing work.
What are Media Foundation Components?
Since the entire concept of rendering, converting, and capturing files in Media Foundation in based on components and transforms, it is important to understand the role of each component within the topology.
Media Source. This is usually the first filter in the topology. It is responsible for reading the input data and splitting the media streams. The data may come from a file on disk, a network, a hardware device, or any other method. Each media source contains one or more streams, and each stream delivers data of one type, such as audio or video.
Video / Audio Decoder. These transforms handle the actual decoding or decompression. They do not demultiplex (split), so data should be demultiplexed before it is passed to the decoder. Therefore, they are usually connected to the media source output. For example, the video decoder input might be a compressed video stream such as MPEG2, and the output could be raw video data.
Renderer. These components are used to actually render data. Data could be audio, video, or both. For example, when playing a media file with both audio and video, a video renderer would handle displaying the video on the screen, and an audio renderer would handle directing the audio data to the sound device. The input of the renderer is usually uncompressed data coming from the decoder.
Audio / Video Encoder. These transforms are used to compress data, audio or video. The input is usually uncompressed audio or video data, and the output is the compressed version of the same data.
Media Sink. These components are usually the last transforms in the topology. They are responsible for joining media streams and handle writing the data to disk to create a media file, or they can send the data to some other location, such as over a network.
Video / Audio Processor (Transform). These are usually custom transforms used to perform some type of data processing or generate some type of event. LEAD has created many video and audio processors, such as the Video Resize Transform, used to resize a video stream. Usually, these transforms only handle uncompressed data, so they would be inserted in the topology before the encoder or after the decoder.