Pulling the audio out of an MP4 — a lecture recording, a podcast video, a music video, a screen capture — and saving it as an MP3 is one of the most common FFmpeg jobs there is. MP3 is universal: it plays on every phone, car stereo, and audio app on earth. This guide shows how to convert MP4 to MP3 cleanly with FFmpeg, how to choose between VBR and CBR, what bitrate to pick, and how to trim just the part you want.

Tested with: FFmpeg 8.1


What You’ll Learn

  1. The one command that extracts MP3 from any MP4
  2. VBR (-q:a) vs. CBR (-b:a): which to use
  3. A bitrate / quality cheat sheet
  4. Why -vn matters (dropping the video stream)
  5. Trimming to extract just a section
  6. Mono output and sample-rate control
  7. Troubleshooting
  8. FAQ

1. The One Command

This extracts the audio from the MP4 and encodes a high-quality MP3:

ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
  • -vn … no video; discard the video stream so only audio is processed
  • -c:a libmp3lame … encode with LAME, the standard high-quality MP3 encoder
  • -q:a 2 … VBR quality level 2 — roughly 190 kbps average, excellent quality

This is the recommended default for almost everyone.

Prefer a fixed bitrate?

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

-b:a 192k sets a constant 192 kbps bitrate (CBR). Use this when a player or service requires a predictable bitrate.


2. VBR vs. CBR — Which Should You Use?

There are two ways to control MP3 quality:

ModeOptionWhat it doesBest for
VBR (variable)-q:a 0 to 9Spends bits where the audio is complexBest quality-per-MB; general use
CBR (constant)-b:a 128k, 192k, 320kFixed bitrate everywhereStrict compatibility, streaming, predictable size

Use VBR (-q:a) by default. It gives you better quality at a smaller average file size because it allocates bits intelligently. Use CBR only when something downstream specifically requires a constant bitrate.

The VBR scale is inverse — lower numbers mean higher quality:

-q:a valueApprox. average bitrateQuality
0~245 kbpsHighest VBR quality
2~190 kbpsExcellent (recommended)
4~165 kbpsVery good
6~115 kbpsGood, smaller files

3. Bitrate / Quality Cheat Sheet

For CBR (-b:a), pick based on content:

BitrateQualityGood for
320kMaximum MP3 qualityMusic you’ll keep
192kTransparent for most listenersGeneral music & video audio
128kGoodPodcasts, casual music
96kAcceptableVoice-only, audiobooks
64kLowLong speech recordings, tight storage

For spoken-word content (lectures, podcasts), 96k–128k is plenty. For music, 192k or VBR -q:a 2 is the sweet spot, with 320k as the maximum.


4. Why -vn Matters

Without -vn, FFmpeg may try to carry the video stream along — which makes no sense for an MP3 file and can cause errors or wasted processing. -vn (“no video”) tells FFmpeg to ignore the video entirely and process only the audio. Always include it when going from MP4 to MP3.

If the MP4 has multiple audio tracks (e.g., different languages) and you want a specific one, select it by index:

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

-map 0:a:1 picks the second audio track (numbering starts at 0). Adjust the index to match the track you want.


5. Trimming — Extract Just a Section

To grab only a portion of the audio (e.g., a 90-second clip starting at 1:30):

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 … start at 1 minute 30 seconds
  • -t 00:01:30 … take 90 seconds of audio from that point

You can also use -to to specify an end time instead of a duration:

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

This extracts the audio between 1:30 and 3:00.


6. Mono Output and Sample Rate

For voice recordings, mono and a lower sample rate cut the file size in half with no perceptible loss for speech:

ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 5 -ac 1 -ar 44100 output.mp3
  • -ac 1 … downmix to mono (perfect for lectures and voice memos)
  • -ar 44100 … set the sample rate to 44.1 kHz (the standard MP3 rate)

Keep stereo (-ac 2, the default) for music. There’s no reason to drop the sample rate below 44.1 kHz for general listening.


7. Troubleshooting

Error 1: Unknown encoder 'libmp3lame'

Cause: Your FFmpeg build was compiled without LAME. Fix: Install a full build (the official Windows builds and most Linux packages include LAME). Specifying -c:a libmp3lame explicitly is recommended; -c:a mp3 is simply an alias that maps to the available MP3 encoder (libmp3lame on a typical build), not a separate lower-quality encoder.

Error 2: The output is silent

Cause: You selected a non-existent or wrong audio track, or the source MP4 has no audio. Fix: Run ffprobe input.mp4 to confirm an audio stream exists, then drop or fix the -map option.

Error 3: Trimmed clip starts a moment late

Cause: With -ss placed before -i, FFmpeg seeks to the nearest point efficiently; for sample-accurate cuts on a re-encode this is usually fine. Fix: If you need exact timing, place -ss after -i (slower but precise):

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

Error 4: File is much larger than expected

Cause: You used a high CBR bitrate like 320k. Fix: Switch to VBR -q:a 2, or lower the CBR bitrate to 192k.

Error 5: Player shows no title/artist

Cause: MP4 tags don’t always map cleanly to MP3 ID3 tags. Fix: Add metadata explicitly, e.g. -metadata title="My Track" -metadata artist="Name".


FAQ

Q1. Does converting MP4 audio to MP3 reduce quality? A. Yes, slightly — the MP4 audio (usually AAC) is decoded and re-encoded to MP3, which is lossy. At -q:a 2 or 192k+ the difference is inaudible to most listeners.

Q2. Should I use VBR or CBR? A. VBR (-q:a 2) for the best quality-to-size ratio. CBR (-b:a) only when a player or upload service demands a fixed bitrate.

Q3. What’s the best bitrate for a podcast? A. 96k–128k CBR, or -q:a 5 VBR, is plenty for speech. Mono (-ac 1) halves the size again.

Q4. Can I keep the original AAC audio instead of MP3? A. If you don’t specifically need MP3, extracting to M4A with -c:a copy is lossless and instant — but MP3 has wider device support.

Q5. How do I extract audio from only part of the video? A. Use -ss for the start and -t (duration) or -to (end time), as shown in Section 5.

Q6. Should I specify libmp3lame or just mp3? A. LAME is the most mature, highest-quality MP3 encoder available, and -c:a libmp3lame makes your intent explicit. -c:a mp3 is just an alias that resolves to whichever MP3 encoder your build provides — on a normal build that’s libmp3lame — so it isn’t a separate, lower-quality encoder. Naming libmp3lame directly is the recommended habit.



Tested with FFmpeg 8.1 — verified with our command-check script Primary sources: ffmpeg.org/ffmpeg.html / ffmpeg.org/ffmpeg-codecs.html