Extract Audio from MPEG to CAF — Free Online Tool

Extract audio from MPEG video files and save it as a CAF (Core Audio Format) file, converting the source MP2 or MP3 audio stream to uncompressed PCM inside Apple's flexible container. This is ideal for Apple ecosystem workflows where you need high-fidelity audio from legacy MPEG broadcast or DVD-compatible footage.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

MPEG files typically carry MP2 or MP3 audio alongside MPEG-1 or MPEG-2 video. During this conversion, the video stream is completely discarded (-vn), and the audio is decoded from its compressed MP2/MP3 form and re-encoded as 16-bit little-endian PCM (pcm_s16le) inside a CAF container. This means the output is uncompressed audio — no lossy codec is applied in the output — though the original MP2/MP3 compression artifacts from the MPEG source are preserved since re-encoding from a lossy source cannot restore lost detail. CAF's architecture allows the resulting file to exceed 4GB, which is relevant for long-form MPEG recordings where WAV or AIFF would hit their size ceilings.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which runs entirely in your browser via WebAssembly (FFmpeg.wasm) on this page — no files leave your device. The same binary can be run locally on any desktop for files over 1GB.
-i input.mpeg Specifies the input MPEG file. FFmpeg will detect whether the container holds MPEG-1 or MPEG-2 video alongside MP2, MP3, or AAC audio — all common variants of the MPEG format — and demux them accordingly.
-vn Disables video output entirely, discarding the MPEG-1 or MPEG-2 video stream without decoding it. This is what makes this an audio extraction operation rather than a full conversion — only the audio pipeline runs, making the process significantly faster.
-c:a pcm_s16le Sets the output audio codec to 16-bit signed little-endian PCM, producing uncompressed audio inside the CAF container. This decodes the source MP2 (or other MPEG audio) into raw PCM samples — the standard uncompressed format expected by Core Audio on macOS and iOS.
-b:a 128k Specifies a target audio bitrate of 128 kbps. For pcm_s16le this flag has no practical effect since uncompressed PCM has a fixed bitrate determined by sample rate and bit depth rather than a configurable target — it remains in the command for reference if you switch to a lossy codec like AAC.
output.caf Defines the output file as a CAF (Core Audio Format) container. FFmpeg infers the container from the .caf extension and writes the PCM audio stream into this Apple-native format, which supports files larger than 4GB — an important advantage over WAV or AIFF when extracting audio from long MPEG recordings.

Common Use Cases

  • Extracting the audio commentary track from legacy MPEG-2 broadcast recordings for use in Final Cut Pro or Logic Pro X, which natively support CAF files.
  • Pulling the audio from a DVD-ripped MPEG file to archive as uncompressed PCM in CAF before further mastering or noise reduction on macOS.
  • Converting MPEG news broadcast recordings to CAF so the audio can be ingested into Apple's podcast production tools without a lossy re-encode at the output stage.
  • Extracting spoken-word audio from MPEG-1 video training materials to create a CAF source file for transcription using macOS speech recognition APIs that accept CAF input.
  • Archiving the audio component of historical MPEG footage as uncompressed PCM in a container that supports large file sizes, bypassing the 4GB limit of WAV.
  • Preparing extracted MPEG audio as a CAF file for use in an iOS or macOS app's AVFoundation pipeline, which has native CAF support and requires no additional decoding library.

Frequently Asked Questions

No — the source audio in MPEG files is typically compressed as MP2 or MP3, which are lossy formats. When this tool decodes that audio and writes it as uncompressed PCM in CAF, it faithfully reproduces what was stored, but any compression artifacts introduced during the original MPEG encoding are permanently baked in. The PCM output is a perfect copy of the decoded audio, not a restoration of the original pre-compression signal.
The MPEG file stored its audio as compressed MP2 or MP3, which can be 6–10x smaller than uncompressed audio. This tool outputs 16-bit PCM at the original sample rate — uncompressed audio — inside the CAF container, so the dramatic size increase is expected and correct. For example, a 192 kbps MP2 stream from a 1-hour MPEG file expands to roughly 600 MB of uncompressed PCM. If file size is a concern, you can modify the FFmpeg command to use AAC (-c:a aac) instead, which CAF also supports.
CAF was specifically designed by Apple to overcome the 4GB file size limit that affects both WAV and AIFF. Long-form MPEG recordings — such as multi-hour broadcasts or archived footage — can produce uncompressed PCM output that exceeds 4GB, which would corrupt a WAV or AIFF file. CAF handles files of virtually unlimited size and is natively supported across macOS and iOS without additional libraries.
The default command uses pcm_s16le, which is uncompressed and ignores the -b:a bitrate flag. If you want a lossy output at a specific bitrate — for example, AAC at 256k — modify the command to: ffmpeg -i input.mpeg -vn -c:a aac -b:a 256k output.caf. CAF supports AAC, FLAC, Opus, Vorbis, and several PCM variants. For lossless but compressed output, use -c:a flac, which CAF also supports and will produce smaller files than raw PCM while remaining artifact-free.
MPEG files have limited metadata support and rarely carry rich ID3-style tags. During extraction, FFmpeg will attempt to copy any metadata present in the MPEG container to the CAF output, but in practice MPEG broadcast files often carry no embedded metadata at all. CAF supports metadata natively, so you can add tags manually after conversion using tools like afinfo or by opening the file in a DAW such as Logic Pro.
Yes — on macOS or Linux you can use a shell loop: for f in *.mpeg; do ffmpeg -i "$f" -vn -c:a pcm_s16le "${f%.mpeg}.caf"; done. On Windows Command Prompt, use: for %f in (*.mpeg) do ffmpeg -i "%f" -vn -c:a pcm_s16le "%~nf.caf". This extracts the audio from each MPEG file into a separate CAF file in the same directory, preserving the original filename with the new extension.

Technical Notes

MPEG containers (.mpeg, .mpg) support MP2 as their default audio codec, which is a legacy format common in broadcast television and DVD authoring. MP2 operates at fixed bitrates typically between 128–384 kbps and does not support sample rates above 48 kHz. When decoded to PCM for the CAF output, the resulting audio will be at whatever sample rate the MPEG source used — commonly 44.1 kHz or 48 kHz — encoded as signed 16-bit little-endian samples (pcm_s16le). This is fully compatible with Core Audio on macOS and iOS. Note that CAF uses little-endian byte order for PCM by default, which differs from AIFF's big-endian convention; most macOS audio software handles this transparently. One known limitation is that MPEG files do not support multiple audio tracks, so there is no need to specify a stream selector — the single audio stream is always extracted. If your MPEG source has audio encoded as AAC (less common but possible), FFmpeg will still decode and re-encode it to PCM; the -vn flag ensures the MPEG-1 or MPEG-2 video stream is never processed, making extraction faster than a full transcode.

Related Tools