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.
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:
- 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
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
Once the repository is enabled, install FFmpeg:
sudo yum install ffmpeg ffmpeg-devel
Verify the FFmpeg installation by checking its version:
At the time of writing this article, the current version of FFmpeg available in the RPM Fusion repository is
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.
In this section, we will look at some basic examples on how to use the
When converting audio and video files using
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
- 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
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
libvpxvideo codec and
ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm
Convert an audio file from mp3 to ogg encoded with the
ffmpeg -i input.mp3 -c:a libopus output.ogg