この記事でわかること

  • volumedetect フィルタで音量情報を取得するコマンド
  • max_volume(最大音量)と mean_volume(平均音量)の読み方
  • dBFS(デシベル・フル・スケール)の概念
  • ラウドネス正規化の前処理として活用する方法
  • 音量が小さすぎる・大きすぎる音声ファイルの診断手順

テスト済みバージョン: FFmpeg 6.1で確認済み(検証スクリプトで実 FFmpeg 実行確認) 対象 OS: Windows / macOS / Linux


基本コマンド

ffmpeg -i input.mp3 -af volumedetect -f null /dev/null

-f null /dev/null は出力ファイルを生成しません。音量情報は標準エラー出力に表示されます。


出力の読み方

コマンド実行後、以下のような出力が得られます:

[Parsed_volumedetect_0 @ 0x...] mean_volume: -23.1 dBFS
[Parsed_volumedetect_0 @ 0x...] max_volume: -0.5 dBFS
[Parsed_volumedetect_0 @ 0x...] histogram_0db: 12
[Parsed_volumedetect_0 @ 0x...] histogram_1db: 45
フィールド説明
mean_volume音声全体の平均音量(dBFS)
max_volume音声全体の最大ピーク音量(dBFS)
histogram_XdbX dBFS以上のサンプル数(詳細分布)

dBFSとは

dBFS(decibels relative to full scale) はデジタル音声の音量単位です。

  • 0 dBFS = デジタルの最大値(クリッピングの限界)
  • -6 dBFS = 最大値の約半分の振幅
  • 値が大きいほど(0に近いほど)大きな音

動画ファイルの音声を確認

ffmpeg -i input.mp4 -af volumedetect -f null /dev/null

動画ファイルでも同様に動作します。複数音声トラックがある場合は -map 0:a:1 で特定のトラックを指定できます。


ラウドネス正規化の前処理として使う

max_volume が -0.5 dBFS の場合、0 dBFSまで +0.5 dB 持ち上げられることがわかります。

1. volumedetectで現在の音量を確認

ffmpeg -i input.mp3 -af volumedetect -f null /dev/null

2. volumeフィルタで音量を調整

ffmpeg -i input.mp3 -af "volume=+0.5dB" output.mp3

ヒント: ITU-R BS.1770(ラウドネス測定)に基づく正確なノーマライズには loudnorm フィルタを使用してください。詳しくは「ラウドネス正規化」記事を参照。


よくある使い方

音量が小さすぎるか確認

mean_volume が -30 dBFS 以下なら録音レベルが低い可能性があります。

ffmpeg -i input.mp3 -af volumedetect -f null /dev/null 2>&1 | grep -E "mean_volume|max_volume"

2>&1 | grep で必要な行だけを抽出できます。

クリッピング(歪み)の確認

max_volume0.0 dBFS の場合はクリッピングが発生している可能性があります。histogram_0db の値が大きいほど問題が深刻です。


関連リソース

よく使うオプション・フィルタ・コーデック設定をまとめた PDF チートシートです。手元に置いておくと調べる時間を短縮できます。

FFmpeg チートシート

関連記事


動作確認: ffmpeg 6.1 / Ubuntu 24.04 (検証スクリプトで実行確認) 一次ソース: ffmpeg.org/ffmpeg-filters.html#volumedetect / trac.ffmpeg.org/wiki/AudioVolume