# About FFMPEG
FFmpeg is a free and open-source multimedia framework capable of
decoding, encoding,
transcoding, muxing,
demuxing, streaming,
filtering, and playing virtually any
media format ever created. It provides the core multimedia processing backbone behind
countless applications including VLC, Chrome, Firefox, Blender, OBS Studio, and many more.
Originally created by Fabrice Bellard in 2000, FFmpeg is now
maintained by a global community of developers. The project includes several components:
- ffmpeg — command-line tool for converting multimedia files
- ffprobe — analyzes multimedia streams and displays media information
- ffplay — simple media player based on SDL and FFmpeg libraries
- libavcodec — audio/video codec library containing all FFmpeg codecs
- libavformat — library containing muxer and demuxer for all supported formats
- libavfilter — graph-based frame editing library (video/audio filters)
- libavutil — utility library with common functions like hash, cipher, compression
- libswscale — library for performing highly optimized image scaling and colorspace conversion
- libswresample — library for performing highly optimized audio resampling and remixing
FFmpeg supports a vast number of codecs, formats, and protocols. It can handle
input and output in formats including MP4, MKV, AVI, MOV, WebM, FLV, HLS, DASH,
RTMP, RTSP, and hundreds more. Codec support spans H.264, H.265/HEVC, VP8, VP9,
AV1, ProRes, AAC, MP3, Opus, FLAC, and many others.
Licensed under the GNU Lesser General Public License (LGPL) 2.1+
or GNU General Public License (GPL) 2+ depending on the
configuration, FFmpeg is freely available for use, modification, and distribution.
Official website: https://ffmpeg.org
# Installing FFMPEG on Linux
Debian / Ubuntu / Mint
sudo apt update
sudo apt install ffmpeg
ffmpeg -version
For the latest version on older Ubuntu releases, you can add the Jonathon F PPA:
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt update
sudo apt install ffmpeg
Fedora
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install ffmpeg
sudo dnf install ffmpeg ffmpeg-devel
Arch Linux / Manjaro
sudo pacman -S ffmpeg
openSUSE
sudo zypper ar -cfp 90 https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman
sudo zypper install ffmpeg
CentOS / RHEL
sudo yum install epel-release
sudo yum install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum install ffmpeg ffmpeg-devel
Snap (universal)
sudo snap install ffmpeg
Flatpak (universal)
flatpak install flathub org.freedesktop.Platform.ffmpeg-full
Build from source (latest git)
sudo apt install autoconf automake build-essential cmake git \
libass-dev libfreetype6-dev libgnutls28-dev libmp3lame-dev \
libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev \
libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev meson ninja-build \
pkg-config texinfo wget yasm zlib1g-dev
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --prefix=/usr/local --enable-gpl --enable-nonfree \
--enable-libass --enable-libfreetype --enable-libmp3lame \
--enable-libvorbis --enable-libx264 --enable-libx265
make -j$(nproc)
sudo make install
After installation, verify everything works by running ffmpeg -version
and ffmpeg -codecs to see all available codecs.
For NVIDIA GPU acceleration, install NVENC support via the
nvidia-cuda-toolkit package and compile with
--enable-nvenc.