2011-08-22 21:59:57 +0000 2011-08-22 21:59:57 +0000
132
132

ffmpegを静かにするにはどうしたらいいですか?

デフォルトでは、ffmpeg は標準エラーに大量のメッセージを送信します。

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

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

-loglevel quietを試してみたが、やはり静かではない。

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

回答 (9)

122
122
122
2012-01-12 00:59:37 +0000

テストはしていませんが、マニュアルページに「

ffmpeg -loglevel panic [rest of your ffmpeg stuff]

」というオプションがあるので、理論的には深刻なエラーのみが記録されるようにする必要があります。

92
92
92
2016-02-24 19:37:56 +0000

ffmpeg -hide_banner -loglevel panic

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

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

58
58
58
2012-06-18 11:54:37 +0000

ソースコード (FFmpeg version 0.10.2.git) の loglevels は以下の通りです。

21
21
21
2015-08-12 06:41:29 +0000
18
18
18
2016-07-09 17:25:13 +0000
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 バージョンでは削除されます。

5
5
5
2018-10-04 16:04:12 +0000

macOSでは、

ffmpeg -v quiet

とか、進行状況だけを見るために以下のように動作しました。

ffmpeg -v quiet -stats
``` 0x1&
3
3
3
2013-04-17 14:00:47 +0000

grep を通して標準エラーをパイプすることができます。例えば、設定情報を削除したい場合は次のようにします。

% ffmpeg -i infile.avi -s 640x480 outfile.avi >/dev/null 2>&1 | grep -v configuration:
0
0
0
2019-05-30 01:41:51 +0000

ffmpeg -loglevel error -hide_banner -nostats

エラーだけで、それ以外は何も表示されません。

ffmpeg -loglevel warning -hide_banner -stats

個人的にはこれが一番気に入っています;

0x6&

警告とエラーだけでなく、作業の進捗状況も表示されます。

0
0
0
2011-08-23 05:08:56 +0000

これはちょっとチープな方法ですが、>/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出力の詳細情報