Contents |
Animation is a magical process whereby seemingly unending efforts eventually combine to make a movie.
Of course we focus on Linux softwares:
There are also some proprietary software, such as Harmony
The basic idea of animation is very simple, though: alternate images. If it's fast enough, the brain will interpolate a continuous evolution from one to the other. So the simplest possible animation is just to generate frames and assemble them together.
For autocropping:
for i in `ls *jpg`; do convert -trim $i out_$i; done
But if the size is not the same for all images, the encoding could fail, in this case, force the cropping:
for i in `ls *jpg`; do convert $i -crop '990x870+5+35' out_$i; mv -f out_$i $i; done
ezgif.com is a great online resource to optimize, resize, crop and overall edit gif (with some limitations on size, though).
Gif files can be animated using gifsicle [1]
gifsicle --delay=10 --loop *.gif > anim.gif
The listing is such that it normal-orders the files, which is usually what one wants to do.
To convert from a movie to an animated gif:
ffmpeg -i input.mp4 -r 15 -vf scale=512:-1 output.gif
If there are few images, convert from ImageMagick can do the trick:
convert -delay 10 -loop 0 $(ls -1 *.png | sort -V) animated.gif
For more ambitious exports, use ffmpeg: (-r 20 is the repetition rate)
ffmpeg -f image2 -r 20 -i 0%05d.png -vcodec h264 -crf 0 -y output.mp4
mpeg can be generated with a command like:
mencoder "mf://*.jpg" -mf fps=10 -ovc lavc -o ./dest.avi
with 10 frames per second.
avconv is also popular. To do lossless compression, you may try:
avconv -f image2 -r 30 -i %03d.png -vcodec qtrle -pix_fmt rgb24 -t 15 qtrle-30fps-rgb.mov