HandyAvi Software
A Handy AVI File Utility
(And its Free...)
For
an advanced version of HandyAvi with MANY
new features please visit:
http://www.AZcendant.com
Introduction
I used a ToUcam webcam to shoot AVI files of Mars in 2003 during its
close approach. I would shoot 1000 frames and process the results
with RegiStax. The size of the frames I was capturing were
640X480. Mars filled only one fifth of the frame at most.
RegiStax handled the frames but, because of the size of the frames, it
ran more slowly than it would have had the frames been smaller.
Also, it appeared to examine all frames during its operation. I
was unable to tell if it was able to sort the frames and simply deal
with a subset of the frames comprising the "best" frames. Turns
out that determining the "best" frames is an interesting problem in
itself. I also was faced with saving the Mars AVI files that I
made. I have something like 75 GigaBytes of Mars AVI files stored
now on DVD ROM. HandyAvi would have allowed me to crop those
files and store the planetary images in 15 GigaBytes. I also
could have selected the 100 best images from each AVI file,
created
new AVI files and submitted those files to RegiStax. RegiStax
would
then have run very quickly. I am looking forward now to taking
images of Saturn and Jupiter this winter and using HandyAvi and
RegiStax.
I wrote HandyAvi
to do the AVI file pre-processing. It allows me to
crop the images, select a bunch of the "best" images (or save all of
the images), and store them in a new AVI
file for long-term storage or subsequent processing by RegStax.
HandyAvi
currently allows you to:
- Read AVI files (including some of the newer "compressed"
AVI files.)
- Crop and save cropped AVI files
- View any frame of an AVI file
- Save any selected AVI file frame as a bmp file
- Sort AVI file frames according to image quality
- Select the image quality criterion (to minimize image
noise effects)
- View the image quality control’s effect on an image to help
choose its
value
- Save selected frames of an AVI file into a new AVI file
- Handle some newer compressed AVI files if you have DirectX
installed
HandyAvi has a help file with a tutorial. Please see the help
file.
Example: Best and worst images as determined automatically by
HandyAvi from a 1000 frame AVI clip taken on 25 Dec 03:
Best
Worst
Download free version: SetupHandyAvi1.7.exe
(3302
KB)
Notes:
Version 1.7 - 22 Feb 04
1. Frame selection was still selection on "selected"
frames instead of "checked" frames. Corrected.
2. Discovered and corrected potential problem with single-frame
AVI files read with DirectX.
Version 1.6 - 22 Feb 04
1. Revised behavior of Frame Selector item selection
subsystem. Please see the tutorial in the help file to see how to
select/unselect blocks of items.
2. Deinterlacing preference setting was not being recalled
properly when the program was invoked. Corrected.
Version 1.5 - 24 Jan 04
1. This version will work for "standard" AVI files whether or not
you have DirectX installed. It determines whether DirectX is
available and uses DirectX methodology if it is present. If it is
not present, it reverts to using an older methodology for handling AVI
files. For newer AVI files containing compressed images, you will
need to have DirectX version 9 or better installed. (See
http://www.microsoft.com/downloads/ to obtain a current version of
DirectX. It is free.) No one has yet sent me any AVI
sample files that cannot be handled by the current version of HandyAvi
with DirectX installed. Please do send me one if you have one...
2. Added support for deinterlacing interlaced images. The
ToUcam does not produce interlaced images but there are some cameras
out there that do. (Note cautions in the HandyAvi help file under
the Tutorials/Preferences: Interlaced Video Images.)
3. Improved rectangle selection box algorithm so that the
rectangle can be created by setting any corner and dragging to any
other corner. (Previously, it was requiring the upper left hand
corner to be set and then the lower right-hand corner.)
Version 1.4 - 18 Jan 04
1. Added support for reading compressed AVI files.
This should allow you to convert files to a "standard" uncompressed
form so they can be read with other software programs such as
Registax. I totally reworked the AVI file-read subsystems
to allow these "other" types of AVI files to be read. HandyAvi
still outputs "standard" AVI files. Much thanks to "Russ"
who kindly responded to my request for one of these "other" types of
AVI files to use in testing. HandyAvi will now read Russ's
files. No one else responded so I hope the changes I made will
handle all common "other" types of AVI files...
2. General cleanup of file requesters, error handling for illegal
or ill-formed files, etc. Program should now be a little more
"robust". However, I am leaving Version 1.3 out there just in
case. I made massive
changes to the subsystems involved in reading AVI files.
3. DirectX Dependency - This
version, unlike previous versions, requires that the Microsoft DirectX
system be present on your machine when you try to read an AVI
file. DirectX is normally present within Windows operating
systems such as Windows 2000 and Windows XP. HandyAvi was
compiled with DirectX 9.0. You can obtain DirectX from
http://www.microsoft.com/downloads/. The download there will
update your system to the current version of DirectX. (I had
thought when I put this version out that HandyAvi was completely
self-contained. Then I learned of its dependency on
DirectX. Time permitting, I will modify HandyAvi so that if you
do
not have DirectX, it will revert to another method of handling AVI
files that does not depend on DirectX. I fear at the moment that
HandyAvi might shut down if you do not have a current version of
DirectX installed. I did not see that behavior on my machine
since I, of course as part of my software development environment, have
a current version of DirectX installed on my machine.)
Note: I have run HandyAvi on a machine with DirectX 8.1 and it
worked for "standard" AVI files but would not read the compressed file
I've been using as a test case. Compressed files will require
DirectX 9. When I tried HandyAvi in a Windows 98 SE environment
with DirectX 6, nothing worked...
Version 1.3 - 09 Jan 04 (This version does
not require Microsoft's DirectX)
Received a report that HandyAvi was changing the file
association of .avi files to "HandyAvi.document". Traced to a bug
in Microsoft's Visual Studio 2003 rendition of the MFC routine RegisterShellFileTypes where
they changed an "= =" to a "!=" in a line of code. The Microsoft
code used to say, in effect: "if the file type your program is
using is registered to you, go ahead and update the file
associations." The code now says, in effect: "if the file
type your program is using is NOT registered
to you, go ahead and update the file associations." Further
testing shows that this was happening every time the program was
run. Calling RegisterShellFileTypes is part of the Microsoft
generated code. I commented it out so no file association
operations whatsoever should now be performed by HandyAvi. Your
existing file associations should now be safe and HandyAvi should no
longer change them. Microsoft has been notified regarding this
bug in their MFC code and presumably will correct it at some point in
the future. In the meantime, any program
compiled with Visual Studio 2003 is likely to have this problem...
Version 1.2 - 11 Dec 03
Received Email that the "File Save" dialog window for saving .bmp files
was actually a file open window. The bmp files were being saved
with a default suffix of .avi. They were actually .bmp files but
they really should have the .bmp suffix. Corrected these problems.
Version 1.1 - 9 Dec 03:
Received a report that "MFC70.DLL" could
not be found. Immediately realized I had not set the compiler
switch "Use MFC in a static library". Unfortunately the
default is to not set the switch so the program looks for this DLL and
others on your machine. If you were lucky and had this DLL
already then everything was cool. If you didn't, then the program
would not execute. I changed the compiler switch, recompiled, and
posted version 1.1 which should now run everywhere since it is entirely
self-contained. Sorry for any inconvenience...
Version 1.0 - 7 Dec 03:
I was surprised to learn that nearly all AVI file-handling software
cannot handle AVI files bigger than approximately 2 GigaBytes. I
see that the ToUcam camera is capable of creating larger files but, so
far, I don't see a way to handle them in HandyAvi. So far, this
has not been a problem for me... Let me know if you have a
solution that you would be willing to share.
Copyright 2003 Howard C.
Anderson
RETURN TO
HOME PAGE