Extract Audio from MPG to CAF — Free Online Tool

Extract audio from MPG video files and save it as a CAF (Core Audio Format) file — Apple's professional container format designed for high-fidelity audio storage. This tool discards the MPEG-1/2 video stream and the original MP2 audio, re-encoding it as uncompressed PCM (pcm_s16le) inside a CAF container, making it ideal for use in Logic Pro, GarageBand, and other Apple audio workflows.

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

MPG files typically contain an MPEG-2 video stream alongside MP2 or MP3 audio, packaged in an MPEG program stream container. During this conversion, FFmpeg strips the video entirely using the -vn flag and decodes the compressed MP2 audio track. That decoded audio is then re-encoded as 16-bit signed little-endian PCM (pcm_s16le) and wrapped in Apple's CAF container. The result is uncompressed linear audio — no lossy codec is applied at the output stage, so there is no additional generation loss introduced beyond what already exists in the original MPG's lossy MP2 source. CAF supports files larger than the 4GB ceiling imposed by WAV and AIFF, making it a robust archival choice for long-form MPG content.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In this browser-based tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) — your MPG file never leaves your device.
-i input.mpg Specifies the input file — your source MPG, which contains an MPEG-1 or MPEG-2 video stream and typically an MP2 audio stream packaged in an MPEG program stream container.
-vn Disables video output entirely. This strips the MPEG-2 video stream from the MPG and ensures only the audio track is processed, producing a pure audio CAF file with no video data.
-c:a pcm_s16le Sets the output audio codec to 16-bit signed little-endian PCM — uncompressed linear audio. This decodes the lossy MP2 audio from the MPG source and stores it as raw PCM inside the CAF container, introducing no additional compression artifacts.
-b:a 128k Specifies a target audio bitrate of 128 kbps. For pcm_s16le this flag is effectively ignored since uncompressed PCM bitrate is fixed by sample rate and bit depth rather than a target bitrate, but it is included in the command as a reference parameter.
output.caf Defines the output filename and tells FFmpeg to write a CAF (Core Audio Format) container. FFmpeg infers the container from the .caf extension and packages the pcm_s16le audio stream inside Apple's CAF format, ready for use in Logic Pro, GarageBand, or any Core Audio-compatible application.

Common Use Cases

  • Extracting the audio commentary track from a broadcast MPEG-2 recording to import into Logic Pro or GarageBand for mixing or post-production
  • Pulling audio from VCD or DVD-ripped MPG files to create uncompressed stems for use in Apple's professional audio tools
  • Converting legacy MPG broadcast recordings into CAF for archival on macOS systems, avoiding the 4GB file size limit of WAV and AIFF
  • Extracting MP2 audio from an MPEG program stream and converting it to uncompressed PCM so it can be cleanly re-encoded to a target format without stacking lossy compression artifacts
  • Preparing audio from MPG interview or documentary footage for voiceover editing in Final Cut Pro's associated audio workflow on macOS
  • Recovering audio from corrupted or partially unreadable MPG files where the video stream is damaged but the audio program stream is still intact

Frequently Asked Questions

The original MPG audio is almost always encoded in MP2 (MPEG Layer II), which is a lossy format. When this tool decodes that MP2 audio and re-encodes it as pcm_s16le PCM inside CAF, no additional lossy compression is applied — the output is uncompressed. However, the audio quality ceiling is already set by the original MP2 encoding; converting to PCM does not recover detail lost during the initial lossy compression. What you gain is a lossless container for whatever quality is present in the source.
pcm_s16le stands for Pulse Code Modulation, 16-bit signed integers, little-endian byte order. This is uncompressed audio at CD quality depth, and it is the default audio codec CAF uses when no other codec is specified. For most MPG source material — which was originally mixed for broadcast or VCD/DVD at standard definition — 16-bit PCM captures all the meaningful audio information. If your source MPG happens to contain 24-bit audio (rare but possible in HDTV recordings), you could modify the command to use pcm_s24le instead.
Yes. CAF is Apple's native container format, and both GarageBand and Logic Pro natively support CAF files containing pcm_s16le audio. You can drag the output directly into a Logic Pro audio track or import it into a GarageBand project. CAF is also supported by Core Audio on iOS, making it compatible with audio apps on iPhone and iPad.
Because the output codec is pcm_s16le (uncompressed PCM), the -b:a 128k bitrate flag in the default command has no effect — PCM bitrate is determined by sample rate and bit depth, not a target bitrate setting. If you want a compressed output instead, you can swap the codec; for example, replace '-c:a pcm_s16le' with '-c:a aac -b:a 192k' to write AAC audio into the CAF container. CAF supports AAC, FLAC, Opus, Vorbis, and several PCM variants, so you have flexibility depending on your downstream use.
Yes. On macOS or Linux, you can use a shell loop: 'for f in *.mpg; do ffmpeg -i "$f" -vn -c:a pcm_s16le output_"${f%.mpg}.caf"; done'. On Windows Command Prompt, use: 'for %f in (*.mpg) do ffmpeg -i "%f" -vn -c:a pcm_s16le "%~nf.caf"'. The browser-based tool processes one file at a time, so the FFmpeg command is the better path for batch workflows.
MPEG program streams (MPG) carry very limited metadata compared to modern containers, typically only basic stream timing information rather than ID3-style tags like title or artist. CAF supports rich metadata chunks, but FFmpeg does not automatically populate them from MPG source files due to the sparse metadata in the source. If you need to embed metadata in the CAF output, add -metadata title='Your Title' flags to the FFmpeg command manually.

Technical Notes

MPG (MPEG program stream) files originating from VCD, DVD, or broadcast capture almost universally carry MP2 audio at 128–384 kbps, occasionally MP3 or AAC in MPEG-2 transport stream variants. This tool decodes whatever audio codec is present in the MPG and outputs uncompressed pcm_s16le — a safe, universal baseline for CAF. CAF itself imposes no practical file size limit, unlike WAV (4GB) and AIFF (4GB), which is meaningful when extracting audio from long MPG recordings such as broadcast archives. One known limitation: MPG files sometimes contain multiple program streams or dual-mono audio tracks used in broadcast production; by default FFmpeg will extract only the first detected audio stream. If your MPG contains a secondary language track or a separate commentary stream, you would need to add '-map 0:a:1' to target the second audio track explicitly. Additionally, because CAF is an Apple-centric format, the output files will not play natively on Windows without third-party software — if cross-platform compatibility is needed, consider WAV (pcm_s16le) or FLAC as alternatives.

Related Tools