Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

By default ffmpeg sends a whole lotta messages to stderr: when built, how built, codecs, etc, etc, etc.

How can I make it quieter?

I've tried -v 0 (and -v 10 since the documentation just coyly says Set the logging verbosity level. with no indication of what the range of inputs is) -- still not quiet.

I've tried -loglevel quiet -- still not quiet.

I should mention, I'm looking for "quieter," not "no output ever". If there's an error I want to see it, but I don't need to hear about ffmpeg's configuration every. single. time.

share|improve this question
1  
ffmpeg is definitely one of those 'for developers, by developers' kinds of programs. –  digitxp Aug 22 '11 at 22:10

4 Answers 4

up vote 21 down vote accepted

I haven't tested it out, but I see an option in the man page to do:

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

Should make it so only serious errors are logged, in theory

share|improve this answer
2  
Even with -loglevel panic, for me it's only reducing output a little - it still prints version information, stream mapping, configuration options, (and even progress information!).... any ideas? I might have to mention that it's a self-compiled version from latest svn trunk. –  codeling Apr 30 '12 at 11:42
2  
pipe it to the bit bucket: >/dev/null 2>&1 –  rogerdpack Aug 2 '12 at 15:05
1  
@rogerdpack that would work for most programs, but ffmpeg puts all of its text output to stderr, rather than stdout (it does this so that you can pipe the encoder output to other programs), so redirecting stdout to /dev/null wouldn't do anything useful. –  evilsoup Dec 21 '12 at 14:29
    
Ok 2>/dev/null should be enough then (or in windows 2 > NUL) –  rogerdpack Dec 21 '12 at 17:02
2  
Using -hide_banner in addition to a reduced verbosity level would be a good compromise. –  Makaveli84 Aug 12 at 16:14

Here you have loglevels from the source code (FFmpeg version 0.10.2.git)

const struct { const char *name; int level; } log_levels[] = {
        { "quiet"  , AV_LOG_QUIET   },
        { "panic"  , AV_LOG_PANIC   },
        { "fatal"  , AV_LOG_FATAL   },
        { "error"  , AV_LOG_ERROR   },
        { "warning", AV_LOG_WARNING },
        { "info"   , AV_LOG_INFO    },
        { "verbose", AV_LOG_VERBOSE },
        { "debug"  , AV_LOG_DEBUG   },
    };
share|improve this answer

You can pipe stderr through grep. For example, if you wanted to remove the configuration info, you could do it like this:

% ffmpeg -i infile.avi -s 640x480 outfile.avi >/dev/null 2>&1 | grep -v configuration:
share|improve this answer
    
I believe that may need to be ffmpeg … 2>&1 >/dev/null | grep …. –  Scott Apr 17 '13 at 15:37

This is a little cheap to go about it, but appending >/dev/null 2>&1 is a sure way to keep ffmpeg silent in the shell.

Example

ffmpeg -f x11grab -y -r 24 -s 800x600 -i :0.0+1366,100 -f oss -i /dev/dsp3 -sameq ./out.avi >/dev/null 2>&1

More info about bash output

share|improve this answer
10  
Except that ffmpeg is one step ahead of you, and outputs both configuration information and actual errors to stderr. –  blahdiblah Aug 23 '11 at 19:19

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.