How to install FFmpeg on Linux

FFmpeg is cross-platform free software that can record, transcode, filter and stream audio and video data. FFmpeg builds are available for Linux, Windows and MacOS X platforms. While FFmpeg itself is a versatile multimedia tool for end-users, it also provides audio/video codec library with which many multimedia applications are built.

If you want to install FFmpeg on Linux, there are distro-specific ways to do it. In this post, I will describe how to install FFmpeg on various Linux distros.

To install FFmpeg on Debian, Ubuntu or Linux Mint, you can compile it yourself. Follow this guide to build and install FFmpeg.

To install FFmpeg on CentOS or RedHat, first enable Repoforge on your system, and then run the following.

$ sudo yum install ffmpeg

To install FFmpeg on Fedora, first set up RPM Fusion on your system, and then use the following command.

$ sudo yum install ffmpeg

If you want to compile FFmpeg from source on a RedHat-based system, follow this guide instead.

Find a List of Codecs Supported by FFmpeg

If you want to know what codecs are supported by FFmpeg, you can use the following commands.

To show available video codecs in FFmpeg:

$ ffmpeg -codecs | grep "^.\{3\}V"
 . . . . .
 DEVSD  flv             Flash Video (FLV) / Sorenson Spark / Sorenson H.263
 D V D  fraps           Fraps
 DEV D  gif             GIF (Graphics Interchange Format)
 DEV D  h261            H.261
 DEVSDT h263            H.263 / H.263-1996
 D VSD  h263i           Intel H.263
  EV    h263p           H.263+ / H.263-1998 / H.263 version 2
 D V D  h264            H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
 D V D  h264_vdpau      H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (VDPAU acceleration)
 . . . . .

To show available audio codecs in FFmpeg:

$ ffmpeg -codecs | grep "^.\{3\}A"
 D A D  8svx_exp        8SVX exponential
 D A D  8svx_fib        8SVX fibonacci
 DEA D  aac             Advanced Audio Coding
 D A D  aac_latm        AAC LATM (Advanced Audio Codec LATM syntax)
 DEA D  ac3             ATSC A/52A (AC-3)
  EA    ac3_fixed       ATSC A/52A (AC-3)
 D A D  adpcm_4xm       ADPCM 4X Movie
 DEA D  adpcm_adx       SEGA CRI ADX ADPCM
 D A D  adpcm_ct        ADPCM Creative Technology
 D A D  adpcm_ea        ADPCM Electronic Arts
 D A D  adpcm_ea_maxis_xa ADPCM Electronic Arts Maxis CDROM XA
 . . . . .

Subscribe to Xmodulo

Do you want to receive Linux FAQs, detailed tutorials and tips published at Xmodulo? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.

Support Xmodulo

Did you find this tutorial helpful? Then please be generous and support Xmodulo!

The following two tabs change content below.
Dan Nanni is the founder and also a regular contributor of He is a Linux/FOSS enthusiast who loves to get his hands dirty with his Linux box. He likes to procrastinate when he is supposed to be busy and productive. When he is otherwise free, he likes to watch movies and shop for the coolest gadgets.

2 thoughts on “How to install FFmpeg on Linux

  1. Good procedure, succinct and to the point as usual at Xmodulo. In this case, however, Mint 16 says FFmpeg is deprecated - the actual quote is:

    "This package contains the deprecated ffmpeg program. This package also serves as a transitional package to libav-tools. Users are advised to use avconv from the libav-tools package instead of ffmpeg."

    Is there a good reason to stick with ffmpeg?

    • Actually, the message that ffmpeg is being deprecated is misleading.

      The ffmpeg executable that produces this message is offered by Libav team (a fork of ffmpeg), but not by the official ffmpeg team. There is quite a history (personal conflicts etc.) between libav and ffmpeg.

      The official ffmpeg is known to be fully compatible with libav with additional features, bug fixes, etc. RFP for the official ffmpeg was proposed recently, so there's chance it'll be included in future Debian/Ubuntu (separate from libav).

Leave a comment

Your email address will not be published. Required fields are marked *