February 3rd, 2012 | 6 Comments
In the first post regarding animations we have created a bunch of png files and combined them to a single gif animation. Now we want to generate again a bunch of png files, but combine them to a movie.
We create the png files in analogy to the gif example, hence we will discuss only the generation of the movie here. In order to compose a avi file from the png files we are using Mencoder. Gnuplot is able to directly start Mencoder by its system
command.
# Create movie with mencoder ENCODER = system('which mencoder'); if (strlen(ENCODER)==0) print '=== mencoder not found ==='; exit CMD = 'mencoder mf://animation/*.png -mf fps=25:type=png -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o huygen.avi' system(CMD)
The first two lines check if Mencoder is available and quit gnuplot if not. The Mencoder command itselfs gets the directory containing the png files mf://animation/*.png
, frames per second and input type-mf fps=25:type=png
, video -ovc
and audio -oac
options, and finally of course the output file -o huygen.avi
.
In order to generate a webm video file for a web site, ffmpeg can be used to convert the video.
$ ffmpeg -i huygen.avi huygen.webm
This animation series has been extremely helpful. Thank you so much for sharing!
Hi, is there any package needed to call sprintf?
I am doing a simulation in which,no of lattice points are increasing with time, is there any method in gnuplot animations so that, i can see the evolution of the lattice with no. of points increasing in it ?
Nothing happens when I try to change the frame rate – that is, changing “fps=25” to “fps=3” does absolutely nothing. The .avi video is made at a set frame rate that I can’t seem to change. Any advice?
Edit (to initial comment above): I found that the problem was that I deleted “mf://” before “*.png”. As soon as I included that again it worked.
Hello, I was trying this but ran into problems with installing mencoder on Windows 10. I struggled through all the readmes and help documents, but it seems I am too stupid to get this running. I have the the source and the codecs unpacked in a “mencoder” folder in :C//. What do I have to do that the Program will be found by Windows, so that the given code works?