List Supported FFmpeg Formats in Linux
Discovering the multimedia formats your FFmpeg installation supports is a straightforward process when working in the Linux terminal. This article provides a quick overview of the essential commands used to list all available muxers, demuxers, decoders, and encoders. By mastering these built-in flags, you can easily verify if your system has the necessary codec support for your audio and video processing tasks.
Listing All Formats
FFmpeg uses “formats” to refer to container types (like MP4, MKV, or AVI). To see every container format that your specific build can read or write, use the formats flag:
ffmpeg -formatsWhen you run this, you will see a long list prefaced by flags. A D means FFmpeg can demux (read) the format, and an E means it can mux (write) the format.
Listing Available Codecs
Containers are just shells; the actual audio and video data inside them are handled by codecs. To see every video, audio, and subtitle codec supported by your installation, run:
ffmpeg -codecsThe output here uses a 6-character header to tell you exactly what each codec can do:
- D or E: Decoding or Encoding capable
- V, A, or S: Video, Audio, or Subtitle codec
- I: Intra-frame only
- L: Lossy compression
- S: Lossless compression
Filtering for Specific Needs
If the full lists are too overwhelming, you can narrow your search
using more specific flags or by piping the output into
grep.
- View Encoders Only:
ffmpeg -encoders - View Decoders Only:
ffmpeg -decoders - Search for a Specific Format: If you want to see if FFmpeg supports AAC, you can filter the results like this:
ffmpeg -codecs | grep aac