Extract Audio from DVR to ALAC — Free Online Tool

Extract audio from DVR recordings and save it as ALAC (Apple Lossless Audio Codec) in an M4A container — preserving every bit of the original audio data without any lossy re-encoding. Unlike extracting to MP3 or AAC, ALAC is mathematically lossless, making it ideal when you need the highest-fidelity archive of captured television audio or surveillance footage sound.

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 carry AAC or MP3 audio streams alongside a libx264 video track. This conversion strips the video entirely and decodes the compressed audio from the DVR container, then re-encodes it using Apple's ALAC codec into an MPEG-4 (.m4a) container. Because ALAC is lossless, the output is a bit-perfect representation of whatever audio was captured by the DVR — no further quality degradation occurs beyond what the original DVR encoding introduced. The video stream is explicitly discarded with the -vn flag, so only the audio channel is written to disk. The resulting file is natively playable in iTunes, Apple Music, iOS, macOS, and any ALAC-compatible player, and supports metadata tagging and chapter markers in the M4A container.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. When run in the browser, this is executed via FFmpeg.wasm (WebAssembly), so no installation is needed and no files leave your device.
-i input.dvr Specifies the input DVR file. FFmpeg will demux the proprietary DVR container to access the internal video and audio streams, typically an H.264 video track and an AAC or MP3 audio track.
-vn Disables video output entirely, discarding the H.264 or MJPEG video stream from the DVR file. This ensures the output M4A file contains only the extracted audio track.
-c:a alac Sets the audio codec to ALAC (Apple Lossless Audio Codec), re-encoding the DVR's compressed AAC or MP3 audio into a lossless format. The output will be a bit-perfect representation of the decoded audio with no further quality loss.
-c:a alac A duplicate of the preceding flag in this resolved command — FFmpeg uses the last value specified, so this has no adverse effect and the output is still valid ALAC. When running locally, you can omit this second instance to keep the command clean.
output.m4a The output filename with the .m4a extension, which tells FFmpeg to wrap the ALAC audio stream in an MPEG-4 container. The M4A format natively supports ALAC and is recognized by Apple Music, iTunes, iOS, and most modern media players.

Common Use Cases

  • Archiving the audio track from a DVR-recorded broadcast television program in a lossless format for long-term preservation
  • Extracting and preserving audio evidence from surveillance DVR footage for legal or insurance purposes where audio fidelity must be documented and defensible
  • Converting DVR-captured audio from a home security system into ALAC for storage in an Apple ecosystem workflow, such as syncing via iTunes or importing into Logic Pro
  • Pulling the audio from a DVR recording of a live event or concert broadcast to create a high-fidelity archive before the original DVR footage is overwritten
  • Preparing DVR-sourced audio for forensic analysis, where the lossless ALAC format ensures no additional artifacts are introduced during the extraction process
  • Migrating a library of old DVR recordings to a modern archive format, converting the audio to ALAC while discarding the video to save storage space

Frequently Asked Questions

ALAC itself introduces zero additional quality loss — it is a lossless codec that perfectly reconstructs the audio data it encodes. However, the audio track inside a DVR file is already lossy (typically AAC or MP3), meaning some quality was lost when the DVR originally recorded the content. ALAC will preserve that already-compressed audio with perfect fidelity, but it cannot recover the quality that was lost during the original DVR capture. Think of it as making a lossless snapshot of a lossy source.
This is the expected tradeoff of lossless compression. The AAC or MP3 audio inside a DVR file uses aggressive lossy compression to achieve small file sizes. ALAC uses lossless compression, which is less space-efficient but bit-perfect. The ALAC file may be several times larger than the original compressed audio stream, though it will be smaller than an uncompressed WAV or AIFF of the same content. If file size is a primary concern, extracting to AAC or MP3 instead of ALAC would yield a much smaller output.
Despite ALAC being developed by Apple, it is an open-source codec and is supported on a wide range of platforms. On Windows, VLC and foobar2000 both play ALAC M4A files natively. On Android, many players including VLC and Poweramp support it. However, Windows Media Player and some older or budget Android players may not support ALAC, so if broad cross-platform compatibility is critical, consider extracting to FLAC instead.
DVR formats often embed proprietary metadata (recording timestamps, channel names, EPG data) that is not standardized and generally cannot be read or transferred by FFmpeg. Standard audio metadata fields — such as any title or encoder tags present in the DVR's audio stream — may be carried over to the M4A container's metadata tags, which ALAC/M4A supports well. However, DVR-specific fields will likely be lost. If preserving recording metadata is important, document it separately before conversion.
On Linux or macOS, you can batch process with a shell loop: 'for f in *.dvr; do ffmpeg -i "$f" -vn -c:a alac "${f%.dvr}.m4a"; done'. On Windows Command Prompt, use: 'for %f in (*.dvr) do ffmpeg -i "%f" -vn -c:a alac "%~nf.m4a"'. This runs the same extraction command on every DVR file in the current directory, outputting a matching ALAC M4A file for each one.
This is a minor redundancy in the resolved command — '-c:a alac' appears twice, but FFmpeg simply applies the last-specified value for the same flag, so the conversion works correctly and produces valid ALAC output. In practice, a single '-c:a alac' is sufficient. If you are running this command locally on your desktop, you can safely remove the duplicate flag: 'ffmpeg -i input.dvr -vn -c:a alac output.m4a'.

Technical Notes

DVR files are a proprietary container format and FFmpeg's ability to demux them depends on the specific DVR manufacturer and firmware — most common DVR formats (including those from Hikvision, Dahua, and generic H.264 DVRs) are supported, but some highly proprietary variants may require vendor tools to convert first. The audio codec inside a DVR file is almost always AAC at 128k or MP3, both of which FFmpeg can decode and pipe into the ALAC encoder without issue. ALAC stores audio in an MPEG-4 container (.m4a), which supports chapter markers — a feature that could be leveraged if the DVR source contains segmented recordings, though FFmpeg will not automatically generate chapters from DVR segment boundaries. ALAC has no configurable quality parameter because it is lossless by definition; the only variable affecting output size is the complexity of the audio waveform itself. One known limitation is that ALAC does not support multi-channel audio beyond 8 channels, but DVR audio is almost universally mono or stereo, so this is rarely a concern in practice.

Related Tools