web-dev-qa-db-ja.com

どうすればffmpegをより静かに/より冗長にすることができますか?

デフォルトでは、ffmpegはたくさんのメッセージをstderrに送ります:ビルドされた時、ビルドされた時、コーデック等。

どうしたらもっと静かにできますか?

私は-v 0を試しました(そして-v 10はドキュメントが単にSet the logging verbosity level.と言っているだけなので、入力の範囲が何であるかはわかりません)。

私は-loglevel quietを試しました - それでも静かではありません。

私は言及する必要があります、私は「今までにない出力」ではなく「より静か」を探しています。確認したいエラーがある場合は、ffmpegの設定をすべて聞く必要はありません。シングル。時間。

106
blahdiblah

試したことはありませんが、manページにオプションがあります。

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

理論上、重大なエラーのみがログに記録されるようにする必要があります。

105
Alec

ffmpeg -hide_banner -loglevel panic

これは、現在の回答の下のコメントで示唆されています。

オプション-hide_bannerは2013年後半に導入されました - https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html

54
Hugues

ここにソースコードからのログレベルがあります(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   },
    };
53
surcho

私は成功して以下のものを使ったことがある(執筆時点での最新のFFMPEGバージョン):

-nostats -loglevel 0

それからそれは私の使用シナリオでは絶対に静かです。

18
Michael
ffmpeg -loglevel error [other commands]

これはバナーを隠し、エラーのみを表示します。警告を表示したい場合は-loglevel warningを使用してください。

Ffmpeg 3.0.2でテスト済み。

のドキュメントから

- loglevel [繰り返し+] loglevel | -v [repeat +] loglevel

ライブラリが使用するログ記録レベルを設定します。 "repeat +"を追加することは、繰り返されたログ出力が最初の行に圧縮されるべきではなく、 "最後のメッセージがn回繰り返された"行が省略されることを示します。 「繰り返し」も単独で使用できます。 "repeat"が単独で使用され、かつ以前のログレベルが設定されていない場合は、デフォルトのログレベルが使用されます。複数のログレベルパラメータが指定されている場合、「繰り返し」を使用してもログレベルは変更されません。 loglevelは、次のいずれかの値を含む文字列または数値です。

「静か、-8」

何も表示しません。静かに。

「パニック、0」

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

「致命的、8」

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

「エラー、16」

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

「警告、24」

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

「情報、32」

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

「詳細、40」

より冗長であること以外はinfoと同じです。

「debug、48」

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

「トレース、56」

カラーリングが端末でサポートされている場合、デフォルトではプログラムはstderrにログを記録し、エラーと警告をマークするためにカラーが使用されます。ログカラーリングは、環境変数AV_LOG_FORCE_NOCOLORまたはNO_COLORの設定を無効にすることも、環境変数AV_LOG_FORCE_COLORの設定を強制することもできます。環境変数NO_COLORの使用は推奨されておらず、次のFFmpegバージョンでは削除される予定です。

17
qubodup

以下はmacOSで私のために働きました:

ffmpeg -v quiet

進行状況を確認するだけです。

ffmpeg -v quiet -stats
4
morja

あなたはgrepを通して標準エラー出力を渡すことができます。たとえば、設定情報を削除したい場合は、次のようにします。

% ffmpeg -i infile.avi -s 640x480 outfile.avi >/dev/null 2>&1 | grep -v configuration:
2
LittleRed

これは少し手間がかかりますが、>/dev/null 2>&1を追加することはシェルでffmpegを黙らせるための確実な方法です。

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

bash出力についてのさらなる情報

0
Koodough

ffmpeg -loglevel error -hide_banner -nostats

エラーだけです。他にはありません。

私は個人的にこれが一番好きです。

ffmpeg -loglevel warning -hide_banner -stats

警告とエラーだけが表示されますが、作業の進行状況も表示されます。

0