ffmpeg を静かにしたり、冗長性を抑えたりするにはどうすればよいでしょうか?

ffmpeg を静かにしたり、冗長性を抑えたりするにはどうすればよいでしょうか?

デフォルトでは、ffmpeg はビルド日時、ビルド方法、コーデックなど、さまざまなメッセージを stderr に送信します。

どうすれば静かになりますか?

試してみましたが-v 0(-v 10ドキュメントにはSet the logging verbosity level.入力範囲が何であるかは示されずに、控えめにしか書かれていないため)、まだ静かではありません。

試してみましたが-loglevel quiet、まだ静かになりません。

言っておきますが、私が求めているのは「静かな」出力であって、「まったく出力しない」出力ではありません。エラーがあればそれを見たいのですが、毎回 ffmpeg の設定について聞く必要はありません。

答え1

ffmpeg -hide_banner -loglevel error

これについては、現在の回答の下のコメントで言及されています。

このオプションは-hide_banner2013年後半に導入されました。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

まだテストしていませんが、man ページに次のオプションがあります:

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」を使用してもログ レベルは変更されません。loglevel は、次の値のいずれかを含む文字列または数値です。

「静か、-8」

何も見せないで、沈黙してください。

「パニック、0」

アサート失敗など、プロセスのクラッシュにつながる可能性のある致命的なエラーのみを表示します。これは現在何にも使用されていません。

「致命的、8」

致命的なエラーのみを表示します。これらは、その後プロセスが絶対に続行できないエラーです。

「エラー、16」

回復可能なエラーも含め、すべてのエラーを表示します。

「警告、24」

すべての警告とエラーを表示します。不正確または予期しない可能性のあるイベントに関連するメッセージが表示されます。

'情報、32'

処理中に情報メッセージを表示します。これは警告とエラーに加えて表示されます。これがデフォルト値です。

「冗長、40」

と同じですがinfo、より詳細です。

'デバッグ、48'

デバッグ情報を含むすべてを表示します。

「トレース、56」

デフォルトでは、プログラムは stderr にログを記録します。ターミナルで色分けがサポートされている場合は、エラーと警告をマークするために色が使用されます。ログの色分けは、環境変数 または を設定することで無効にできます。 AV_LOG_FORCE_NOCOLORまたNO_COLOR、環境変数 を設定することで強制的に有効にすることもできますAV_LOG_FORCE_COLOR。環境変数の使用はNO_COLOR非推奨であり、次の FFmpeg バージョンでは廃止される予定です。

関連情報