Ubuntu Forums ubuntu.com - launchpad.net - ubuntu help  

Go Back   Ubuntu Forums > The Ubuntu Forum Community > Other Community Discussions > Tutorials & Tips
Register Reset Password Forum Help Forum Council Search Today's Posts Mark Forums Read

Tutorials & Tips
The place to find Ubuntu related Tips & Tricks.

 
Thread Tools Display Modes
Old April 4th, 2008   #1
nchase
A Carafe of Ubuntu
 
Join Date: Nov 2005
Beans: 107
Send a message via AIM to nchase
Howto: Create animated GIFs from movie files with free software in four easy steps

This was originally a blog post; see it in its original form here. The original post contains information that is not in this forum post because HTML is not allowed here.

MPlayer is a pretty powerful tool for processing video files. It has a built-in command line option that will export specified movie frames to a GIF, but the problem with this is that the resultant GIF looks terrible.Such a feature seems like it would make the guide I'm presenting here obsolete, but the problem with the feature is that the resultant GIF looks terrible: too few colors. As far as I've seen, the way to get good quality animated GIFs using only free software involves using a combination of MPlayer's command line tools and a little bit of elbow grease in The GIMP. We will export the desired segment of video to a series of jpeg files, then use The GIMP to combine those files into a nicely animating GIF that should look as good as the original video. I believe that it is possible to get MPlayer and The GIMP together in a script that will allow the end user to simply point the script to the desired movie file and the desired segment and the script will do all the "dirty work" and create the GIF. This is my end goal, but I have not taken the time necessary to learn any of GIMP's scripting language. If there is a pre-existing solution that allows one to do what I am trying to show here, I'd love to know about it, so please let me know.


Step 1:
Code:
sudo apt-get install gimp mplayer
Step 2:
Code:
mplayer -ao null -loop 0 -ss 0:11:22 -endpos 5 file.avi
This command will display the segment of file.avi on your screen that runs from 11:22 to five seconds later (11:27). It will loop infinitely until you close the window or send a ctrl+c to the terminal window. This command is useful for figuring out what your GIF will look like before you make it. The audio output will not be heard (is set to null)

Step 3:
Code:
mplayer -ao null -ss 0:11:22 -endpos 5 file.avi -vo jpeg:outdir=moviedirectory
This command actually creates the jpeg files you will need to make your animated gif. It is similar to the other command, but nothing is displayed on screen, and the command will not loop forever. The command will output the segment to a series of jpeg files in a directory called "moviedirectory".

Step 4:
Now that we have our directory full of jpegs, we should open the first of these files in The GIMP. Then, open the remainder of the images in the directory as layers (File -> Open As Layers). Every image in that directory should now be a layer. Now save the file as a .gif and choose to "save as animation" as opposed to "flatten image." Click export. Lastly, it is important to make sure "loop forever" is checked if you want a GIF that loops forever. The other options here can drastically change the effect of your gif because they change the speed that the gif is displayed at. A relatively fast gif will have a 15 millisecond delay between frames. The default delay of 100 ms is a bit slow in my opinion. Under frame disposal where unspecified I select "one frame per layer." I check "Use delay entered above for all frames" and "Use disposal entered above for all frames." Here is an example of an end result:



If you find that your image is too large, it is often helpful to resize it to be a bit smaller. This can help with the image's performance.


As Firefox is often the platform where people will be viewing your animated gif files, it is also a good tool to use to test them to see what the final product looks like.


Last edited by nchase; April 5th, 2008 at 09:31 AM..
nchase is offline   Reply With Quote
Old April 5th, 2008   #2
reclusivemonkey
Dark Roasted Ubuntu
 
reclusivemonkey's Avatar
 
Join Date: May 2006
Location: Triangle, West Yorks, UK
Beans: 978
Ubuntu 7.10 Gutsy Gibbon
Send a message via ICQ to reclusivemonkey Send a message via AIM to reclusivemonkey Send a message via MSN to reclusivemonkey Send a message via Yahoo to reclusivemonkey
Re: Howto: Create animated GIFs from movie files with free software in four easy step

I LOVE Rumblefish, its one of my favourite films ever. That fight scene is one of the most gloriously outrageous ones in cinema history!
__________________
"The superior man understands what is right; the inferior man understands what will sell"
--Confucius
reclusivemonkey is offline   Reply With Quote
Old April 5th, 2008   #3
nchase
A Carafe of Ubuntu
 
Join Date: Nov 2005
Beans: 107
Send a message via AIM to nchase
Re: Howto: Create animated GIFs from movie files with free software in four easy step

Yes sir.
nchase is offline   Reply With Quote
Old April 11th, 2008   #4
cor2y
Skinny Soy Caramel Ubuntu
 
cor2y's Avatar
 
Join Date: Dec 2005
Beans: 658
Ubuntu 9.10 Karmic Koala
Re: Howto: Create animated GIFs from movie files with free software in four easy step

Thank you for the easy how to.
cor2y is offline   Reply With Quote

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 08:19 AM.


vBulletin ©2000 - 2010, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical © Canonical Ltd. Tango Icons © Tango Desktop Project. lingonberry