Extract Audio from DVR to AAC — Free Online Tool
Extract clean AAC audio from DVR recordings — surveillance footage, captured TV broadcasts, or security system video — directly in your browser. The tool strips the video stream entirely and remuxes or re-encodes the existing AAC audio track into a standalone .aac file compatible with mobile devices, streaming platforms, and iTunes.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your DVR 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
DVR files typically store video using H.264 (libx264) or MJPEG and audio using AAC or MP3 (libmp3lame), wrapped in a proprietary container format used by digital video recorders and surveillance systems. This tool discards the video stream entirely using the -vn flag and targets only the audio track. Because AAC is already the default audio codec in most DVR recordings, the audio is often re-encoded into a clean, standards-compliant AAC stream at 128k bitrate rather than simply copied — ensuring the output is a well-formed .aac file that plays correctly on any AAC-compatible device regardless of the quirks of the original DVR container.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that powers this conversion. In the browser-based tool, this runs as FFmpeg.wasm compiled to WebAssembly, with no server involvement. |
-i input.dvr
|
Specifies the input DVR file. FFmpeg reads the proprietary DVR container and demuxes its internal streams — typically an H.264 or MJPEG video track and an AAC or MP3 audio track — for processing. |
-vn
|
Disables video output entirely, instructing FFmpeg to ignore the H.264 or MJPEG video stream from the DVR file. Without this flag, FFmpeg would attempt to include video in the output, which is incompatible with a raw .aac audio-only file. |
-c:a aac
|
Sets the audio codec to FFmpeg's native AAC encoder, producing a standards-compliant AAC stream. This re-encodes the DVR's audio track into clean ADTS-framed AAC, ensuring playback compatibility regardless of how the original DVR container packaged its audio. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which is the standard quality level for broadcast-quality speech and typical TV audio. For surveillance recordings with voice content, this is more than sufficient; for music or high-fidelity broadcast content extracted from a DVR, increasing this to 192k or 256k will better preserve the original quality. |
output.aac
|
Defines the output file as a raw AAC file using ADTS framing. The .aac extension tells FFmpeg to write a headerless ADTS stream rather than wrapping the audio in a container, making it immediately compatible with mobile devices, web players, and iTunes. |
Common Use Cases
- Extracting audio from a DVR-captured TV broadcast to archive a specific interview, speech, or performance as a standalone audio file
- Pulling the audio track from surveillance or security camera footage to use as evidence documentation without sharing the accompanying video
- Converting DVR recordings from a home security system into AAC audio files to review ambient sound events without playing through bulky video
- Extracting a recorded radio broadcast captured via a DVR tuner card into a portable AAC file for playback on an iPhone or iPad
- Archiving the audio portion of DVR sports recordings — commentary, crowd noise, or play-by-play — in a compact, streaming-compatible format
- Processing DVR footage from broadcast capture workflows to isolate audio for transcription or closed-caption review purposes
Frequently Asked Questions
There is a small but real quality cost. Because the audio is being re-encoded from the DVR container's AAC stream into a new standalone AAC file, this is a lossy-to-lossy transcode — sometimes called 'generation loss.' The default 128k bitrate is sufficient for speech and most broadcast content, but if your DVR recorded at a higher bitrate (e.g., 192k or 256k), you should increase the -b:a value to match or exceed the original to minimize quality degradation.
DVR containers are proprietary and often use non-standard audio framing, timestamps, or stream headers that don't cleanly map to a raw .aac file. Simply copying the stream with -c:a copy can produce files with sync issues, missing ADTS headers, or playback errors on standard media players. Re-encoding to a fresh AAC stream ensures the output is a properly formatted, self-contained file regardless of how the original DVR stored its audio.
Replace the -b:a 128k value with a higher bitrate to preserve more audio detail. For example, use -b:a 192k for better quality or -b:a 256k for near-transparent results on music or high-fidelity broadcast content. For voice-only content like surveillance audio or interviews, 96k is usually indistinguishable from higher settings and produces a significantly smaller file.
Yes. On Linux or macOS, you can run a shell loop: for f in *.dvr; do ffmpeg -i "$f" -vn -c:a aac -b:a 128k "${f%.dvr}.aac"; done. On Windows Command Prompt, use: for %f in (*.dvr) do ffmpeg -i "%f" -vn -c:a aac -b:a 128k "%~nf.aac". This is especially useful for processing large archives of security footage or recorded broadcasts where you need audio-only files in bulk.
Most DVR-specific metadata — such as channel name, recording time, or program guide data — is stored in the proprietary container layer, not in the audio stream itself. When the audio is extracted to a bare .aac file, this metadata is not carried over. If preserving recording timestamps is important, consider adding -metadata date="2024-01-15" or similar tags to the FFmpeg command, or use a container like .m4a instead of raw .aac, which supports richer metadata fields.
Raw .aac files (ADTS-wrapped AAC) have broad compatibility with media players and mobile devices but don't support metadata, album art, or chapters. If you're archiving broadcast content, creating podcast episodes from captured recordings, or need iTunes or Apple Music compatibility, consider changing the output to output.m4a — the FFmpeg command remains identical, and FFmpeg will automatically wrap the AAC stream in an MPEG-4 container that supports full metadata tagging and better seeking behavior.
Technical Notes
DVR files are produced by a wide variety of hardware — consumer PVRs, IP camera NVRs, broadcast capture cards — meaning the internal codec packing and stream framing can differ significantly between devices even when the nominal format is the same. The audio in DVR recordings is almost always AAC (the default) or occasionally MP3, encoded at bitrates ranging from 64k for surveillance systems prioritizing storage efficiency up to 256k for broadcast-quality TV capture. Because raw .aac output uses ADTS framing (Audio Data Transport Stream), it lacks a seekable index, which means very long extractions — such as multi-hour surveillance recordings — may not scrub smoothly in all players. For files over a few minutes, wrapping the output as .m4a is generally preferable. The -vn flag is critical here: without it, FFmpeg would attempt to process the video stream as well, which would either fail (since .aac has no video container support) or produce unexpected output. No subtitle, chapter, or secondary audio track data is present in DVR files per the format specification, so no additional flags are needed to suppress those streams.