「フレーム単位」と「秒単位」で音声ファイルのビットレートをグラフ化する方法(下の参照記事)を使って、FFmpeg のAACやMP3エンコーダで変換された音声ファイルのビットレート変動(振る舞い)の違いを可視化してみました。
「秒単位」グラフを基にビットレート種別(CBR or VBR)を目視で判定し、この目視判定の結果とMediaInfoで示されるビットレート種別の結果との違いの有無を確認します。
参照記事
- フレーム単位でグラフ化:詳細にビットレート変動をグラフ化する
- 秒単位でグラフ化:平均的なビットレート変動をグラフ化する
エンコード(変換)する音声ファイルについて
1959年録音のカラヤンとベルリン・フィルが演奏した「ドヴォルザークのスラヴ舞曲第1番ハ長調 Op.46-1」CD音源(=リッピングしたFlac 16bit 44.1khzファイル)です。
ビットレート変動をグラフ化するFFmpegエンコーダは、以下の4種類です。 夫々のコマンドラインは公式ガイドに基づいてファイル変換しています。
フォーマット | エンコーダ名 | 公式ガイド先 |
AAC | libfdk_aac | https://trac.ffmpeg.org/wiki/Encode/AAC |
aac_at | ||
Native AAC | ||
MP3 | libmp3lame | https://trac.ffmpeg.org/wiki/Encode/MP3 |
ビットレートグラフ:[libfdk_aac] AACエンコーダ
1) CBRモード 320kbpsで変換
ビットレート種別(確認)
CBRモードでAAC変換しているものの、「フレーム単位」グラフでは、ビットレートの変動が認められれます。 一方、「秒単位」グラフでは、略フラットな変動から、ビットレート種別としては、CBRと考えられます。
MediaInfoのビットレート種別を確認すると、CBRで表示されており、「秒単位」グラフの目視結果と合致しています。
MediaInfoのビットレート種別と目視判定が合致 ◯
2) VBRモードで変換
ビットレート種別(確認)
VBRモードでAAC変換してるので、「フレーム単位」グラフ及び「秒単位」グラフで大きなビットレートの変動が認められれるので、ビットレート種別としては、VBRと言えます。
MediaInfoのビットレート種別を確認すると、CBRで表示されており、「秒単位」グラフの目視結果と一致していません。
MediaInfoのビットレート種別と目視判定が不一致 ✗
ビットレートグラフ:[ aac_at ] AACエンコーダ
CBRモード 320kbpsで変換
MediaInfoのビットレート種別と目視判定が合致 ◯
ビットレートグラフ:[Native] AACエンコーダ
1) CBRモード 320kbpsで変換
ビットレート種別(確認)
CBRモードでAAC変換しているものの、「フレーム単位」グラフ及び「秒単位」グラフで大きなビットレートの変動が認められれるので、ビットレート種別としては、VBRと言えます。
MediaInfoのビットレート種別を確認すると、VBRで表示されており、「秒単位」グラフの目視結果と合致しています。
MediaInfoのビットレート種別と目視判定が合致 ◯
2) CBRモード 160kbpsで変換
ビットレート種別(確認)
CBRモードでAAC変換しているものの、「フレーム単位」グラフでは、ビットレートの変動が認められれます。 一方、「秒単位」グラフでは、略フラットな変動から、ビットレート種別としては、CBRと考えられます。
MediaInfoのビットレート種別を確認すると、VBRで表示されており、「秒単位」グラフの目視結果と一致していません。
MediaInfoのビットレート種別と目視判定が不一致 ✗
ビットレートグラフ:[libmp3lame] MP3エンコーダ
1) CBRモード 320kbpsで変換
ビットレート種別(確認)
CBRモードでMP3変換してるので、「フレーム単位」グラフ及び「秒単位」グラフで完全フラットであり、ビットレート種別としては、CBRと考えられます。
MediaInfoのビットレート種別を確認すると、CBRで表示されており、「秒単位」グラフの目視結果と合致しています。
MediaInfoのビットレート種別と目視判定が合致 ◯
2) VBRモードで変換
ビットレート種別(確認)
VBRモードでMP3変換してるので、「フレーム単位」グラフ及び「秒単位」グラフで大きなビットレートの変動が認められれるので、ビットレート種別としては、VBRと言えます。
MediaInfoのビットレート種別を確認すると、VBRで表示されており、「秒単位」グラフの目視結果と一致しています。
MediaInfoのビットレート種別と目視判定が合致 ◯
ビットレートの変動を可視化して分かったこと(マトメ)
- エンコーダの種類によって、ビットレート変動の挙動に相違がある。
- CBRモードで変換されたAACファイルは、フレーム単位でビットレート変動がある。
- AACエンコーダで変換された音声ファイルは、MediaInfoのビットレート種別・判定と一致しない場合がある。
- MP3エンコーダの[ libmp3lame ]は、CBRモード、VBRモードでビットレート種別の定義と厳密に一致する。