LinuxCommandLibrary

ffmpeg-formats

List available multimedia formats

SYNOPSIS

ffmpeg -formats

PARAMETERS

-formats
    Prints list of supported muxers/demuxers and exits

DESCRIPTION

ffmpeg -formats displays a complete list of all input and output multimedia container formats (demuxers and muxers) supported by the FFmpeg installation.

Upon execution, it outputs a formatted table to standard output, with columns indicating capabilities:
  D for demuxing (reading), E for muxing (writing), followed by the short format name and a descriptive string. Additional flags like M (metadata), T (timecode), or S (streaming) may appear.

This command is essential for verifying format compatibility before processing media files, scripting conversions, or troubleshooting errors like "format not supported." The output reflects compile-time options and enabled libraries (e.g., libavformat with GPL components unlocks more formats).

Example use: Run it standalone for a quick overview, or pipe to grep: ffmpeg -formats | grep mp4 to check specific formats. It exits after printing, making it lightweight and non-interactive.

For deeper details on a format, use ffmpeg -h demuxer=fmt or ffmpeg -h muxer=fmt.

CAVEATS

Output varies by FFmpeg build; minimal/distribution packages may lack proprietary formats. Always verify with your installation.

FLAGS LEGEND

D = demuxer (input)
E = muxer (output)
M = metadata support
T = timed data
S = streaming
I = generic image format

EXAMPLE OUTPUT

D 3gp 3GP (3GPP file format)
DE mp4 MP4 (MPEG-4 Part 14)
DEM mkv Matroska / WebM

HISTORY

Part of FFmpeg since its inception in March 2000 by Fabrice Bellard. Diagnostic options like -formats evolved with libavformat library updates, expanding support from basic AVI/MP3 to modern WebM/HEVC.

SEE ALSO

ffmpeg(1), ffprobe(1), ffplay(1)

Copied to clipboard