A VCL-based Delphi-class to encode a series of bitmaps and video-clips together with an audio file to video using the Windows Mediafoundation-API.
The encoding class TBitmapEncoderWMF can be found in Source\uBitmaps2VideoWMF.pas. It is designed to be an easy to use interface to the Mediafoundation-API, requiring only basic knowledge about video-processing.
Requires:
- The MF-API-headers available at https://github.com/FactoryXCode/MfPack. Download the repository and add its folder "src" to your library path. There is no need to install any package.
- Thanks to FactoryXCode for the headers and samples!
Supported file formats and codecs:
Output:
Presently only .mp4 with H264 or H265(HEVC)-codecs. Hardware encoding is enabled if supported. Audio is encoded to AAC.
Input:
Theoretically anything that Windows has a decoder for should work as input for video or audio. Exception: Audio sample
rate must be 44100 or 48000. Practically some file formats (like .vob) don't seem to be fully supported. Try them
in the demo. Rule of thumb: What Films & TV will play, works.
Usage:
Add the 4 files in the Source-directory to your project and the uses-clause of any unit using the encoder. The methods of the encoder-class are explained in the interface section of uBitmaps2VideoWMF.pas. To see examples of usage, run the demo-project DemoWMF in the Demo-folder.
Delphi-Versions:
Developed under Delphi 11.3. Supported Delphi versions are XE7 and above. Records with methods, anonymous procedures, interposer classes, tasks and TWicImage need to be available.
Runtime Requirement:
To be able to use all encoding features, Windows 10 20H2 or higher is required.