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
- The one command that extracts MP3 from any MP4
- VBR (
-q:a) vs. CBR (-b:a): which to use - A bitrate / quality cheat sheet
- Why
-vnmatters (dropping the video stream) - Trimming to extract just a section
- Mono output and sample-rate control
- Troubleshooting
- 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:
| Mode | Option | What it does | Best for |
|---|---|---|---|
| VBR (variable) | -q:a 0 to 9 | Spends bits where the audio is complex | Best quality-per-MB; general use |
| CBR (constant) | -b:a 128k, 192k, 320k | Fixed bitrate everywhere | Strict 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 value | Approx. average bitrate | Quality |
|---|---|---|
| 0 | ~245 kbps | Highest VBR quality |
| 2 | ~190 kbps | Excellent (recommended) |
| 4 | ~165 kbps | Very good |
| 6 | ~115 kbps | Good, smaller files |
3. Bitrate / Quality Cheat Sheet
For CBR (-b:a), pick based on content:
| Bitrate | Quality | Good for |
|---|---|---|
| 320k | Maximum MP3 quality | Music you’ll keep |
| 192k | Transparent for most listeners | General music & video audio |
| 128k | Good | Podcasts, casual music |
| 96k | Acceptable | Voice-only, audiobooks |
| 64k | Low | Long 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.
Related Articles
- Complete Guide to Extracting Audio from Video
- Complete Guide to Audio Format Conversion
- Converting Video to MP4
Tested with FFmpeg 8.1 — verified with our command-check script Primary sources: ffmpeg.org/ffmpeg.html / ffmpeg.org/ffmpeg-codecs.html