How to convert bitmaps to video?

后端 未结 3 1476
北恋
北恋 2020-12-28 19:31

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

相关标签:
3条回答
  • 2020-12-28 19:33

    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.

    0 讨论(0)
  • 2020-12-28 19:42

    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.)

    0 讨论(0)
  • 2020-12-28 19:56

    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';
    

    enter image description here

    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.

    0 讨论(0)
提交回复
热议问题