How to Suppress the FFprobe and FFplay Banner
When running command-line multimedia tools from the FFmpeg suite, the terminal automatically prints a lengthy block of build information, copyright notices, and configuration options before executing the command. This article demonstrates how to suppress this default startup banner using built-in flags, reduce unwanted log messages, and set up persistent aliases to keep your terminal output clean automatically.
The -hide_banner Flag
The direct method to suppress the build configuration output is by
adding the -hide_banner flag to your command. This option
tells the tool not to display copyright notices, build options, and
library versions.
For ffprobe:
ffprobe -hide_banner input.mp4For ffplay:
ffplay -hide_banner input.mp4This flag works identically across all FFmpeg utilities, including
ffmpeg itself. It must be included as an option before or
alongside your media input.
Hiding Additional Log Output
If your goal is completely silent or minimal output,
-hide_banner alone may still print media metadata or
playback statistics. You can pair it with the -loglevel (or
-v) option:
Hide banner and show only errors:
ffprobe -hide_banner -loglevel error input.mp4Silent mode for scripts:
ffprobe -hide_banner -loglevel panic input.mp4
Making the Behavior Permanent
To avoid typing -hide_banner every time, you can
configure command aliases in your shell profile.
On Linux and macOS (Bash or Zsh)
Add the following lines to your ~/.bashrc,
~/.bash_profile, or ~/.zshrc file:
alias ffprobe="ffprobe -hide_banner"
alias ffplay="ffplay -hide_banner"
alias ffmpeg="ffmpeg -hide_banner"Apply the changes:
source ~/.bashrc # or source ~/.zshrcOn Windows (PowerShell)
Open your PowerShell profile ($PROFILE) and define
functions to automatically append the flag:
function ffprobe { & ffprobe.exe -hide_banner $args }
function ffplay { & ffplay.exe -hide_banner $args }Save the file and restart PowerShell. Running ffprobe or
ffplay will now automatically omit the default banner.