Task: Create a DLL library or a Delphi class for decoding video files to separate video frames (in JPEG format) and audio frames.
Preferred language: Delphi. VC++ is allowed if the result is compiled as a DLL.
The class or function should get as incoming parameter:
- file name of an input file;
- video output details (output resolution, compression level(optional)),
- audio output format (bitrate, hz, stereo/mono, codec (optional: MP3 or PCM);
- the class should provide as a callback function access to audio and video frames.
- callback function execution should be synchronized with video framerate
- if the audio output is MP3, you need to provide a routine to play back this stream.
- third party libraries like FFMPEG may be used, but only if they allow distribution at least on LGPL basis;
- do not offer BASS library;
- if any other commercial third party components/libraries are assumed to be used, please confirm use with us.
- preferred video output format for the video frame: JPEG
- preferred audio output format: MP3. PCM is also allowed if MP3 is unavailable.
- should support input video formats:
*.MPG, *.MPEG, *.MP3, *.MP4, *.DAT, *.MOV, *.VOB, *.AVI, *.RM, *.RMVB, *.ASF, *.WMV