Skip to content

/codes/ffmpeg/ffmpeg-loglevel

ffmpeg -loglevel values: quiet, error, warning, info, debug

verified onenvironmentlocal · windows 10.0.26200 arm64 · GNU bash 5.3.15 (Git Bash) · ffmpeg version 9.0.2-full_build-www.gyan.devupdated 2026-10-20
tool
FFmpeg
versions
FFmpeg 4 – 9
os
any

-loglevel (alias -v) sets how much ffmpeg, ffprobe and ffplay print, by name or by number. The default is info (32). In scripts, -hide_banner -loglevel error prints only errors, and -loglevel quiet prints nothing at all.

Levels

NameNumberShows
quiet-8nothing
panic0only fatal errors that could crash the process (currently unused)
fatal8only fatal errors after which ffmpeg cannot continue
error16all errors, including recoverable ones
warning24errors and warnings
info32plus informative messages (default)
verbose40like info, more detailed
debug48everything, including debugging information
trace56even more than debug

Compare the output

bash
ffmpeg -hide_banner -loglevel error -f lavfi -i testsrc=duration=1 -frames:v 1 -y frame.png
echo "lines with -loglevel error: $(ffmpeg -hide_banner -loglevel error -f lavfi -i testsrc=duration=1 -frames:v 1 -y frame.png 2>&1 | wc -l)"
echo "lines with -loglevel info:  $(ffmpeg -hide_banner -loglevel info -f lavfi -i testsrc=duration=1 -frames:v 1 -y frame.png 2>&1 | wc -l)"

Output

lines with -loglevel error: 0
lines with -loglevel info:  16

Flags

Prefix the level with flags to change the format:

bash
ffmpeg -loglevel repeat+level+verbose -i input.mp4 output.mp4

level prefixes each line with its level ([error], [info]), repeat stops collapsing repeated lines. -report additionally writes a full debug log to a file named ffmpeg-YYYYMMDD-HHMMSS.log.

Sources