Extract Audio from RMVB to CAF — Free Online Tool

Extract audio from RMVB video files and save it as a CAF (Core Audio Format) file using PCM 16-bit uncompressed audio — Apple's professional-grade container format designed for high-fidelity audio in macOS and iOS workflows. This tool re-encodes the RMVB's lossy AAC or MP3 audio stream into uncompressed PCM, giving you a losslessly-stored CAF file ready for use in Logic Pro, GarageBand, and other Apple software.

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

RMVB files typically carry lossy audio encoded as AAC or MP3 within RealNetworks' variable-bitrate container. During this conversion, FFmpeg strips the video stream entirely and decodes the compressed audio track back to raw PCM samples, then re-encodes them as 16-bit signed little-endian PCM (pcm_s16le) wrapped in a CAF container. Because RMVB's native audio codecs (AAC/MP3) are not natively carried over into the output without transcoding, the audio is fully decoded and re-encoded — meaning you get an uncompressed representation of the source audio at its current fidelity level. The CAF container itself imposes no file-size ceiling (unlike WAV's 4GB limit), making it well-suited for long RMVB content such as films or long-form recordings. The result is a file directly importable into Apple's professional audio tools without additional conversion.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool, which handles the demuxing of the RMVB container, decoding of its audio stream, and encoding into the CAF output format.
-i input.rmvb Specifies the input RMVB file. FFmpeg uses its RealMedia demuxer to parse the variable-bitrate container and expose the contained video and audio streams (typically H.264 video and AAC or MP3 audio).
-vn Disables video output entirely, discarding the RMVB's video stream. This is essential because CAF is a pure audio container and cannot store video data — omitting this flag would cause FFmpeg to error or produce an invalid output.
-c:a pcm_s16le Decodes the RMVB's lossy AAC or MP3 audio and re-encodes it as 16-bit signed little-endian PCM — the standard uncompressed audio format used in CD audio and supported natively by Apple's Core Audio framework and CAF container.
-b:a 128k Specifies a 128k audio bitrate target; for uncompressed PCM (pcm_s16le), this flag has no practical effect since PCM bitrate is fixed by sample rate and bit depth rather than a compression target, but it is included for command consistency.
output.caf Defines the output filename with the .caf extension, signaling FFmpeg to use the CAF muxer — Apple's Core Audio Format container — which wraps the uncompressed PCM audio in a format natively recognised by macOS, iOS, Logic Pro, GarageBand, and Xcode.

Common Use Cases

  • Import dialogue or music from an RMVB film into Logic Pro or GarageBand for audio editing or remixing, where CAF is the native working format
  • Extract a speech or lecture track from a downloaded RMVB educational video for use in macOS-based transcription or subtitle workflows
  • Convert an RMVB concert recording's audio to uncompressed CAF for archival storage on an Apple-ecosystem NAS or Time Machine backup, preserving audio without lossy re-compression
  • Pull audio from an RMVB TV episode to create a clean, uncompressed audio bed for podcast production or voiceover reference in Final Cut Pro
  • Extract sound effects or ambient audio from an RMVB source file for use as CAF assets in an iOS or macOS game or app built with Xcode
  • Prepare RMVB audio content for forensic or quality-inspection analysis using Apple's audio tools, where uncompressed PCM in CAF offers sample-accurate access to the waveform

Frequently Asked Questions

The RMVB source already contains lossy audio (typically AAC or MP3), so that original compression artifact is baked in and cannot be recovered. The conversion to PCM pcm_s16le in CAF does not add any further compression — it simply decodes the lossy stream to raw samples and stores them uncompressed. Think of it as making a perfect lossless copy of an already-compressed source: no new degradation is introduced, but the audio will never exceed the fidelity ceiling set by the original RMVB encoding.
CAF, WAV, and AIFF all support uncompressed PCM audio, but CAF is Apple's modern successor to both AIFF and WAV specifically because it removes the 4GB file-size limit that WAV and AIFF impose. If your RMVB source is a long film or recording, the extracted uncompressed audio could easily exceed 4GB at 16-bit stereo — CAF handles that without truncation. CAF is also the preferred container for Apple's professional tools like Logic Pro, Core Audio APIs, and Xcode asset catalogs.
CAF is primarily an Apple ecosystem format and is not natively supported by most Windows media players or Android devices out of the box. VLC on Windows can open CAF files, but software like Windows Media Player or standard Android audio apps cannot. If you need the extracted audio to work cross-platform, you would be better served converting the RMVB audio to a WAV, FLAC, or MP3 file instead of CAF.
pcm_s16le stands for PCM signed 16-bit little-endian — this is CD-quality uncompressed audio and the default audio codec for CAF in FFmpeg. CAF actually supports higher-resolution PCM codecs such as pcm_s24le (24-bit) and pcm_s32le (32-bit). If your RMVB source was encoded at high quality and you want to preserve the full decoded precision, you can replace '-c:a pcm_s16le' with '-c:a pcm_s24le' in the command. However, since RMVB audio is already lossy (AAC or MP3), the practical audible difference above 16-bit is negligible.
For uncompressed PCM output like pcm_s16le in CAF, the '-b:a' bitrate flag has no meaningful effect — PCM bitrate is determined entirely by sample rate and bit depth, not a compression target. To control the output sample rate, add '-ar 44100' (for 44.1kHz CD quality) or '-ar 48000' (for 48kHz broadcast standard) before the output filename. If you switch to a lossy codec like '-c:a aac' or '-c:a libopus' within CAF, then '-b:a 192k' and similar options become relevant for controlling compressed audio quality.
You can run the command in a shell loop to process multiple files. On macOS or Linux, use: 'for f in *.rmvb; do ffmpeg -i "$f" -vn -c:a pcm_s16le "${f%.rmvb}.caf"; done'. On Windows Command Prompt, use: 'for %f in (*.rmvb) do ffmpeg -i "%f" -vn -c:a pcm_s16le "%~nf.caf"'. This preserves each file's base name and writes a matching CAF file alongside it, making it efficient for bulk extraction of audio from RMVB collections.

Technical Notes

RMVB (RealMedia Variable Bitrate) is a legacy streaming format from RealNetworks that saw widespread use in the early-to-mid 2000s, particularly for distributing compressed video content on peer-to-peer networks. Its audio track is almost universally encoded as AAC or MP3 at relatively modest bitrates (typically 64–192k), reflecting its origins as a bandwidth-efficient streaming format. When FFmpeg reads an RMVB file, it uses the internal RealMedia demuxer and decodes the audio stream via its AAC or MP3 decoder before passing raw PCM samples to the CAF muxer. The '-vn' flag ensures the video stream is completely discarded rather than attempted to be remuxed — important because CAF is a pure audio container and cannot carry video. The output codec pcm_s16le produces a 16-bit stereo file whose size scales linearly with duration: approximately 10MB per minute at 44.1kHz stereo. For very long RMVB sources (feature films at 90–120 minutes), the CAF file may reach 900MB–1.2GB, which is well within CAF's unlimited file-size architecture but worth accounting for. No metadata fields from the RMVB container (title, author, copyright) are reliably transferred to CAF by default, as RealMedia uses a proprietary metadata scheme that FFmpeg does not fully map to CAF's metadata atoms. If metadata preservation is critical, inspect the output with 'ffprobe output.caf' after conversion.

Related Tools