My application creates images from fractals and I love the feeling of \'flying\' around a fractal. I once saved about 2000 bitmaps to file and created an AVI from it using P
I have used Mitov's video library with great success on tasks like the one you describe. It's free for non-commercial use, and you can download a copy to play with. And, it's amazingly fast. If you're on an Intel chip, it uses the Intel IPP library to squeeze the most out of whatever your CPU architecture is. http://software.intel.com/en-us/articles/intel-ipp/#support
I'm continually blown away by the power of this multi-tasking library. I've posted about it before, and it may seem like I'm a paid employee for them, but I'm not. I'm just astonished at how lucky (yes, lucky) I was to select this library for a major project. It's never let me down. Some things are worth paying for, and the Mitov libraries are one of them. Good code, frequent updates, and rapid support right from the developers when necessary.
Be sure to check out Mitov's sample programs, while will give you a good idea of how it works.
Here's the site: www.mitov.com
Sorry I don't have any source I can share.
There's actually a really easy way to do this using ffmpeg without any code at all. Simply name all your image files something like:
image-0001.png
Then use ffmpeg to bundle them up into a video:
ffmpeg -i 'img-%04d.png' -r 10 out.avi
(-r
is the output frame rate.)
Change the import part of the AVISaveV function to the Unicode version of it. When the function in the Windows API reference has the note Unicode and ANSI names
it means for you, in Delphi, you have to choose either from the Unicode version of the function or from the ANSI one depending on what compiler will you use.
You're trying to call the AVISaveV
, which physically doesn't exists. There's only AVISaveVA
and the AVISaveVW
in avifil32.dll
and since you want to convert this code to Unicode, try to change the function import this way:
function AVISaveV; external 'avifil32.dll' name 'AVISaveVW';
This is just a first thought, the code with the definition like was cannot work even in non Unicode versions of Delphi, because it called the not existing function.