How to Install and Use FFmpeg on CentOS 7

Updated 

3 min read

FFmpeg is a free and open-source collection of tools for handling multimedia files. It contains a set of shared audio and video libraries such as libavcodec, libavformat, and libavutil. With FFmpeg, you can convert between various video and audio formats, set sample rates, capture streaming audio/video, and resize videos.

This tutorial walks you through installing FFmpeg on CentOS 7.

Prerequisites

To be able to add new repositories and install packages on your CentOS system, you must be logged in as a user with sudo privileges.

Installing FFmpeg on CentOS 7

FFmpeg is not available in CentOS 7 core repositories. You can choose to build the FFmpeg tools from the source or to install it via yum from a third-party Yum repository.

We’ll go with the second option and install from the RPM Fusion repository:

  1. The RPM Fusion repository depends on the EPEL software repository. If the EPEL is not enabled on your system, enable it by typing:

    sudo yum install epel-release
  2. Next, enable the RPM Fusion repository by installing the rpm package:

    sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
  3. Once the repository is enabled, install FFmpeg:

    sudo yum install ffmpeg ffmpeg-devel
  4. Verify the FFmpeg installation by checking its version:

    ffmpeg -version

    At the time of writing this article, the current version of FFmpeg available in the RPM Fusion repository is 3.4.7:

    ffmpeg version 3.4.7 Copyright (c) 2000-2019 the FFmpeg developers
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
    ...

That’s it. FFmpeg has been installed on your CentOS machine and you can start using it.

FFmpeg Examples

In this section, we will look at some basic examples on how to use the ffmpeg utility.

Basic conversion

When converting audio and video files using ffmpeg, you do not have to specify the input and output formats. The input file format is auto-detected, and the output format is guessed from the file extension.

  • Convert a video file from mp4 to webm:

    ffmpeg -i input.mp4 output.webm
  • Convert an audio file from mp3 to ogg:

    ffmpeg -i input.mp3 output.ogg

Specifying codecs

You can specify the codecs you want to use with the -c option. The codec can be the name of any supported decoder/encoder or a special value copy that simply copies the input stream.

  • Convert a video file from mp4 to webm using the libvpx video codec and libvorbis audio codec:

    ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm
  • Convert an audio file from mp3 to ogg encoded with the libopus codec.

    ffmpeg -i input.mp3 -c:a libopus output.ogg

Conclusion

We have shown you how to install FFmpeg on CentOS 7 machines. You can now visit the official FFmpeg Documentation page and learn how to use FFmpeg to convert and your video and audio files.

If you hit a problem or have feedback, leave a comment below.