Enable Verbose Debug Logging in libsvtav1

Troubleshooting video encoding issues with the SVT-AV1 codec often requires detailed logs to pinpoint the root cause of performance bottlenecks, crashes, or quality anomalies. This guide provides a straightforward, step-by-step walkthrough on how to easily enable verbose debug logging in libsvtav1 using both the FFmpeg command-line tool and the standalone SVT-AV1 encoder executable (SvtAv1EncApp).


Method 1: Enabling Debug Logs in FFmpeg

When using FFmpeg compiled with libsvtav1 support, you can control the logging verbosity by passing parameters directly to the encoder wrapper or by adjusting FFmpeg’s global log level.

1. Use the svtav1-params Option (Encoder Specific)

The most precise way to enable debug logging is to pass the log-level parameter directly to the SVT-AV1 encoder wrapper. The debug level is represented by the numerical value 4.

Add -svtav1-params log-level=4 to your FFmpeg command:

ffmpeg -i input.mp4 -c:v libsvtav1 -svtav1-params log-level=4 output.mkv

SVT-AV1 Log Level Reference: * 0: No logging * 1: Error logging only * 2: Error and warning logging * 3: Error, warning, and info logging (Default) * 4: Error, warning, info, and debug logging (Verbose)

2. Use FFmpeg’s Global Debug Flag

To see both the SVT-AV1 internal debug messages and the FFmpeg wrapper’s diagnostic information, prepend -loglevel debug or -v debug to your command:

ffmpeg -loglevel debug -i input.mp4 -c:v libsvtav1 output.mkv

Method 2: Enabling Debug Logs in Standalone SvtAv1EncApp

If you are encoding raw video (.y4m or .yuv files) directly using the official SvtAv1EncApp command-line tool, you can use the --loglevel CLI argument.

Run your command with the --loglevel 4 flag:

SvtAv1EncApp -i input.y4m -b output.ivf --loglevel 4

This instructs the standalone encoder to print all initialization parameters, frame-level thread allocations, and internal processing steps directly to your terminal screen.