MP4から音声だけを取り出してMP3として保存する——講義の録画、ポッドキャスト動画、ミュージックビデオ、画面録画など——これはFFmpegの定番作業のひとつです。MP3は万能で、世界中のスマホ・カーステレオ・音楽アプリで再生できます。本記事では、FFmpegでMP4をMP3に変換するきれいな方法、VBRとCBRの選び方、ビットレートの選択、必要な部分だけを切り出す方法を解説します。

動作確認: FFmpeg 8.1


この記事でわかること

  1. どんなMP4からもMP3を抽出する1つのコマンド
  2. VBR(-q:a)とCBR(-b:a):どちらを使うか
  3. ビットレートと品質の早見表
  4. なぜ -vn が重要か(映像ストリームを捨てる)
  5. 区間だけを切り出すトリミング
  6. モノラル出力とサンプルレートの制御
  7. トラブルシューティング
  8. よくある質問

1. 基本のコマンド

MP4から音声を抽出し、高品質なMP3にエンコードします。

ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
  • -vn … 映像なし。映像ストリームを破棄し、音声だけを処理する
  • -c:a libmp3lame … 標準的な高品質MP3エンコーダLAMEでエンコード
  • -q:a 2 … VBR品質レベル2——平均約190kbps、優れた品質

これがほとんどの人におすすめの既定です。

固定ビットレートが良い場合

ffmpeg -i input.mp4 -vn -c:a libmp3lame -b:a 192k output.mp3

-b:a 192k は一定の192kbps(CBR)を設定します。プレーヤーやサービスが予測可能なビットレートを要求する場合に使います。


2. VBRとCBR——どちらを使うべき?

MP3の品質を制御する方法は2つあります。

モードオプション動作向いている用途
VBR(可変)-q:a 09音が複雑な部分にビットを多く割く容量あたりの品質が最良・汎用
CBR(固定)-b:a 128k192k320k全体で固定ビットレート厳密な互換性・配信・容量の予測

既定はVBR(-q:a)を使いましょう。 ビットを賢く配分するため、より小さい平均ファイルサイズでより良い品質が得られます。CBRは、後続の処理が固定ビットレートを明確に要求する場合だけ使います。

VBRの尺度は逆向きで、数値が小さいほど高品質です。

-q:a の値平均ビットレートの目安品質
0約245kbpsVBR最高品質
2約190kbps優秀(推奨)
4約165kbps非常に良い
6約115kbps良い・小容量

3. ビットレートと品質の早見表

CBR(-b:a)は内容に応じて選びます。

ビットレート品質向いている用途
320kMP3の最高品質残したい音楽
192k多くの人に透過的一般的な音楽・動画音声
128k良いポッドキャスト・気軽な音楽
96k許容範囲音声のみ・オーディオブック
64k低い長尺の音声録音・容量節約

講義やポッドキャストなどの音声中心コンテンツは96k〜128kで十分です。音楽は192kまたはVBR -q:a 2 が最適で、320kが上限です。


4. なぜ -vn が重要か

-vn がないと、FFmpegは映像ストリームも引き連れようとする場合があります。MP3ファイルには無意味で、エラーや無駄な処理の原因になります。-vn(映像なし)はFFmpegに映像を完全に無視させ、音声だけを処理させます。MP4からMP3にする際は必ず付けてください。

MP4に複数の音声トラック(例:言語違い)があり、特定の1つが欲しい場合はインデックスで選択します。

ffmpeg -i input.mp4 -vn -map 0:a:1 -c:a libmp3lame -q:a 2 output.mp3

-map 0:a:1 は2番目の音声トラックを選びます(番号は0から始まります)。欲しいトラックに合わせてインデックスを調整してください。


5. トリミング——区間だけを切り出す

音声の一部だけ(例:1分30秒から90秒のクリップ)を取り出すには:

ffmpeg -ss 00:01:30 -t 00:01:30 -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
  • -ss 00:01:30 … 1分30秒から開始
  • -t 00:01:30 … その地点から90秒分の音声を取得

長さの代わりに終了時刻を指定するには -to を使います。

ffmpeg -ss 00:01:30 -to 00:03:00 -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3

これは1:30から3:00までの音声を抽出します。


6. モノラル出力とサンプルレート

音声録音では、モノラルと低めのサンプルレートでファイルサイズが半減し、しかも音声では聴感上の劣化がありません。

ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 5 -ac 1 -ar 44100 output.mp3
  • -ac 1 … モノラルにダウンミックス(講義やボイスメモに最適)
  • -ar 44100 … サンプルレートを44.1kHzに設定(MP3の標準レート)

音楽はステレオ(-ac 2、既定)のままにします。一般的な視聴で44.1kHz未満に下げる理由はありません。


7. トラブルシューティング

エラー1: Unknown encoder 'libmp3lame'

原因: お使いのFFmpegビルドがLAMEなしでコンパイルされている。 解決策: フルビルドを導入する(公式Windowsビルドや大半のLinuxパッケージにLAMEが含まれます)。-c:a libmp3lame を明示的に指定するのがおすすめです。-c:a mp3 は利用可能なMP3エンコーダ(通常のビルドではlibmp3lame)に割り当てられる別名にすぎず、別個の低品質エンコーダではありません。

エラー2: 出力が無音

原因: 存在しない/誤った音声トラックを選んだ、または元のMP4に音声がない。 解決策: ffprobe input.mp4 で音声ストリームの有無を確認し、-map オプションを外すか修正する。

エラー3: 切り出したクリップの先頭が少し遅れる

原因: -ss-i の前に置くとFFmpegは最寄りの点へ効率的にシークします。再エンコードのサンプル精度カットでは通常これで問題ありません。 解決策: 厳密なタイミングが必要なら -ss-i の後に置きます(遅いが正確)。

ffmpeg -i input.mp4 -ss 00:01:30 -t 00:01:30 -vn -c:a libmp3lame -q:a 2 output.mp3

エラー4: ファイルが予想よりずっと大きい

原因: 320kなど高いCBRビットレートを使った。 解決策: VBR -q:a 2 に切り替えるか、CBRを192kに下げる。

エラー5: プレーヤーにタイトル/アーティストが表示されない

原因: MP4のタグはMP3のID3タグに必ずしもきれいに対応しない。 解決策: メタデータを明示的に付ける。例:-metadata title="My Track" -metadata artist="Name"


よくある質問

Q1. MP4の音声をMP3に変換すると品質は落ちますか。 A. わずかに落ちます——MP4の音声(通常AAC)をデコードしてMP3に再エンコードするため非可逆です。-q:a 2 や192k以上では大半の人に聞き分けられません。

Q2. VBRとCBRのどちらを使うべきですか。 A. 容量対品質が最良のVBR(-q:a 2)です。CBR(-b:a)は、プレーヤーやアップロード先が固定ビットレートを要求する場合だけにします。

Q3. ポッドキャストに最適なビットレートは。 A. 音声なら96k〜128kのCBR、またはVBR -q:a 5 で十分です。モノラル(-ac 1)でさらに半減します。

Q4. MP3ではなく元のAAC音声を残せますか。 A. MP3が特に必要でなければ、-c:a copy でM4Aに抽出すれば無劣化かつ瞬時です——ただしMP3の方が対応機器は広いです。

Q5. 動画の一部分だけ音声抽出するには。 A. 第5節のとおり、開始に -ss、長さに -t、終了時刻に -to を使います。

Q6. libmp3lamemp3 のどちらを指定すべきですか。 A. LAMEは入手できる中で最も成熟した最高品質のMP3エンコーダで、-c:a libmp3lame と書けば意図が明確になります。-c:a mp3 はビルドが提供するMP3エンコーダ(通常のビルドではlibmp3lame)に解決される別名にすぎず、別個の低品質エンコーダではありません。libmp3lame を直接指定する習慣がおすすめです。


関連記事


Tested with FFmpeg 8.1 — verified with our command-check script 一次ソース: ffmpeg.org/ffmpeg.html / ffmpeg.org/ffmpeg-codecs.html