LEADTOOLS Media Foundation C API Introduction (original) (raw)
Summary
The LEADTOOLS Media Foundation C API provides developers with a full range of tools required to create professional, high-quality multimedia applications.
The API adds multimedia functionality such as Capture, Play, and Convert, as well as the latest Media Foundation filters and multimedia file support.
It allows loading and converting many common file formats, such as AVI, OGG, FLV, WMA, WMV, MP4, MKV, 3GP, MP3, WAV, FLAC, MPEG-2, and others. It also allows converting to common media foundation file formats, such as AVI, WMV, MP4, MKV, 3GP, MP3, WAV, FLAC, MPEG-2, and Fragmented MP4.
Key Features
- Media Foundation Capture:
- Create applications that can capture from a wide variety of capture devices: native DirectShow and Media Foundation devices, HDTV, Video for Windows (VFW) devices, or the computer screen.
- Capture audio or video data to a file.
- Media Foundation Playback:
- Create applications that can play all formats supported by windows media foundation using the easy-to-use LEADTOOLS playback control.
- Play an audio, video, or multimedia sample.
- Play an audio, video, or multimedia file.
- Add optional processors during playback for real time processing such as deinterlacing, text overlay, rotating, etc.
- Media Foundation Conversion:
- Add features to your application so your users can convert to and from AVI, Windows Media content, and WAVE for output.
- Convert an audio, video, or multimedia file to another type of file.
- Convert using LEADTOOLS processors or your own 3rd party processors.
- Get and modify each video frame during conversion or allow the processor to modify the entire video.
- Automatically correct timestamps to produce correct output files. Converting files requires dealing with many types of files and video/audio codecs. Some of these files or codecs produce bad timestamps: LEADTOOLS can automatically handle this to produce correct output files.
- Media Foundation File Formats
- Add support for loading the most popular multimedia formats
* Audio Video Interleave (AVI)
* MP3 Audio (MP3)
* MPEG-2 Program and Transport streams
* OGG
* QuickTime (MOV)
* Waveform Audio File Format (WAV)
* Windows Media Formats (WMA, WMV)
* MPEG 4 (MP4, AAC, AVC)
* Flash (FLV, F4V)
* Matroska (MKV)
* Material Exchange Format (MXF)
* FLAC Audio (FLAC)
* 3GPP (3GP)
* PSP thumbnail - Add support for converting files to the AVI, WMV, MP4, MKV, 3GP, MP3, WAV, FLAC, MPEG-2, and Fragmented MP4 file formats.
- Add support for loading the most popular multimedia formats
- Media Foundation Compression
- Add support to your applications for compressing individual samples with any available Media Foundation filters.
- Specify which target video and/or audio formats to use, or let the toolkit suggest target video and/or audio formats appropriate for the desired file format.
- Design your own target format by picking a sink and target video and one or more audio formats.
- Media Foundation Processing
- Use the LEAD Video callback transform to use any of the 200+ LEADTOOLS image processing functions to process movies during playback, conversion, or capture.
LEADTOOLS Media Foundation SDK
The LEADTOOLS toolkit is flexible and gives you full control over the input, middle, and output samples:
- Input: Provide your own samples to the conversion/playback, instead of converting a source file.
- Middle: Access each sample being converted for additional processing (see the Callback C++ demo for an example).
- Output: Get each output sample and store it as needed.
Data can be input from:
- A media file
- A stream
- The application, one sample at a time
- A Media Foundation Transform created manually by the application
Data can be output to:
- A media file
- A stream
- The application, one sample at a time
- A Media Foundation Transform created manually by the application
Input streams can be complex, but once you set the stream URL as the source, the toolkit handles the rest. The output is handled in the same way: set the output to a URL and the toolkit will take care of streaming the data.
See Also
Reference
Media Foundation Output File Formats
LEADTOOLS Media Foundation Capture
LEADTOOLS Media Foundation Convert
LEADTOOLS Media Foundation Playback
Unlocking Special Media Foundation Features
LEADTOOLS Media Foundation Interfaces, Objects, and Codecs
LEADTOOLS Media Foundation Transforms
Media Foundation Function Groups
Media Foundation Filters and Codecs Requiring Additional Licensing
AVI (Audio Video Interleave), a file format defined by Microsoft, is the most common format for audio/video data on PCs. AVI files can have one or more video streams, and one or more audio streams. The video and audio streams can be compressed using various compressors (MCMP, JPEG, MCMW, MJ2K, H263, H264, MPEG-2, MPEG-1, MPEG-4, Vorbis, MP3, AC3, AAC, and many others). Each compressed file needs a decompressor to be played or converted. This means that even though two files have the same extension they may not be similar. You need to have both the audio and video decompressors to play back both streams.
Decompressor is also known as a decoder, this is a module or algorithm to decompress data.
Decoder is also known as a decompressor, this is a module or algorithm to decompress data.
WMV (Windows Media Video) is a file format developed by Microsoft. WMV files have audio and video streams. The video and audio streams can be compressed using various compressors (MCMP, JPEG, MCMW, MJ2K, H263, H264, MPEG-2, MPEG-1, MPEG-4, Vorbis, MP3, AC3, AAC,and many others). If you cannot play the file then you do not have the codec to decompress the file and the file cannot be converted.
Codec is a COmpressor combined with a DECompressor, or encoder and a decoder, which allows you to both compress and decompress that same data.
Encoder is also known as a compressor, this is a module or algorithm to compress data. Playing that data back requires a decompressor, or decoder.
The WAVE file format is used to store digital audio data in raw form and is a standard CD quality audio format that requires a large amount of memory (10 MB for 1 minute).
OGG is the name of Xiph.org's container format for audio, video, and metadata. Its default audio compressor is called Vorbis. Vorbis compression offers better quality than MP3 and yields a higher compression ratio. Ogg Vorbis is different from other formats because it is an open standard, open, and unpatented. OGG files can have one or more video streams and one or more audio streams. The video and audio streams can be compressed using various compressors (MCMP, JPEG, MCMW, MJ2K, H263, H264, MPEG-2, MPEG-1, MPEG-4, Vorbis, MP3, AC3, AAC and many others). Each compressed file will need a decompressor to be played or converted. This means that even though two files have the same extension they may not be similar. You need to have both the audio and video decompressors to play back both streams.
Flash Version 6 format files have the extension .FLV. They use the FLV multiplexer, H.263 video compression and MP3 audio compression
Flash Version 9 format files have the extension .MP4 or .F4V. They are also called "Flash HD" files and they use the ISO multiplexer, H.264 video compression and AAC audio compression.
MPEG (Moving Picture Experts Group) formats have the extension .mpg or .mpeg. MPEG files can have one or more video streams and one or more audio streams. The video streams are compressed using MPEG-2 compression scheme. The audio streams are compressed using the MPEG audio or AC3 compression scheme. Each compressed file needs a decompressor to be played or converted. This means that just because two files have the same extension they may not be similar. If you have an MPEG-2 video decoder you will be able to decode most MPEG-2 videos but since MPEG files can contains two types of audio, you may not be able to play all MPEG files unless you have both AC3 and MPEG audio decoders.
The ISO base media file format is defined in the ISO/IEC 14496-12 specification. It should not be confused with the ISO disk image used for CD and DVD images. The ISO base media file format is used in a variety of popular file  formats: MP4, 3GPP, QuickTime, Flash HD (H.264), AVC.