Convert MPEG to AAC — Free Online Tool
Extract and convert the audio track from an MPEG video file into a standalone AAC audio file. This tool strips the MPEG-1/2 video stream entirely and re-encodes the MP2 or MP3 audio into AAC, producing a modern, compact audio file compatible with iOS, Android, and streaming platforms.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MPEG file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
MPEG files typically carry MP2 (MPEG-1 Audio Layer II) or occasionally MP3 audio paired with MPEG-1 or MPEG-2 video. During this conversion, FFmpeg discards the video stream entirely and re-encodes only the audio from its original MP2/MP3 compression into AAC using the native FFmpeg AAC encoder. Because MP2 and AAC use fundamentally different psychoacoustic models and entropy coding, this is a full transcode — not a remux — meaning the audio is decoded to raw PCM and then re-encoded. The default output bitrate of 128k produces a file that is significantly smaller than a typical MPEG source while maintaining quality suitable for most listening scenarios. The result is a pure audio .aac container with no video data.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program, the open-source multimedia processing engine that handles the decoding, audio re-encoding, and file writing for this MPEG-to-AAC conversion. |
-i input.mpeg
|
Specifies the input MPEG file, which may contain an MPEG-1 or MPEG-2 video stream alongside an MP2, MP3, or AAC audio track. FFmpeg reads and demuxes both streams, but only the audio will be passed to the encoder. |
-c:a aac
|
Selects FFmpeg's built-in AAC encoder for the audio stream. This re-encodes the source MP2 audio from the MPEG file into AAC, which uses a more advanced psychoacoustic model and is broadly compatible with modern devices and streaming platforms. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second. For speech-heavy content from MPEG broadcast recordings this is generally sufficient; for music extracted from high-quality MPEG-2 sources, raising this to 192k or 256k will better preserve fidelity during the lossy-to-lossy transcode. |
output.aac
|
Defines the output filename and tells FFmpeg to write a raw AAC bitstream file. The .aac extension triggers the appropriate muxer; if you rename this to output.m4a, FFmpeg will wrap the same AAC audio in an MPEG-4 container, which supports metadata tags and is more universally recognized by media players. |
Common Use Cases
- Extracting the audio commentary or narration from a legacy MPEG broadcast recording to archive it as a lightweight AAC file for podcast distribution
- Pulling music or a soundtrack from an old MPEG-1 video (such as a VCD rip) to create a playable audio file on an iPhone or iPad, which natively supports AAC but not MPEG video audio streams
- Converting MPEG training or lecture videos recorded from broadcast TV into audio-only AAC files for commute listening on a mobile device
- Reducing the file size of archival MPEG news footage audio for upload to a streaming platform that requires AAC-encoded audio assets
- Preparing audio extracted from DVD-compatible MPEG-2 recordings for use in a modern video editing project that requires AAC source audio
- Extracting the audio from an MPEG home video to share via a messaging app or cloud service that handles AAC better than legacy MPEG containers
Frequently Asked Questions
Yes, some quality loss is unavoidable because this is a lossy-to-lossy transcode. The audio is decoded from MP2 (a legacy codec common in broadcast MPEG) back to raw PCM, then re-encoded into AAC. AAC is generally more efficient than MP2 at the same bitrate — meaning 128k AAC typically sounds better than 128k MP2 — but any generation of re-encoding introduces some degradation. If your source MPEG has a high-bitrate MP2 audio track (e.g., 192k or 256k), the default 128k AAC output may represent a perceptible quality reduction, and you should raise the AAC bitrate to 192k or higher to compensate.
AAC is a pure audio format and cannot contain a video stream, so FFmpeg automatically drops the video. The command targets only the audio stream for re-encoding into the .aac output file. If you need to keep the video and simply change the audio codec, you would instead convert to a container like MP4 and copy or re-encode the video stream alongside the new AAC audio.
Change the value of the -b:a flag to a higher bitrate. For example, replacing '128k' with '192k' or '256k' will produce a larger but higher-fidelity AAC file: ffmpeg -i input.mpeg -c:a aac -b:a 192k output.aac. For most music content extracted from broadcast-quality MPEG-2 sources, 192k AAC is a good balance. Going above 256k offers diminishing returns for AAC.
Yes, if your FFmpeg build includes libfdk_aac (it is not included in most pre-built binaries due to licensing), you can substitute it with: ffmpeg -i input.mpeg -c:a libfdk_aac -b:a 128k output.aac. libfdk_aac is widely regarded as producing slightly better quality than FFmpeg's native aac encoder at the same bitrate, particularly at lower bitrates like 96k–128k. The browser-based tool here uses the native aac encoder, which is available in all FFmpeg builds.
Yes. AAC is Apple's preferred audio format and is natively supported across all iOS and macOS devices, iTunes, and the Apple Music app. MPEG files, by contrast, are not reliably supported by Apple software. The .aac output from this conversion will play directly in Finder on Mac, transfer cleanly to iPhone via iTunes or Finder sync, and is compatible with AirPlay streaming.
The displayed command processes one file at a time, but you can batch convert on your desktop using a shell loop. On Linux or macOS: for f in *.mpeg; do ffmpeg -i "$f" -c:a aac -b:a 128k "${f%.mpeg}.aac"; done. On Windows Command Prompt: for %f in (*.mpeg) do ffmpeg -i "%f" -c:a aac -b:a 128k "%~nf.aac". This is especially useful for large collections of MPEG files over 1GB that exceed the browser tool's file size limit.
Technical Notes
MPEG files most commonly carry MP2 audio (MPEG-1 Audio Layer II), the standard audio codec for broadcast television and VCD/DVD-compatible MPEG-2 streams. MP2 operates on a simpler psychoacoustic model than AAC, which means AAC can achieve comparable or better perceived quality at lower bitrates. However, because both formats are lossy, chaining them introduces generational loss — particularly noticeable in high-frequency content like cymbals or sibilant speech. The native FFmpeg AAC encoder (aac) is used here; it is patent-unencumbered and available in all builds, though libfdk_aac is technically superior if available. The output .aac file is a raw AAC bitstream, not wrapped in an MP4/M4A container, so it may not embed ID3-style metadata; if you need metadata tags (artist, title, album) to survive, consider outputting to .m4a instead by changing the output filename extension, which uses the same AAC codec inside an MPEG-4 container. Chapter markers, subtitles, and multiple audio tracks are not supported by either the MPEG input or AAC output format in this pipeline.