Question: How can install FFmpeg on CentOS 8 / RHEL 8 Linux system?. FFmpeg is a free and open source multimedia framework used to play, encode, decode, stream, transcode, mux, demux, and filter different formats of multimedia files including MPEG1 audio and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.

install ffmpeg centos8

FFmpeg is a cross-platform application as it can run on Linux, macOS, Windows, BSDs, Solaris, etc, under wide variety of build environments, configurations and machine architectures. Most media players available for Linux and Audio/Video downloaders and converters such as youtube-dl require FFmpeg to work.

FFmpeg Tools

These are the main FFmpeg building blocks:

  • ffmpeg – Command line tool to convert multimedia files between formats
  • ffplay – Simple media player based on SDL and the FFmpeg libraries
  • ffprobe – Simple multimedia stream analyzer

FFmpeg also contain Libraries for developers – libavutil, libavcodec, libavformat, libavdevice, libavfilter, libswscale and libswresample.

The transcoding process in ffmpeg for each output can be described by the following diagram:

ffmpeg transcode process

How To Install FFmpeg on CentOS 8 / RHEL 8

Follow the next steps discussed here to install FFmpeg on CentOS 8 / RHEL 8 Linux distribution. You should have access to your CentOS / RHEL 8 system before you continue.

Step 1: Install RPMfusion Yum Repository

The RPM Fusion repository was created to provide software not shipped by Fedora and Red Hat based distributions. All software applications available in this repository are provided as precompiled RPM files. We’ll install FFmpeg on CentOS 8 / RHEL 8 from RPMfusion repository.

You need to enable EPEL on RHEL or compatible distributions like CentOS before you enable RPM Fusion for EL.

sudo dnf -y install

Add it to your system using the commands below.

sudo dnf localinstall --nogpgcheck
sudo dnf install --nogpgcheck

Accept installations.

Dependencies resolved.
 Package                                      Arch                         Version                        Repository                          Size
 rpmfusion-free-release                       noarch                       8-0.1                          @commandline                        11 k

Transaction Summary
Install  1 Package

Total size: 11 k
Installed size: 3.7 k
Is this ok [y/N]: y

Dependencies resolved.
 Package                                         Arch                         Version                     Repository                          Size
 rpmfusion-nonfree-release                       noarch                       8-0.1                       @commandline                        11 k

Transaction Summary
Install  1 Package

Total size: 11 k
Installed size: 3.8 k
Is this ok [y/N]: y

Step 2: Install FFmpeg on CentOS 8 / RHEL 8 Linux

Once you’ve added EPEL and RPM Fusion repositories, run the following commands in your terminal to install FFmpeg on CentOS 8 / RHEL 8 Linux system.

sudo dnf install
sudo dnf install ffmpeg

A number of dependencies will be installed, verify and agree to installation.

Last metadata expiration check: 0:04:09 ago on Mon 30 Sep 2019 01:32:31 AM EAT.
Dependencies resolved.
 Package                                Arch                Version                                      Repository                           Size
 ffmpeg                                 x86_64              4.2.1-2.el8                                  rpmfusion-free-updates              1.4 M
Installing dependencies:
 libva                                  x86_64              2.1.0-1.el8                                  AppStream                            92 k
 libvdpau                               x86_64              1.1.1-7.el8                                  AppStream                            40 k
 ocl-icd                                x86_64              2.2.12-1.el8                                 AppStream                            51 k
 openal-soft                            x86_64              1.18.2-7.el8                                 AppStream                           394 k
 libatomic                              x86_64              8.2.1-3.5.el8                                BaseOS                               20 k
 jack-audio-connection-kit              x86_64              1.9.12-8.el8                                 epel                                519 k
 libaom                                 x86_64              1.0.0-8.20190810git9666276.el8               epel                                1.6 M
 libass                                 x86_64              0.14.0-4.el8                                 epel                                110 k
 libmfx                                 x86_64              1.25-4.el8                                   epel                                 36 k
 soxr                                   x86_64              0.1.3-4.el8                                  epel                                 97 k
 vid.stab                               x86_64              1.1.0-12.20190213gitaeabc8d.el8              epel                                 47 k
 zvbi                                   x86_64              0.2.35-9.el8                                 epel                                424 k
 ffmpeg-libs                            x86_64              4.2.1-2.el8                                  rpmfusion-free-updates              7.2 M
 libavdevice                            x86_64              4.2.1-2.el8                                  rpmfusion-free-updates               96 k
 opencore-amr                           x86_64              0.1.5-7.el8                                  rpmfusion-free-updates              180 k
 vo-amrwbenc                            x86_64              0.1.3-8.el8                                  rpmfusion-free-updates               77 k
 x264-libs                              x86_64              0.157-11.20190717git34c06d1.el8              rpmfusion-free-updates              651 k
 x265-libs                              x86_64              3.1.2-1.el8                                  rpmfusion-free-updates              1.9 M
 xvidcore                               x86_64              1.3.5-5.el8                                  rpmfusion-free-updates              268 k

Transaction Summary
Install  20 Packages

Total download size: 15 M
Installed size: 52 M
Is this ok [y/N]: y

Install development libraries by running the command\:

sudo dnf -y install ffmpeg-devel

Step 3: Check FFmpeg Version on CentOS / RHEL 8

Check the version of FFmpeg installed on your RHEL/CentOS system using the command.

$ rpm -qi ffmpeg
$ ffmpeg -version


install ffmpeg centos rhel 8

Step 4: Using FFmpeg on CentOS / RHEL 8

The usage of ffmpeg depends on individual projects and desired output. Refer to the official FFmpeg documentation for an in-depth description of its features and examples.

Other example is Converting mp4/mkv/WebM to mp3 on Linux with FFmpeg

If you want to download Videos from YouTube, check:

Annie – Fastest YouTube Video Downloader for Linux

You can also get all command line options from:

$ ffmpeg --help

Thank you for using our guide to install FFmpeg on CentOS 8 / RHEL 8. Check other articles,

Best LPIC-1 and LPIC-2 certification study books

Best Linux Books for Beginners & Experts

How To Setup a TFTP server on CentOS 8 / RHEL 8

How To Install GLPI on CentOS 8 / RHEL 8

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here