広告 ハイレゾレコーディング

FFmpeg のAACやMP3エンコーダの違いによるビットレート変動(振る舞い)を可視化

スポンサーリンク

 

「フレーム単位」と「秒単位」で音声ファイルのビットレートをグラフ化する方法(下の参照記事)を使って、FFmpeg のAACやMP3エンコーダで変換された音声ファイルのビットレート変動(振る舞い)の違いを可視化してみました。 

「秒単位」グラフを基にビットレート種別(CBR or VBR)を目視で判定し、この目視判定の結果とMediaInfoで示されるビットレート種別の結果との違いの有無を確認します。

参照記事

 

エンコード(変換)する音声ファイルについて

1959年録音のカラヤンとベルリン・フィルが演奏した「ドヴォルザークのスラヴ舞曲第1番ハ長調 Op.46-1」CD音源(=リッピングしたFlac 16bit 44.1khzファイル)です。

XLDで変換したAAC(VBR-q127)ファイル:
カラヤン指揮・ドボルザークのスラブ舞曲(Op46-1)

Audacityによる音声ファイルのWave波形

オペレータ
オペレータ

ビットレート変動をグラフ化する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のビットレート種別と目視判定が合致 ◯

 

 

ビットレートの変動を可視化して分かったこと(マトメ)

  1. エンコーダの種類によって、ビットレート変動の挙動に相違がある。
  2. CBRモードで変換されたAACファイルは、フレーム単位でビットレート変動がある。
  3. AACエンコーダで変換された音声ファイルは、MediaInfoのビットレート種別・判定と一致しない場合がある。
  4. MP3エンコーダの[ libmp3lame ]は、CBRモード、VBRモードでビットレート種別の定義と厳密に一致する。

 

以上、「FFmpeg のAACやMP3エンコーダの違いによるビットレートの変動(振る舞い)を可視化」したレポートでした。

 

スポンサーリンク

 

スポンサーリンク