FFmpeg Codec Command Guide

This article provides a quick overview of how to find and list all supported audio, video, and subtitle codecs within FFmpeg using the Linux command line. It covers the primary command needed for this task, explains how to interpret the output, and offers useful variations to help you filter down the extensive list of available codecs.

The Core FFmpeg Codec Command

To reveal every single codec supported by your current installation of FFmpeg, run the following command in your Linux terminal:

ffmpeg -codecs

When you execute this, FFmpeg will print a comprehensive list to your screen. Because this list is usually incredibly long, it begins with a helpful header configuration block followed by a detailed key explaining what the character flags mean before listing the individual codecs.

Understanding the Output Flags

The output of ffmpeg -codecs uses a 6-character status string next to each codec to tell you exactly what it can do. Understanding these flags helps you determine if a codec is suitable for your specific task:

For example, if you see D.E..X next to a codec, it means it is a fully functional codec that supports both decoding and encoding.

Helpful Command Variations

Scrollable terminal output can be overwhelming. You can pair the core command with standard Linux utilities to make the information much easier to navigate.

Filter by Specific Type

If you only want to look for audio or video codecs rather than everything at once, you can use these dedicated flags:

ffmpeg -decoders  # Lists only available decoders
ffmpeg -encoders  # Lists only available encoders

Search for a Specific Codec

If you want to quickly check if a specific format like H.264, AV1, or AAC is supported, pipe the output into grep:

ffmpeg -codecs | grep nvenc

Page Through the List

To prevent the list from flying past your screen, pipe the command into less so you can scroll through it at your own pace using your arrow keys:

ffmpeg -codecs | less