Extract Audio from DVR to CAF — Free Online Tool

Extract audio from DVR recordings and save it as a CAF file using PCM 16-bit uncompressed audio — Apple's preferred lossless container format. This is ideal for pulling clean audio from surveillance or broadcast captures into an Apple-native workflow without any lossy re-encoding of the audio stream.

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

DVR files typically contain an AAC or MP3 audio stream alongside an H.264 or MJPEG video track. This tool strips the video entirely and decodes the compressed audio, then re-encodes it as PCM 16-bit little-endian (pcm_s16le) inside a CAF container. CAF is Apple's extensible audio container format, designed to handle file sizes beyond the 4GB limit of WAV and AIFF while supporting a wide range of codecs. Because the source audio in DVR files is lossy (AAC or MP3) and the output is lossless PCM, the conversion preserves every audible detail from the source without any further compression artifacts — though any quality loss that occurred during the original DVR recording cannot be recovered.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles all demuxing, decoding, and encoding. In the browser this runs via FFmpeg.wasm, a WebAssembly port of the same FFmpeg engine you would use locally.
-i input.dvr Specifies the input DVR file. FFmpeg probes this file to detect its internal video and audio streams — typically H.264 video and AAC audio in most DVR recordings.
-vn Disables all video streams in the output, ensuring only audio is extracted. Without this flag, FFmpeg would attempt to include the H.264 or MJPEG video track, which CAF cannot contain since it is an audio-only format.
-c:a pcm_s16le Encodes the output audio as 16-bit signed little-endian PCM — completely uncompressed audio. This decodes the lossy AAC or MP3 audio from the DVR source and writes it as raw samples, which is the standard uncompressed format within a CAF container.
-b:a 128k Sets the target audio bitrate to 128kbps. This parameter is effectively ignored by FFmpeg for PCM codecs since PCM is uncompressed and its bitrate is fixed by sample rate and bit depth, not a target bitrate setting.
output.caf Defines the output file with a .caf extension, which tells FFmpeg to wrap the PCM audio stream in Apple's Core Audio Format container — compatible with macOS, iOS, Logic Pro, Final Cut Pro, and other Apple tools.

Common Use Cases

  • Extracting dialogue or ambient audio from surveillance footage for use in an Apple Logic Pro or GarageBand project
  • Pulling broadcast-captured audio from a DVR recording to archive a television program's audio track in a lossless Apple-compatible format
  • Preparing DVR interview or event recordings for transcription using Apple's on-device speech recognition tools, which natively handle CAF files
  • Converting DVR security footage audio into CAF for ingestion into Final Cut Pro or other Apple professional audio/video tools
  • Archiving the audio portion of a large DVR recording to CAF, taking advantage of CAF's ability to handle files larger than 4GB without format limitations
  • Isolating audio from a DVR broadcast capture to analyze or timestamp events without the overhead of the video stream

Frequently Asked Questions

No — the original audio in a DVR file is encoded in a lossy format, either AAC or MP3, and any compression artifacts introduced at recording time are permanent. Converting to PCM inside CAF preserves exactly what was in the DVR file without adding further degradation, but it cannot recover detail that was discarded during the original lossy encoding. The result is a lossless snapshot of the lossy source.
CAF using PCM 16-bit audio is completely uncompressed, so it stores every audio sample as raw data. A DVR file's audio stream is typically AAC at around 128kbps, which is heavily compressed. Uncompressed PCM at CD quality (44.1kHz stereo 16-bit) consumes roughly 10MB per minute, compared to about 1MB per minute for 128kbps AAC. This size increase is expected and is the nature of lossless PCM storage.
CAF is primarily an Apple ecosystem format and has limited support outside of macOS, iOS, and Apple professional tools like Logic Pro and Final Cut Pro. Most Windows and Linux audio applications do not natively open CAF files. If you need broad compatibility, consider extracting to WAV or FLAC instead. CAF is best suited for workflows that stay within Apple's software ecosystem.
DVR formats often embed proprietary metadata such as recording timestamps, camera IDs, or channel labels, but this metadata is typically not preserved during audio extraction to CAF. FFmpeg extracts only the audio stream and standard audio properties like sample rate and channel count. Proprietary DVR metadata structures are not mapped to CAF's metadata fields during this conversion.
Replace '-c:a pcm_s16le' with your desired codec. For AAC use '-c:a aac -b:a 192k', and for FLAC use '-c:a flac' — both are supported by the CAF container. FLAC gives you true lossless compression with smaller file sizes than PCM, while AAC reduces file size significantly at the cost of being lossy. The full command for FLAC would be: ffmpeg -i input.dvr -vn -c:a flac output.caf
Yes. On macOS or Linux, you can use a shell loop: 'for f in *.dvr; do ffmpeg -i "$f" -vn -c:a pcm_s16le -b:a 128k "${f%.dvr}.caf"; done'. On Windows Command Prompt use: 'for %f in (*.dvr) do ffmpeg -i "%f" -vn -c:a pcm_s16le -b:a 128k "%~nf.caf"'. This is especially useful for processing large collections of surveillance or broadcast recordings.

Technical Notes

DVR is a proprietary container format with variable internal structure depending on the manufacturer, but FFmpeg can demux the most common variants, extracting either the AAC or MP3 audio stream. The default audio codec in most DVR recordings is AAC. During this conversion, FFmpeg fully decodes that compressed audio to raw PCM samples and writes them into a CAF container using the pcm_s16le codec — 16-bit signed little-endian samples. CAF supports both 16-bit and higher resolutions (24-bit, 32-bit), so if the source audio has higher dynamic range, you could substitute '-c:a pcm_s24le' for a higher-fidelity output. The '-b:a 128k' flag in the command has no functional effect on PCM codecs since PCM is uncompressed and bitrate is determined entirely by sample rate and bit depth — it is a vestigial parameter that FFmpeg ignores for PCM streams. One known limitation is that DVR files from certain recorders may have non-standard audio sample rates (e.g., 8kHz or 11.025kHz from low-quality surveillance systems), which will be preserved as-is in the CAF output; you can resample with '-ar 44100' if needed for downstream compatibility.

Related Tools