ffmpeg で音声を高音質で aac に変換するには
libfdk_aac
をインストールする必要があります。
Arch Linux ( Manjaro Linux 等 ) では
yaourt -S ffmpeg-libfdk_aacコマンドでインストールできます。
変換時の ffmpeg のオプション指定方法は
ffmpeg -i 入力ファイル -acodec libfdk_aac -profile:a aac_he_v2 -vbr [品質] 出力ファイルといった具合です。
出力ファイルはAACに対応する形式が限られます。
以下に ffmpeg のサイトより対応表を引用しておきます。
(非対応のものを指定するとエラーになります)
Container | Audio formats supported |
MKV/MKA | Vorbis, MP2, MP3, LC-AAC, HE-AAC, WMAv1, WMAv2, AC3, eAC3, Opus |
MP4/M4A | MP2, MP3, LC-AAC, HE-AAC, AC3 |
FLV/F4V | MP3, LC-AAC, HE-AAC |
3GP/3G2 | LC-AAC, HE-AAC |
MPG | MP2, MP3 |
PS/TS Stream | MP2, MP3, LC-AAC, HE-AAC, AC3 |
M2TS | AC3, eAC3 |
VOB | MP2, AC3 |
RMVB | Vorbis, HE-AAC |
WebM | Vorbis, Opus |
OGG | Vorbis, Opus |
ここで LC-AAC、HC-AACの違いは
- LC-AAC:AAC-LC (AAC Low Complexity)と呼ばれる基本機能だけのもの
- HE-AAC :High-Efficiency AAC、aacPlus、AAC+SBR、aacPlus Version 2、Enhanced aacPlus、AAC+SBR+PS と呼ばれる低ビットレートで高音質となるもの
となっています。
HE-AAC を使う場合は
-profile:a aac_he
または
-profile:a aac_he_v2
を指定します。
v2のほうが新しい規格で、48kbps 以下の低ビットレートでの音質が改善します。
-vbr オプションの [品質] の部分には 1〜5 を指定します。
HE-AAC を使う場合は 3 が最高品質、
そうでない場合は 5が最高品質です。
なお -vbr オプションは可変ビットレートとなります。
固定ビットレートにしたい場合は
-vbr [品質] の代わりに -b:a 384k 等と指定します。