FLV Converter - A Layman's Guide to Flash Video Conversion
The Internet is littered with products that claim to convert FLV files for free, but invariably come with nasty surprises attached, or insist you pay up for something that you probably feel you shouldn't. Why can't there be a simple free FLV converter?
Well there is, and I'm going to show you how to use it. You'll also learn some neat stuff along the way...
FLV Conversion using FFmpeg
FFmpeg is the Swiss army knife of video and audio conversion tools. It is a rock solid open source product (albeit of dubious legality - more on this in a moment) that programmers all over the world turn to religiously in droves, and which is included in many other software programs as the 'tool that does the conversion bit'. It comes with a big gotcha however... it is a command line tool that on first glance seems like something only propeller heads can use.
Well fear not FLV fans, I'm going to show you how to make using FFmpeg ridiculously easy. First I'm going to explain quickly why FFmpeg is really the only option available.
Why aren't there free GUI based FLV Converters?
The reason there are no free graphical based FLV converters out there (and for that matter video converters in general), is because of patent and licensing issues. For someone to offer a converter means they have to buy the rights to do so (which is never cheap), and that means nobody apart from a very generous philanthropist could offer such a product for free.
As a result, you have a situation where many dodgy (non paying) developers put out sketchy GUI converters and try to stay 'below the radar', putting their converters up on shareware / freeware sites and offering versions with watermarks and other gotchas that entice you to pay.
So what's the deal with FFmpeg?
FFmpeg also tries to stay below the radar by being open source and basically NOT OFFERING AN EASY INSTALLER OR INTERFACE. If they did, they would raise the ire of many big companies. FFmpeg converts dozens of patented file formats and codecs and by keeping its use to propeller heads, they steer clear of reaching a size that could make them a target.
So where does this leave me?
FFmpeg, while intimidating at first glance, is far and away the best option if you are looking for a guaranteed reliable, high quality and 100% free solution to converting not just FLV files, but any video or audio file format you might want. With this guide, even a command line virgin (as I was) will be converting FLV files in no time. And you won't have to deal with sketchy shareware software that won't be there the next time you look for it. This guide should stand the test of time.
So stay with me and follow my easy guide!
Finding FFmpeg for Windows
First things first, you need to get yourself a copy of FFmpeg for Windows that does not require compiling or other complex nonsense. This isn't exactly easy but I've made it easier...
Option 1 - Easy optionDownload my ridiculously easy to use Windows FFmpeg pack in convenient ZIP format, and keep this browser open for the remainder of the tutorial.
Option 2 - More complex but may be a newer versionFor the very latest Windows version of FFmpeg, you will want to check out this site. You may have to decompress a tricky tar.bz2 file to get at the ffmpeg.exe file it contains. The site is maintained by an enthusiast who regularly compiles a Windows version from the latest source files.
Installing and Using FFmpeg on Windows
Whichever route you take, you should end up with a file called ffmpeg.exe. Yours may not show the .exe extension if your computer is set to 'hide extensions for known file types' (a default setting in Windows XP).
If you are running ahead of me, you will probably already have discovered that nothing happens if you try to double click ffmpeg.exe. Perhaps more worrying is that something does appear to happen but then... nothing. Fear not, all is how it is supposed to be.
Stay with me...
FFmpeg is a command-line tool meaning it should only be 'invoked' (that's 'started') from the command line.
Ridiculously Easy Guide to the Command Line
From the 'Start' menu, choose 'All Programs' and then 'Accessories' and then 'Command Prompt'. You should now have a screen that looks like this...
The way to think about this screen is that it is 'sitting' in a specific location on your computer. Any commands you type into it will apply only to that location. This will become clear in a second.
You can tell which location it is in by looking at the text which says (in my case) C:\Documents and Settings\Alx. Yours will have your name at the end or the owner of the computer.
So the command prompt is 'sitting' in the C drive of your computer, within the Documents and Settings folder, and within (in my case) the Alx folder. Another word to describe this is your 'home' folder (or home directory).
Now go to this folder yourself using 'the GUI way'. Double click My Computer, double click the C drive, double click Documents and Settings, and then double click your name.
Looking within this folder you will see a folder for your Desktop and the 'real' location of your My Documents folder. Peek inside your My Documents folder to see all your files.
Now you are going to type your very first command line instruction, and officially become a true geek of propeller head proportions. If you do not wish to become a geek, do not do this step, and go off looking again for more shareware nightmares.
Using the command line, enter the word 'dir' without the single quotes where the cursor is flashing patiently. Then hit enter.
A bunch of text will now appear which should look something like this...
What you have just done is generated a text based list of everything in your home directory. You will see this is the same set of items as when you view the folder the 'other way'. In other words, your Desktop folder, My Documents folder are all there. There's also some additional info such as how much disk space you have remaining which in my case is a rather measly 301 megabytes. I really need to clear some files...
Now this is where things get fun...
You should now be looking at two very different views of your home directory - the command line way and the GUI way. Using the normal GUI way of doing things, move the ffmpeg.exe file which you downloaded, into your home folder. Your home directory should now look something like this...
If you're the adventurous type you may already have tried typing 'dir' into the command prompt to see if the ffmpeg.exe file has appeared there too. If not, do so now...
Now you might be thinking at this point that this is a lot of work. It is, but you'll only have to do this once.
Getting jiggy with FFmpeg at last
So a quick recap. By now you should have a copy of ffmpeg.exe sitting in your home folder. We've put it there because it makes using its command line interface much easier.
Now we are going to convert an FLV file to a WMV file.
Grab an FLV file from somewhere and put it in your home directory. Let's say the FLV file is called football.flv. Your home directory should look something like this...
To convert to WMV all you need to do is the following...
Using the command prompt type...
ffmpeg -i football.flv football.wmv
Note those are spaces between the ffmpeg and the -i, the -i and football.flv, and the football.flv and football.wmv.
The command line will kick into action, showing the progress of the conversion, and at the end you should have a WMV file in your home directory
That wasn't too hard was it?!
Translating into english, what you have just done is to say...
"Using a program called ffmpeg in the current location, take the input file football.flv (in the current location), and turn it into football.wmv (in the current location)."
Note that if we had not put everything into the home folder (the current location), the instruction would have been much more complicated. Note also that your filenames (input or output) should not have spaces in them - footballplayer.flv is fine, football player.flv is not.
If you wanted to convert an FLV file to AVI format you would simply type...
ffmpeg -i football.flv football.avi
To convert a MPG file to FLV you would type...
ffmpeg -i football.mpg football.flv
You may run into audio problems converting into FLV files if the source file is not one of three set audio sample rates. If you experience this problem include an extra command which specifies the output sample rate as follows...
ffmpeg -i football.mpg -ar 22050 football.flv
As far as command line programs go, ffmpeg couldn't be simpler. Just remember to always put your 'input' files into the home directory before trying to convert. The output files will also end up in your home directory.
One final note. You may find (as I did) that avi output failed to produce a file that Windows Media Player had the right codec for. In this case, the easiest thing is to stick with WMV. Pretty much anything that can open AVI can open WMV. FFmpeg can deal with codec conversion without drawing breath, but you will need to learn much more about the program and its commands. Pretty much anything is possible - you can change codecs, bitrates, size of video and all kinds of other stuff. Full FFmpeg documentation can be found here.
**UPDATED MAY 2008** - If you've liked this tutorial, you will probably be very interested in WorldTV.com, a service I've been working on for a (very) long time which has just recently launched. You can create your own full screen, high-definition capable, online TV channel using videos pulled from YouTube, Metacafe etc and even FLV files hosted on your own server. It's a playlisting service for FLV files basically that is designed to be super easy to use. You can search for clips to add to your channel and once added you can download the FLV files to your desktop by right-clicking on them. You can embed your channel in your own website and add your own FLV files to your channel - this is how you can get HD quality. For more on HD flash video see this other article of mine. The service is 100% free, as in beer, and I encourage you to check it out at the WorldTV homepage.
**UPDATED DEC 2008** - Following a couple of comments where people were having problems converting the latest codecs, I've updated my easy FFmpeg pack with the most current version of FFmpeg. I've not had the opportunity to test this so please let me know by way of comments if it works for you. Download the new 2009 version here.
**UPDATED June 2009** - Due to the many thankful comments for this and my other popular posts - with people offering me their first born, a dozen cookies, among others (!), I've now added a donation page. If this article has helped you, help me!
I'm a Mac user myself but I did not readily find pre-compiled Mac versions of FFmpeg. For the truly fearless you can compile your own using this tutorial here. If you know of a reliable source please let me know through the comment section and I will add it to the tutorial. Other helpful tips and comments are also welcome since they will assist others trying to find their way. TIA.
If you've enjoyed this post you can receive future musings, as I write them, via email. I post about once a
week year on average. More techy folk might prefer to subscribe to my RSS feed and I'd be delighted if you do. I'm rather more active on Twitter, have a few pictures up on Flickr, and I tend to keep track of people on LinkedIn and reluctantly so on Facebook. My day job is running WorldTV.com - a site for doing cool things with online video.