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.

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:

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 https://download.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Add it to your system using the commands below.

sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
sudo dnf install --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

Accept installations.

...........................
Dependencies resolved.
===================================================================================================================================================
 Package                                      Arch                         Version                        Repository                          Size
===================================================================================================================================================
Installing:
 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
===================================================================================================================================================
Installing:
 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 http://rpmfind.net/linux/epel/7/x86_64/Packages/s/SDL2-2.0.10-1.el7.x86_64.rpm
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
===================================================================================================================================================
Installing:
 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

Output.

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