AVI animation creator, AVI dumper/patcher

0. Contents

This is the documentation of animmaker-0.5.0.
   1. Purpose
   2. Usage
   3. Povray example
   4. Limits
   5. TGA is not bad (tip!)
   6. Nonlimits
   7. Under development
      7.1. Streamability
      7.2. Multiple stdins
   8. To do
   9. Copying
   10. Contribute!
   11. Requirements
   12. Installation
   13. Downloading

1. Purpose

Creates an unindexed raw AVI from a list or stream of uncompressed Targa files (the ones generated by POV-Ray are accepted perfectly).

After having a raw AVI file generated by animmaker, you can encode it to DivX with MPlayer, like this:

mencoder foo.avi -o foo2.avi -divx4opts br=800:q=5:key=25
Or if you prefer libavcodec instead of divx4linux and two-pass encoding (enhances the quality/size ratio), you can do it like this:
mencoder foo.avi -o foo2.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq:vpass=1
mencoder foo.avi -o foo2.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800:vhq:vpass=2
Refer to the mencoder documentation to see how you can add audio, use different codecs, tune the compression parameters etc. Note that not all codecs support two pass encoding, which is completely optional anyway.

From Arpi <arpi@...>
Date: Mon, 11 Nov 2002 15:32:59 +0100
Subject: animmaker+mencoder
 
Hi,
 
did you notice that mencoder can encode from TGA sequence directly? :)
('-mf on *.tga' or even '-mf on file%03d.tga' too)
 
<..>
Oops. Didn't know that :P
But since I implemented the tga streaming, this program regained its usefulness.

2. Usage



The program uses the colour depth and pixel resolution of the first
image in the sequence (autodetected) as the parameters of the whole animation.

3. Povray example

This is an example of making an animation in povray as DivX.
$ cat >animmakerdemo.pov <<EOF
plane { y,-1 pigment { checker rgb 1, rgb .5 } }
sphere { 0,1 pigment { rgbf .8 } finish { specular 0.3 ambient 0.3 } interior { ior 1.3 } }
camera { location x*10 look_at 0 angle 35            rotate y*360*clock    }
light_source { 0, 1 fade_power 2 fade_distance 10
               looks_like { sphere { 0,0.2 pigment { rgb 1 } finish { ambient 1 } } }
               translate <6,1,0> rotate y*360*clock*-4
             }
EOF
$ povray +w320 +h200 +kff300 +ft +ianimmakerdemo.pov
$ animmaker -f20 -oanimmakerdemo.avi animmakerdemo???.tga
$ mencoder animmakerdemo.avi -o animmakerdemo1.avi -ovc lavc -lavcopts vbitrate=400:vpass=1
$ mencoder animmakerdemo.avi -o animmakerdemo2.avi -ovc lavc -lavcopts vbitrate=400:vpass=2
(See options for divx4linux in the previous section if you don't like libavcodec)
Result is a nice looping animation (link removed due to bandwidth concerns).
(Time for render total: 357 seconds; time for encode total: 239 seconds.)

If you wish to include audio with your animation, you can either use --audio option in animmaker or add -audiofile <filename> to your mencoder commandlines.
See the manual pages of each programs regarding the use of them.

4. Limits

5. TGA is not bad (tip!)

If you have jpeg files instead of tga, no problem!
Have ImageMagick installed, and do this:
for s in *.jpeg;do convert ./"$s" tmp.tga;cat tmp.tga;done | animmaker -Y -o tmp.avi -

This will produce an avi from jpeg files.

6. Nonlimits

7. Under development

This is my program! I make what I want! :)
So these features are mostly for my own use, but it might be worth documenting them. Here goes...

7.1. Streamability

I'm working on streamability.
This works:
cat *.tga \
| animmaker -o- -f25 - \
| mencoder - -o tmptmp.avi -ovc lavc -lavcopts vbitrate=400:vhq
What use can this be for?
Well, now programmers have a nice way to produce compressed video clips by simply popen'ing that kind of command.
Now, as mencoder doesn't support named pipes or multiple stdins, see the next item.

7.2. Multiple stdins

So if you want to give the tga stream and audio both from stdin, try this:
cat *.tga | animmaker -otest.avi -f25 - '-a-#3' 3<test.raw
Okay, the syntax isn't pretty, but it works :)
-a-#3 here means "read audio from file #3", and 3<test.raw tells the shell that test.raw should be redirected into file #3 of animmaker.
The same syntax also works for the tga stream fd and output filename.
What use can this be for?
Well, you can use this feature to stream audio and video simultaneously, if you are a developer.

8. To do

These features might be implemented some day:

9. Copying

animmaker has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the terms of the General Public License (GPL).
Some features contributed by Warp.

If you happen to see this program useful for you, I'd appreciate if you tell me :) Perhaps it would motivate me to enhance the program.

10. Contribute!

You can contribute! My email address:eJoelt@1d/@/bs Ylit@@ceR.g.eluomwqa <bilev1gbisqwixzwl/41it@ikfsi.fi>

11. Requirements

GNU make is probably required.

12. Installation

$ make
$ su
# make install
If you do not want to install libargh (included in the archive), do not use "make install" and edit Makefile and enable the STATIC linking instead of DYNAMIC.

13. Downloading

The official home page of animmaker is at http://iki.fi/bisqwit/source/animmaker.html.
Check there for new versions.

Generated from progdesc.php (last updated: Thu, 14 Oct 2004 04:30:46 +0300)
with docmaker.php (last updated: Sun, 12 Jun 2005 06:08:02 +0300)
at Tue, 21 Feb 2006 19:50:10 +0200