我怎样才能使 ffmpeg 更安静/更简洁?

我怎样才能使 ffmpeg 更安静/更简洁?

默认情况下,ffmpeg 会向 stderr 发送大量消息:何时构建、如何构建、编解码器等等。

我怎样才能让它安静一点?

我已经尝试过了-v 0(并且-v 10由于文档只是含糊其辞地说明,Set the logging verbosity level.而没有表明输入的范围)——仍然不安静。

我已尝试过-loglevel quiet- 仍然没有安静。

我应该说一下,我正在寻找“更安静”,而不是“永远没有输出”。如果有错误,我希望看到它,但我不需要每次都听到有关 ffmpeg 的配置。

答案1

ffmpeg -hide_banner -loglevel error

当前答案下方的评论中提到了这一点。

该选项-hide_banner于 2013 年底推出——https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html

-loglevel warning导致输出比该error级别更多(但少于默认info级别),因为它显示所有警告消息。

-loglevel panic是最不详细的输出(甚至省略了错误消息)但没有记录。

官方-loglevel文档可以在ffmpeg 文档在下面通用选项、小节-loglevel [flags+]loglevel | -v [flags+]loglevel

答案2

我还没有测试过,但我在手册页中看到一个选项:

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

理论上应该只记录严重错误

答案3

这里有来自源代码的日志级别(FFmpeg 版本 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   },
    };

答案4

ffmpeg -loglevel error [other commands]

这会隐藏横幅并仅显示错误。-loglevel warning如果您想看到警告,请使用此选项。

在 Ffmpeg 3.0.2 中测试。

来自文档

-loglevel [重复+]日志级别 | -v [重复+]日志级别

设置库使用的日志级别。添加“repeat+”表示重复的日志输出不应压缩到第一行,并且将省略“最后一条消息重复 n 次”行。“repeat”也可以单独使用。如果单独使用“repeat”,并且没有设置先前的日志级别,则将使用默认日志级别。如果给出了多个日志级别参数,则使用“repeat”不会更改日志级别。日志级别是一个字符串或数字,包含以下值之一:

“安静,-8”

什么也不要做任何表现;保持沉默。

‘恐慌,0’

仅显示可能导致进程崩溃的致命错误,例如断言失败。目前此功能不用于任何用途。

“致命,8”

仅显示致命错误。这些错误会导致进程绝对无法继续。

‘错误,16’

显示所有错误,包括可以恢复的错误。

“警告,24”

显示所有警告和错误。任何与可能不正确或意外事件相关的消息都将显示。

'信息,32'

在处理过程中显示信息性消息。这是对警告和错误的补充。这是默认值。

'详细,40'

与 相同info,但更加冗长。

‘调试,48’

显示所有内容,包括调试信息。

‘踪迹,56’

默认情况下,程序会将日志记录到 stderr,如果终端支持着色,则使用颜色来标记错误和警告。可以通过设置环境变量 AV_LOG_FORCE_NOCOLOR或来禁用日志着色NO_COLOR,也可以通过设置环境变量来强制使用AV_LOG_FORCE_COLOR。环境变量的使用NO_COLOR已弃用,并将在后续 FFmpeg 版本中删除。

相关内容