Skip to content

Instantly share code, notes, and snippets.

Last active June 23, 2023 13:09
  • Star 44 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Install FFmpeg on a Linux Box

Install FFmpeg via CLI on Linux box

These steps walk through installing a static binary of any ffmpeg version on to your linux machine. If you want to compile from source, there are several ways to do so. Here's the official guide. Tested and works on an AWS EC2 Ubuntu instance, but should work on any Linux machine.

  • SSH into your instance and become root

    $ sudo su -

  • cd to the the /usr/local/bin directory

    $ cd /usr/local/bin

  • Inside the /usr/local/bin directory, create an /ffmpeg directory

    $ mkdir ffmpeg

  • cd into the new directory

    $ cd ffmpeg

  • Check the static build directory at:

    $ wget

  • The file should now be in /usr/local/bin/ffmpeg. Untar it...

    $ tar xf ffmpeg-release-64bit-static.tar.xz

  • Run it and check what the latest version is

    $ ./ffmpeg -version

The output should look something like this

ffmpeg version N-60675-g8fe1076
built on Feb 16 2014 05:45:47 with gcc 4.6 (Debian 4.6.3-1)
configuration: --prefix=/root/ffmpeg-static/64bit --extra-cflags='-I/root/ffmpeg-
static/64bit/include -static' --extra-ldflags='-L/root/ffmpeg-static/64bit/lib -static' --
extra-libs='-lxml2 -lexpat -lfreetype' --enable-static --disable-shared --disable-ffserver --
disable-doc --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --
enable-libx264 --enable-gpl --enable-libtheora --enable-libvorbis --enable-libmp3lame --
enable-gray --enable-libass --enable-libfreetype --enable-libopenjpeg --enable-libspeex --
enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libvpx
libavutil 52. 64.100 / 52. 64.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 32.101 / 55. 32.101
libavdevice 55. 9.101 / 55. 9.101
libavfilter 4. 1.102 / 4. 1.102
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
  • Move the contents of your static untarred folder into the parent /ffmpeg dir
  $ mv * ../
  • If you want to be able to execute $ ffmpeg from any directory, you'll need to create a symlink inside /usr/bin:
  $ ln -s /usr/local/bin/ffmpeg/ffmpeg /usr/bin/ffmpeg
  $ ln -s /usr/local/bin/ffmpeg/ffprobe /usr/bin/ffprobe #for ffprobe

done. You are now able to run the $ ffmpeg command from anywhere.

credit: this AWS forum thread

Copy link

Thanks a lot, worked, congrats.

Copy link

YaEvan commented Dec 28, 2020


Copy link

Dude! Thanks a ton for having this amazing tutorial.
It has worked for me and even on this date, this tutorial was hard to find. Once again, Thanks!

Copy link

simply awesome. the content of this page must be present on johnvansickle's page which has links to the releases.

Yes, that would be super helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment