How to install FFMPEG on EC2 running Amazon Linux?

Image for post
Image for post

Recently, I needed to install ffmpeg on my EC2 instance and I struggled quite a bit to set it up. The issue was that my EC2 instance is running Amazon Linux based AMI which is probably based on some version of CentOS. For Debian and Ubuntu distributions, ffmpeg is available as a apt-get package but for other distributions you have to manually compile it. To be fair ffmpeg has provided a compilation guide for CentOS but for lazy people, it is too much of an effort. :)

Finally, I found a solution that worked perfectly so I thought of sharing it here. Here’s the step by step guide.

Step 1: SSH into your instance and become root

Step 2: Go to the /usr/local/bin directory

Step 3: Inside the /usr/local/bin directory, create an ffmpeg directory and go inside it.

Step 4: Download a static build of ffmpeg

Go to the following link and download a static build relevant for your system.

Note: To find the current build version from John’s site. Click on the “build info” link at the releases page and at the top of the .txt file, you will see the current version of the build. Replace the ffmpeg-[X.X.X]-amd64-static with the current build version.

To check if your system is 32-bit or 64-bit you can execute the following command:

It will output something like:

Note: That last i386 indicates that it’s 32-bit; x86_64 indicates 64-bit.

Also, by hit and trial, I found out that the processor is AMD and not ARM. Inside the /usr/local/bin/ffmpeg folder run this command to download the static binaries.

Step 5: Unzip the binaries

Use the following command to unzip the binaries.

This will create a folder named ffmpeg-4.2.1-amd64-static . Go inside this folder to check if ffmpeg has been installed successfully or not.

It should output something like:

Now we will move to the outer folder.

Step 6: Create a symlink to use ffmpeg from any location

Next, go ahead and create a symlink so that ffmpeg can be run from any location.

Note: The first part /usr/local/bin/ffmpeg/ffmpeg is where the file is located after I untarred the file. The second part /usr/bin/ffmpeg is where we want the symlink to go

That’s it. You are done with the installation.

I found this solution on AWS forums and have shared it here so that it is easier to find. Here’s a link to the forum post.

If you are trying to install FFmpeg on a Raspberry Pi then check out this post for step by step instructions:

Image for post
Image for post

Written by

Grad Student at ASU | Student Researcher at The Luminosity Lab | Ex Senior Software Engineer, Zeta | Volunteer, Wikimedia Foundation

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store