FFMPEG An Intermediate Guide/Installing

Because FFmpeg is so widespread, users can compile the program for any platform with an available compiler and a good enough machine. However, there are reasons you might not want to do this manually.

This guide focuses on the default builds. If you compile a version of FFmpeg that does not include the codecs and formats mentioned in this book, you may not be able to follow along.

Repositories

edit
Distribution Install command
Debian[note 1] sudo apt install ffmpeg

Windows

edit

https://ffmpeg.zeranoe.com/builds/

An anonymous programmer from Australia compiles Windows builds on his website, and they are linked accordingly by the FFmpeg website's download page.

Graphical Shells

edit

If you want to use the power of FFmpeg with the features of any standard graphical solution, you can use these programs to help.

  • HandBrake
    A frontend that uses the libraries directly, and doesn't allow for as many options as FFmpeg, but is considered a companion and not a competitor. It was originally designed for DVDs, but it can now decode anything FFmpeg supports.
  • WinFF
    A now-retired frontend that creates a command line script (Batch on Windows, Shell on Unix) designed to factor in all your settings and run automatically.

A note about updates

edit

You should update FFmpeg whenever you can. That's not to say that the one you're using will always be good enough; in fact, it will actually never be. The software is updated on a daily basis and it's not difficult to fall behind on these updates as a result. The development team does push out releases whenever you can't keep up with the cutting edge, but a lack of updates can cause mild inconvenience. On Ubuntu 16.04 LTS, the default version of FFmpeg is still 2.8.11. You can work around this with an unofficial repository on Launchpad, but it's still a tedious process figuring out where to get newer releases.

The other reason you will want to stay updated is because of situations like this, where a user will be stuck with an old version of FFmpeg because a graphical shell isn't ever updated as much as the program is. Some graphical shells have ways to prevent this so that you can use newer features without losing the ease of the interface (where you can set the location of the ffmpeg executable instead of the default; this is what WinFF does), but if it's too old, the shell could be fundamentally binded to an encoder that ffmpeg could now support directly.

Notes

edit
  1. Also valid for other dpkg-based distributions (e.g. Ubuntu, Mint).