screen to avi?

I know about hypercam etc. but I would like to do something myself.

But how? is it a case of writing a video driver, or capturing each screen shot to disk and 'messing about' with it there?

Thanks in advance
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

This is something my company was concidering recently...  Unfortunately due to the huge amount of work involved they opted for Screencam and the Microsoft one (can't rememeber the name right now).

nils pipenbrinckCommented:
I think it's not really a big deal to write such a program.

you can put your screen capture program in background, get the device context of the screen (I guess it was zero.. but I'm not sure anymore) and capture ... say 10 images per second in a timer loop.

then you should do a fast compression thing (rle or something will work great for) and store the images on the harddisk.

later.. when the use wants to see the avi you can unpack the images and make a avi from them.

I'm not sure, but  I guess a utility which does exactly this is part of the microsoft developer tools.. I once played with it, but  I forgot the name.

There are a large number of programs which take individual image files and convert these to .avi files.  Probably the best among these is Adobe's Premiere, especially version 5.  One question you may want to consider has to do with the choice of software for generating the .avi file. This in turn, has to do with how good the resulting .avi file needs to be, and how much or how little you want to spend on a program to do this job. If this is for a semi-professional product, or for something a client needs, you ought to be thinking in the Premiere range.  If it's for a hobby-level need, please tell me and I'll assemble of list of programs in different price ranges for you.

Typically, to generate a high quality .avi file you need to start with a series of TARGA (".tga") files and use a program such as Premiere to "render" these out to the animation.

You also need to be concerned with the choice of CODEC compression you will use for the .avi file.  Some CODEC's are very efficient (they compress the resulting .avi file very much) and they produce a high quality result. BUT, if you're delivering an .avi file made with these codecs, your client or user may not have a modern codec installed on their machine, and your animation will not play, even though it is an .avi file.

The best thing to do is to go the the CODEC CENTRAL web site, and learn a little bit about codecs. This site explains each of the major types, gives their histories and has pointers to the sites where you may download each of them.  Personally, I prefer the latest Intel Ideo, which is in version 5, and also has an executable that you can send along with your animation, so that any client or any user can install the codec on their machine and play the animation. All users should, of course, have access the the best, latest cedecs, so you will help make the world just a little friendlier for everyone if you take this route.

You haven't really said what "screen" means.  Do you first need to automate the screen capture process ? Or, are you able to take individual screen captures and then assemble these into an .avi file ?

Depending on the answer to this question, the rest of it should sort of fall into place.  

#1 - What is meant by "screen" ?

#2 - How good an end product animation do I need to make, and what am I willing to spend on it?

#3 - Which Codec do I need to have installed on my machine, so that I can make a good product, and do I need to pass that codec onto any other potential users of my animation ?

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CompTIA Network+

Prepare for the CompTIA Network+ exam by learning how to troubleshoot, configure, and manage both wired and wireless networks.

ewocksAuthor Commented:
Thank you for a very 'full' response (and I'm sorry for not responding earlier). I have a 'screen capture' that works with VB6 already (it just takes a screen shot of the active window ), in addition I also have VB6 code to convert a list of .bmp's into an AVI. It's just a case of joining them up realy.

I suppose the more correct question would be ... is there a more elegant method,  like MPEG3 that just stores the area that has changed?

What I am realy after is the code to do this not 'just another' avi converter

I also am using the Intel compession
ewocks, the avi file format is such that it does not allow components that simply store the area of an image that has changed from one frame to another. For avi, it's just one frame after another. So, yes, your original question probably wasn't really the one you wanted to ask. (Not an uncommon experience for most of us.) So, ... does your end product really need to be in an avi file format? I can point you to sites with various avi code if this is the case. otherwise, you probably should start a new question thread. I think this one is pretty much done.
ewocksAuthor Commented:
Yes you are probably right, but I think I should persevere with AVI for the moment, if only to gain more experience - so your offer of some AVI code 'leads' is appreciated - and accepted. Thanks a lot.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Graphics Software

From novice to tech pro — start learning today.