LEADTOOLS SDKs offer a full range of multimedia technologies for developers including flexible playback functionality.
Overview of LEADTOOLS DirectShow Filters Technology
The LEADTOOLS Multimedia SDK can utilize and control many DirectShow filters such as encoders, decoders, multiplexers, demultiplexers, sources, and sinks. DirectShow filters are multimedia components that can be used to compress, decompress, process, enhance or stream video and audio data.
Below is a link to the Multimedia product comparison chart. It lists all of the LEAD DirectShow filters and indicates which licensed filters are included with various LEADTOOLS products. LEADTOOLS Multimedia includes evaluation versions of all DirectShow filters that may be used for development and testing.
Chart of Features and DirectShow Filters
What is DirectShow
Microsoft® DirectShow® is an extensible, filter-based framework, based on the Microsoft® Windows® Component Object Model (COM), that provides a common interface for media across many of Microsoft's programming languages. It can render or record media files on-demand by the user or developer. DirectShow also contains DirectX® plug-ins for audio signal processing, and DirectX Video Acceleration for accelerated video playback. Most video-related Windows applications, such as Microsoft's Windows Media Player, Winamp, and Windows Movie Maker, use DirectShow to manage multimedia content.
Since the entire concept of rendering, converting, and capturing files in DirectShow in based on filters and filter graphs, it is important to understand the role of each filter.
Source filter. This is usually the first filter in the graph. It is responsible for reading the input data. The data may come from a file on disk, a network, or any other method.
Demultiplexer. This filter is responsible for splitting the media streams. It is usually connected to the source filter. For example, the filter input might be the actual file or network stream, while the output would be separate audio and video streams.
Video / Audio Decoder. These filters handle the actual decoding or decompression. They do not demultiplex, so data should be demultiplexed before it is passed to the decoder. Therefore, they are usually connected to the demultiplexer 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 filters 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 filters 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.
Multiplexer. This filter is responsible for joining media streams. Input is usually compressed data from an audio/video encoder. The output is a single stream containing both video and audio data.
Sink Filter. These filters are usually the last filters in the graph. They can 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. These are usually custom filters 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 Filter, used to resize a video stream. Usually, these filters only handle uncompressed data, so they would be inserted in the filter graph before the encoder or after the decoder.
|