デフォルトでは、ffmpeg は標準エラーにたくさんのメッセージを送ります: いつビルドされたか、どのようにビルドされたか、コーデックなど
静かにするにはどうしたらいいですか?
私は-v 0
を試してみましたが(ドキュメントには入力範囲が何であるかわからないままSet the logging verbosity level.
と書いてあるだけなので-v 10
も試してみました)、やはり静かではありません
-loglevel quiet
を試してみましたが、やはり静かではありません
私が求めているのは「より静かな」ことであって、「絶対に出力されない」ことではありません。エラーがあればそれを見たいのですが、ffmpegの設定を毎回聞く必要はありません
167 blahdiblah 2011-08-22
ffmpeg -hide_banner -loglevel panic
これは、現在の回答の下のコメントでも言及されています
オプション-hide_banner
は2013年後半に導入された — https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2013-December/152349.html )
-loglevel warning
の方が-loglevel panic
よりも良いようです。コメントを参照してください
133 Hugues 2016-02-24
試してはいませんが、マンページにオプションがあります
ffmpeg -loglevel panic [rest of your ffmpeg stuff]
理論的には深刻なエラーだけが記録されるようにすべきです
128 Alec 2012-01-12
ここにソースコード(FFmpeg version 0.10.2.git)からのloglevelsがあります
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 },
};
65 surcho 2012-06-18
私は以下のものを成功裏に使用しています(記事執筆時の最新のFFMPEGバージョン)
-nostats -loglevel 0
そうすると、私の使用シーンでは絶対に静かです
25 Michael 2015-08-12
ffmpeg -loglevel error [other commands]
これはバナーを非表示にし、エラーのみを表示します。警告を表示したい場合は -loglevel warning
を使用してください
Ffmpeg 3.0.2でテストしました
文書より
-loglevel [repeat+]loglevel | -v [repeat+]loglevel
ライブラリで使用するログレベルを設定します。”repeat+”を追加すると、繰り返されるログ出力を1行目に圧縮してはいけないことを示し、”Last message repeated n times “の行は省略されます。”repeat “は単独で使用することもできます。repeat” を単独で使用した場合、事前のログレベルが設定されていない場合は、デフォルトのログレベルが使用されます。複数のログレベルパラメータを指定した場合、’repeat’ を使用してもログレベルは変更されません
‘quiet, -8’
何も見せずに黙っている
‘panic, 0’
プロセスがクラッシュする可能性のある致命的なエラーのみを表示します。これは今のところ何にも使われていません
‘fatal, 8’
致命的なエラーのみを表示します。これらのエラーは、その後の処理が絶対に続行できないエラーです
‘error, 16’
復旧可能なエラーを含め、すべてのエラーを表示します
‘warning, 24’
すべての警告とエラーを表示します。不正確な場合や予期せぬイベントに関連するメッセージが表示されます
‘info, 32’
処理中に有益なメッセージを表示します。これは警告やエラーに加えて、情報を表示します。これはデフォルト値です
‘verbose, 40’
info
と同じですが、より冗長です‘debug, 48’
デバッグ情報を含むすべての情報を表示します
‘trace, 56’
デフォルトでは、プログラムは標準エラー出力にログを記録しますが、ターミナルで色分けがサポートされている場合は、エラーや警告に色をつけます。ログの色付けは、環境変数
AV_LOG_FORCE_NOCOLOR
またはNO_COLOR
を設定することで無効にすることができ、環境変数AV_LOG_FORCE_COLOR
を設定することで強制的に行うことができます。環境変数NO_COLOR
の使用は非推奨であり、次の FFmpeg バージョンでは削除されます
20 qubodup 2016-07-09
macOSでは以下のように動作しました
ffmpeg -v quiet
または進行状況だけを見るために
ffmpeg -v quiet -stats
7 morja 2018-10-04
grep を通して標準エラーをパイプすることができます。例えば、設定情報を削除したい場合は次のようにします
% ffmpeg -i infile.avi -s 640x480 outfile.avi >/dev/null 2>&1 | grep -v configuration:
3 LittleRed 2013-04-17
ffmpeg -loglevel error -hide_banner -nostats
エラーだけで、他には何もありません
個人的にはこれが一番好きです;
ffmpeg -loglevel warning -hide_banner -stats
警告やエラーだけでなく、作業の進捗状況も表示してくれます
3 Roel Van de Paar 2019-05-30
これはちょっと安っぽいですが、>/dev/null 2>&1
をつけることで、シェル内でffmpegを黙らせておくことができます
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
0 Koodough 2011-08-23