22

I went through the documentation but couldn't find a solution. I'm hoping there is some kind of argument that will tell FFmpeg to not show the output in the console.

The output that I'm referring to is in the screenshot given below

enter image description here

slhck
  • 223,558
  • 70
  • 607
  • 592
asprin
  • 723
  • 5
  • 11
  • 26
  • Have you tried using simple command-line redirection like `ffmpeg args >NUL`? Although that may be a problem if it's waiting for input from the console... – martineau Feb 21 '13 at 14:32

2 Answers2

27

There are two possibilities to either vastly reduce the amount of output, or redirect it to somewhere else.

  1. From ffmpeg manual: Run ffmpeg with the -loglevel quiet option.

  2. Do what @martineau said and redirect it to a null file descriptor. FFmpeg outputs to stderr by default, so in Windows you'd do ffmpeg ... 2>NUL; on Cygwin or Linux/OS X/BSD, you'd do ffmpeg ... 2> /dev/null.

slhck
  • 223,558
  • 70
  • 607
  • 592
allquixotic
  • 34,215
  • 7
  • 113
  • 145
17

As per the other answer, -loglevel quiet supresses everything. But, sometimes it's useful to retain some output. Here are some other options:

  • You can suppress report printing (the lines beginning with frame= that are output every few frames) by adding the -nostats option to your command line.

  • You can suppress the banner (copyright notice, libraries, etc) by adding the -hide_banner option to your command line.

There are other options, see the documentation for details.

starfry
  • 1,587
  • 15
  • 30
  • 3
    I used `-loglevel quiet -stats` to show only the `frame=` line. `-hide_banner` didn't work, or maybe with my setup what it did remove was not enough (there was still a page and a half of stuff before the `frame=` line). – user287352 Feb 24 '18 at 07:20