Extract Audio from WMV to CAF — Free Online Tool
Extract audio from WMV video files and save it as a CAF file using Apple's Core Audio Format container with uncompressed PCM audio. This tool strips the Windows Media Video stream and remuxes the audio into CAF — ideal for bringing legacy Microsoft media into Apple workflows without lossy re-encoding chains.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WMV 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
WMV files typically carry audio encoded with the WMA v2 (wmav2) codec inside an Advanced Systems Format (ASF) container. When extracting to CAF, FFmpeg discards the video stream entirely and transcodes the wmav2 audio to PCM signed 16-bit little-endian (pcm_s16le) — a raw, uncompressed format that CAF supports natively. Because wmav2 is a lossy codec and is not natively supported inside a CAF container, re-encoding to PCM is necessary rather than a simple stream copy. The result is an uncompressed CAF audio file that fully decodes the WMA audio to its lossless PCM representation, ready for use in Logic Pro, GarageBand, or any Apple audio toolchain. Note that because the original WMV audio was already lossy, transcoding to PCM does not recover quality that was lost during the original WMV encoding — it simply avoids adding a second generation of lossy compression.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program. On this page the command runs entirely in your browser via FFmpeg.wasm (WebAssembly) — no files leave your machine. The same command can be pasted into a terminal on any desktop system with FFmpeg installed. |
-i input.wmv
|
Specifies the input WMV file. FFmpeg detects the ASF container and identifies the contained streams — typically an msmpeg4 video stream and a wmav2 audio stream — which it will process in the steps that follow. |
-vn
|
Disables video output entirely, discarding the Windows Media Video (msmpeg4) stream from the WMV file. This is what makes the tool an audio extractor rather than a converter — only the audio track is passed through to the CAF output. |
-c:a pcm_s16le
|
Decodes the wmav2 audio from the WMV and re-encodes it as 16-bit signed little-endian PCM, the default and most universally compatible uncompressed audio codec supported by the CAF container. This avoids adding a second layer of lossy compression on top of the original wmav2 encoding. |
-b:a 128k
|
Sets the target audio bitrate to 128 kbps. For pcm_s16le this parameter has no practical effect since PCM bitrate is fixed by sample rate and bit depth, not a compression target. This flag becomes meaningful if you substitute a lossy codec such as AAC or Opus in place of pcm_s16le. |
output.caf
|
Defines the output filename and tells FFmpeg to write an Apple Core Audio Format container. FFmpeg infers the CAF format from the .caf extension and wraps the decoded pcm_s16le audio stream inside it, producing a file immediately compatible with macOS and iOS Core Audio APIs. |
Common Use Cases
- Import audio from legacy WMV training videos or corporate recordings into Logic Pro or GarageBand on macOS for editing and re-export
- Extract narration or voiceover tracks from WMV presentations produced with older Windows-based tools, converting them to uncompressed CAF for use in iOS/macOS app audio assets
- Preserve the full decoded audio fidelity from a WMV broadcast or archival recording as a flat PCM CAF file before applying any further processing or compression
- Strip and convert audio from WMV screen recordings captured on Windows machines so they can be re-edited in Final Cut Pro on a Mac
- Prepare extracted WMV audio as a CAF source file for use in Xcode projects, where CAF is the preferred container for iOS and macOS system sounds
- Convert WMV audio tracks from old media libraries into CAF as part of a migration from a Windows media infrastructure to an Apple ecosystem production pipeline
Frequently Asked Questions
The audio in a WMV file is almost always encoded with the WMA v2 (wmav2) codec, which is a Microsoft proprietary format. CAF does not support WMA as a contained codec — its supported audio codecs include AAC, FLAC, Opus, Vorbis, and various PCM formats. Since there is no compatible codec to stream-copy into CAF, FFmpeg must decode the wmav2 audio and re-encode it to a format CAF accepts, in this case pcm_s16le (uncompressed PCM). Choosing PCM avoids any additional lossy compression step, making it the highest-fidelity output option available.
The CAF file will be a faithful PCM decode of the WMV's wmav2 audio track — it will not sound perceptibly different from the WMV playback. However, any quality limitations introduced during the original WMV encoding (from lossy wmav2 compression) are already baked into the source. Transcoding to PCM does not restore that lost detail; it simply converts what is there into an uncompressed form without adding a second round of lossy degradation.
Yes, CAF supports AAC as a contained codec. To output AAC inside the CAF container instead of PCM, modify the command to use '-c:a aac' instead of '-c:a pcm_s16le'. You can also control the bitrate with '-b:a 192k' or another supported value. Keep in mind that this introduces a second generation of lossy compression on top of the original wmav2 encoding, which may produce audible artifacts at lower bitrates. For archival purposes, PCM is the safer choice; for smaller files destined for distribution, AAC is practical.
The '-b:a 128k' flag controls the audio bitrate, but when using pcm_s16le (uncompressed PCM) the bitrate is determined entirely by the sample rate and bit depth rather than this parameter — the flag effectively has no impact on PCM output. If you switch to a codec like AAC with '-c:a aac', then '-b:a 192k' or '-b:a 256k' will meaningfully control the output quality and file size. For PCM, adjusting the sample rate with '-ar 44100' or '-ar 48000' is the primary way to influence output fidelity and file size.
Significantly larger. A WMV file stores audio as compressed wmav2, which is a lossy codec typically operating at 64–192 kbps. The CAF output uses pcm_s16le, which at 44.1 kHz stereo runs at approximately 1,411 kbps — roughly 10 MB per minute. A 10-minute WMV file with 128 kbps wmav2 audio might produce a 130 MB PCM CAF file. If file size is a concern, consider using '-c:a aac' or '-c:a flac' instead of PCM in the command.
Yes, with a small shell script. On macOS or Linux, you can run: for f in *.wmv; do ffmpeg -i "$f" -vn -c:a pcm_s16le -b:a 128k "${f%.wmv}.caf"; done — this loops over every WMV in the current directory and produces a matching CAF file. On Windows Command Prompt, use: for %f in (*.wmv) do ffmpeg -i "%f" -vn -c:a pcm_s16le -b:a 128k "%~nf.caf". The browser tool on this page processes one file at a time; the FFmpeg command is the right approach for bulk jobs or files over 1 GB.
Technical Notes
CAF's default audio codec (pcm_s16le) produces 16-bit signed little-endian PCM, the same bit depth used by standard CD audio. If your WMV source was recorded at 24-bit or higher fidelity, you can substitute '-c:a pcm_s24le' in the command to preserve that extra headroom, though most WMV consumer content is mastered at 16-bit. WMV's ASF container supports multiple audio tracks, but CAF does not — if the source WMV carries more than one audio stream, FFmpeg will extract only the default stream unless you explicitly specify '-map 0:a:1' or similar to select an alternate track. Metadata embedded in WMV files (such as title, artist, or comment tags using ASF metadata fields) is generally not mapped to CAF's metadata structure during conversion, so tags may be dropped and should be re-applied manually if needed. The '-f asf' flag is part of WMV's internal format specification but is handled implicitly by FFmpeg when it detects the input extension; it does not need to appear explicitly in this extraction command. CAF files produced with pcm_s16le are fully readable by Core Audio on macOS and iOS without any additional codec installation, making them immediately usable in Xcode, Logic Pro, and GarageBand.