 | An open source solution to make a movie out of still pictures, stills can be of any resolution (highest preferably for best results). The output also could be of any resolution, from a small video for youtube to a full HD (or more if you know what you're doing). Since we now can make JPGs for ffmpeg and mencoder as well as PPMs for encodedv this application could also be called; stills2mpeg
|
Click here to get to the main website as it may be more up-to-date.
Changelog
alpha-0.600 |
Changes in alpha-0.601
- Bug fix: Application is not sensible anymore to capitalization in filename extensions for the image files. (no more crash when filename in high cap)
- "make example" will produce a 720p 30hz example for better first effect.
|
alpha-0.600 |
Changes in alpha-0.600
- New feature: motion blur, it slows down the rendering but the result is so much nicer.
- A new command line feature: -nomotionblur which is self-explanatory.
|
alpha-0.500 |
Changes in alpha-0.500
- A new command line feature: -fastrender which will turn off anti-aliasing totally and make the rendering something like 5 to 10 times faster, perfect for checking/developing/debugging the script.
- A logic error was corrected with the anti-aliasing/sharpness, image is a tad clearer and the sharpness setting works as it should.
|
alpha-0.400 |
Changes in alpha-0.400
- We now can display the image at work while the software is rendering; it's more beautiful when it's useless (Cyrano de Bergerac).
- A script, some pictures and a soundtrack are now packaged with the source so people will only need to do a "make example" to see what it can do.
|
alpha-0.301 |
Changes in alpha-0.301 (see this video as an examples of the new features)
- Configurable smoothness, pans and zoom now each have a smoothness setting (from 0.000 to 0.500) which will make any move to accelerate at start and decelerate at end so it would like more natural.
- New parameters for startpoint and endpoint TOPRIGHT, TOPLEFT, BOTTOMRIGHT and BOTTOMLEFT have been added to the list (after TOP, BOTTOM, RIGHT, LEFT and CENTER).
|
alpha-0.200 |
Changes in alpha-0.200!
- The application now accepts png files as inputs (RGB, RGBA, GRAY or GRAY_ALPHA), not the indexed ones, not yet at least.
- There was a bug with the TOP and BOTTOM keywords, it is now fixed.
- Source code has been splitted in 5 files for clarity
- interpolation is now better, less artefacts (motion weaving) when slowly panning
- We can now set the sharpness of the output, it's something I added while working on the interpolation. Increasing the value of sharpness from its default value of 1.0 to 2.0 should bring back the distracting motion weaving artefacts in slow pans (but it will be a bit faster to render)
|
alpha-0.100 |
Big changes in alpha-0.100!
- After the second time that some changes in ImageMagick broke my stills2dv application I am proud to announce: No more dependancy on ImageMagick, no more intermediary script file, the executable will produce the ppms or the jpgs directly.
- resolution is now defined in the workfile, it's easy to make High-definition movies out of your pictures (requires ffmpeg or mencoder instead of encodedv)
- we can choose the output as ppms or jpgs
- zoom scale now has changed; 1.00 now means the same as fitwidth (used to be 1 pixel for 1 pixel).
- We can now see the border of an image, we can zoom out at will.
- smooth zooms and pans, even at very very low speed (low speed used to look clunky because moves were produced with a minimum of 1 pixel shift, now the limit is as a 32 bits float can do.
- background color (a.k.a. border color) is now definable in the workfile and may even change in the middle of the movie.
- crossfade now will work with 2 panning/zooming pictures. (used to be only between 2 fixed images)
- Only 1 small drawback; ImageMagick's "convert" application was accepting almost all picture formats as inputs on the planet, my little stills2dv will only accept jpg files, Eventually I will add more formats in time.
|
alpha-0.003 | Now works fine with ImageMagick 6.2.4 (I'm not sure since which version but at one point convert could not handle having 2 "-crop" options on the same command line which resulted in disasters, I simply splitted the command line in 2. |
alpha-0.002 | Now with NEW "crossfade" feature
It is now possible to make a transition from one picture
to another with a crossfade, using version alpha-0.002
of stills2dv | |
Make a workfile like this one:
resolution 720X480
type ppm
framerate 30.00
backgroundcolor 0x000000
pansmoothness 0.33
zoomsmoothness 0.33
img black.jpg duration 5.66
img crow.jpg startpoint 1865,1012 zoom 4 crossfade 0.33
continue zoom 4,fitwidth duration 13.33
img black.jpg crossfade 8.66
img wildboar.jpg zoom 4 startpoint 952,1544 crossfade 0.33
continue endpoint 884,1148 duration 0.33
continue zoom 4,fitwidth endpoint center duration 0.33
img wildboar2.jpg startpoint center endpoint 1988,1364 zoom fitwidth,4 duration 3.33
continue duration 4.0
img tree.jpg zoom 4 startpoint 1436,2692 crossfade 3.0
continue duration 1.0
continue endpoint 880,1368 duration 3.0
continue endpoint 1148,160 duration 7.0
img black.jpg crossfade 4.0
img goat.jpg zoom fitwidth crossfade 2.0
continue endpoint 1064,632 zoom 4 duration 6.7
img baldeagle.jpg startpoint 1176,860 endpoint center zoom 4,fitwidth duration 0.33
continue duration 1.7
img owl.jpg zoom 4 startpoint 857,1012 crossfade 0.2
continue duration 0.2
img baldeagle.jpg zoom fitwidth crossfade 0.2
continue duration 0.2
img owl.jpg zoom 4 startpoint 857,1012 crossfade 0.2
continue zoom 4,3 duration 10.0
img black.jpg crossfade 5.0
continue duration 3.0
Click here for more information about the vocabulary and syntax of the workfile
Run that workfile in stills2dv
./stills2dv -tmpdir tmp -showoutput workfile_standard.s2d
Encode all those newly produced 1816 frames in a DV stream
encodedv -e 1816 -a wav tmp/%05d.ppm myaudioexample.wav > out.dv
you can produced 1920x1080 jpegs and create a FULL HD video stream:
mencoder mf://tmp/*.jpg -mf w=1920:h=1080:fps=30:type=jpg -ovc lavc \
-lavcopts vcodec=mpeg4:mbd=2:trell:vbitrate=16000 -oac copy -o output.avi
ffmpeg also can grab jpegs and make a Full HD movie:
ffmpeg -r 30.00 -f image2 -i tmp/%05d.jpg -i someaudiofile.mp3 -target ntsc-dvd -s 1920x1080 -vb 9000k out.mpg
kino
or
openmovieeditor
And look at the result
I created this little example movie with pictures I took myself
and some soundtrack I created with audacity
(1920x1080, HD Resolution) | mpeg2 file: | HD.mpg | (44M)
|
(720x480 Standard Resolution) | mpeg2 file: | SD.mpg | (17M)
|
I also bought a song from magnatune.com which has a creative common license and I made this Christmas video now published on youtube (don't forget to click on the "watch in HD" link right under it).
Download the source
Click here to download the source.
Source Hosted by:

Requirements
libjpeg for compiling stills2dv (this package should already installed on your Linux distribution by default)
and
libpng for compiling stills2dv (like libjpeg; this package should already installed on your Linux distribution by default)
and
encodedv (part of libdv) for DV (standard definition only)
or
mencoder (part of mplayer) for mpeg2, mpeg4, etc... (standard or high definition)
or
ffmpeg for mpeg2, mpeg4, etc... (standard or high definition)