/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

ffmpegで変換の際に大量に出る標準出力をログレベル指定ですっきりする

こんばんは〜。

ここ最近、また寒くないですか?!暖かかったり寒かったり・・・・体調には気をつけてください。っていうか!!寒さも気になるんだけど、それよりなにより・・・・

花粉症!!

ひどいわ〜。もう鼻がズルズル来てます。机にいるときはいいんだけど、外出中とかなにかやっている最中とかに鼻がムズムズくると本当困るわ。鼻シュッシュでもやりますかね。

何かおすすめの花粉症対策や薬があったらぜひ教えて下さい。

今日は花粉症の話題ではなくて、ffmpegの話題です。

大量のログを消したい

何かとよく使うffmpeg。動画変換もそうだし、音声だけを抽出したりとかなり重宝しています。

そのffmpeg。変換中にはこんな感じで凄くログが出ます。

$ ffmpeg -i test.mp4 test.mp3
ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers
  built on Feb 15 2015 21:43:03 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libpulse --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvo-aacenc --enable-libvidstab
  libavutil      54. 15.100 / 54. 15.100
  libavcodec     56. 13.100 / 56. 13.100
  libavformat    56. 15.102 / 56. 15.102
  libavdevice    56.  3.100 / 56.  3.100
  libavfilter     5.  2.103 /  5.  2.103
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.15.102
  Duration: 00:29:31.33, start: 0.000000, bitrate: 117 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 320x180 [SAR 1:1 DAR 16:9], 9 kb/s, 12 fps, 12 tbr, 12288 tbn, 24 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 104 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Output #0, mp3, to 'test.mp3':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    TSSE            : Lavf56.15.102
    Stream #0:0(und): Audio: mp3 (libmp3lame), 48000 Hz, mono, fltp (default)
    Metadata:
      handler_name    : SoundHandler
      encoder         : Lavc56.13.100 libmp3lame
Stream mapping:
  Stream #0:1 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
size=   13800kB time=00:29:32.78 bitrate=  63.8kbits/s    
video:0kB audio:13799kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002406%

(ちなみにこれはmp4ファイルをmp3ファイルに変換です)

めっちゃ多いわ〜。ってことでそのログを消すパラメータ。

「-loglevel」をつければログ調整が出来る

困ったときのドキュメント。

英語ドキュメントはこちら。

ffmpeg Documentation  
 
日本語に訳してあるページもあった。

そこでパラメータを調べたところ、「-loglevel」というパラメータで制御できるとのこと。

‘-loglevel loglevel’
そのライブラリで使用されるログの冗長さを設定します。 loglevel は以下の値の1つを含んだ数値または文字列:

‘quiet’
‘panic’
‘fatal’
‘error’
‘warning’
‘info’
‘verbose’
‘debug’
既定ではプログラムは標準エラー出力にログを出力し、端末が色付けに 対応していれば、エラーと警告に印をつけるように色が使われます。 ログの色付けは環境変数 NO_COLOR をセットすることで無効にできます。

ふむ。

では早速実行。最初は全くログが出ない形の"quiet"で実行。

$ ffmpeg -i test.mp4 -loglevel quiet test.mp3
$ 

全く出ないwwwwなので記事にするにも困るwwwwとにかく、「-loglevel quiet」をつけたら全くログが出ませんでした。

「-loglevel」の後ろに数字を付けてもいいらしい。"ffmpeg -i test.mp4 -loglevel 1 test.mp3"とやっても全くログが出てきませんでした。

各ログレベルの役割

-loglevelの値として渡せるのは以下。

loglevel 数値 意味
quiet -8 まったくログなし
panic 0 クラッシュなど致命的なエラーを出力。(今は使われないらしい)
fatal 8 クラッシュなど致命的なエラーを出力。エラー終了する。
error 16 エラーメッセージをすべて表示
warning 24 すべての警告と、エラーを表示
info 32 処理中に必要な情報を表示。警告も含まれる。デフォルトはこれ
verbose 40 infoと同じ+より詳細な情報を出力
debug 48 デバッグ情報表示

(参考:http://blog.jungkyungsuk.com/tag/loglevel/

らしいです。

最後に

誰得と思えるような記事を書いてしまったwwでも自分にとっては結構重要なお話なので、備忘録も含めて記事にしました。

ffmpegは動画配信にも使うし、動画とかを扱う場合には非常に便利です。この本にも興味がある。

それではまた〜。