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
add comment

4 Answers

up vote 14 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
    
Sweet fancy Moses! It works! You have no idea how much seeing ffmpeg's configuration you've just saved me. –  blahdiblah Jan 12 '12 at 6:54
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. –  RandolphCarter Apr 30 '12 at 11:42
1  
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
add comment

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
add comment

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
add comment

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
9  
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
add comment

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.