Convert DVR to AMR — Free Online Tool
Convert DVR surveillance or broadcast recordings to AMR audio, extracting the speech-optimized audio track using the libopencore_amrnb codec. AMR's narrow-band compression is ideal for isolating voice content from security footage or captured broadcasts at minimal file sizes.
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 encoded with H.264 (libx264) and audio encoded with AAC. During this conversion, the video stream is completely discarded and only the audio track is extracted and re-encoded. The AAC audio is decoded and then re-encoded into AMR-NB (Adaptive Multi-Rate Narrow-Band) using the libopencore_amrnb codec at 12200 bps — the highest standard AMR-NB bitrate. AMR-NB was designed specifically for speech frequencies (300 Hz–3400 Hz), so non-speech audio content like music or ambient sound will be noticeably degraded. The resulting .amr file is dramatically smaller than the source DVR file and is optimized for voice intelligibility rather than audio fidelity.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles all demuxing, decoding, encoding, and muxing operations needed to extract audio from the DVR file and write it as an AMR output. |
-i input.dvr
|
Specifies the input DVR file. FFmpeg will probe the container to identify the available streams — typically an H.264 video stream and an AAC audio stream — before processing begins. |
-c:a libopencore_amrnb
|
Sets the audio encoder to libopencore_amrnb, which implements the AMR Narrow-Band standard. This re-encodes the decoded AAC audio from the DVR into AMR-NB, the standard format for mobile telephony voice audio. |
-b:a 12200
|
Sets the AMR-NB bitrate to 12200 bits per second, which is the highest and best-quality mode defined by the AMR-NB standard (Mode 7 / 12.2 kbps). This value must be one of the eight fixed AMR-NB bitrate modes — it is not a freely adjustable parameter. |
output.amr
|
Defines the output filename and tells FFmpeg to write an AMR container. The .amr extension signals FFmpeg to use the AMR muxer, which wraps the libopencore_amrnb-encoded audio in the standard AMR file format recognized by mobile devices and telephony systems. No video stream is written because AMR is an audio-only format. |
Common Use Cases
- Extracting a voice announcement or verbal incident log from security camera footage for archival or evidence purposes
- Converting broadcast capture DVR recordings of interviews or news segments into compact AMR files for playback on older mobile handsets
- Pulling spoken audio from a surveillance DVR clip to transcribe conversations for a security report
- Reducing the file size of a voice-only segment captured by a digital video recorder for transmission over a low-bandwidth network
- Preparing DVR-recorded voice communications for integration with telephony or VoIP systems that natively support AMR format
- Archiving only the audio track from long-duration DVR surveillance recordings where the visual content is not needed
Frequently Asked Questions
AMR-NB is engineered specifically for human speech in the 300–3400 Hz frequency range, which aligns well with voice captured in surveillance or broadcast DVR recordings. If your DVR footage contains clear spoken audio, intelligibility will be maintained at 12200 bps. However, background noise, music, or wideband audio that may be present in broadcast captures will be heavily filtered and distorted, since AMR-NB discards most audio content outside the speech band.
Two things contribute to the dramatic size reduction. First, the entire video stream — which accounts for the vast majority of a DVR file's size — is completely dropped. Second, AMR-NB at 12200 bps is an extremely low-bitrate codec compared to the AAC audio typically stored in DVR files (often 128k or higher). A one-hour DVR recording that might be several gigabytes will produce an AMR file measured in megabytes.
Yes. AMR-WB (libopencore_amrwb) covers a wider frequency range (50–7000 Hz) and produces noticeably better audio quality than AMR-NB, while still remaining a speech-optimized, low-bitrate format. To use it, change the codec flag in the FFmpeg command to '-c:a libopencore_amrwb' and set a compatible bitrate such as '-b:a 23850'. AMR-WB files use the same .amr extension but are not compatible with devices or systems that only support AMR-NB.
DVR is a proprietary format, and metadata storage varies significantly between recorder manufacturers. FFmpeg can extract some generic metadata fields if they are present, but DVR-specific metadata such as camera IDs, recorder timestamps, or channel information will not be preserved in the AMR output. AMR has very limited metadata support — it stores little beyond basic codec parameters — so you should retain the original DVR file if that metadata is important.
Replace '12200' in the '-b:a 12200' flag with a lower AMR-NB standard bitrate. Valid AMR-NB bitrate values are 4750, 5150, 5900, 6700, 7400, 7950, 10200, and 12200 (in bits per second). For example, using '-b:a 4750' produces the smallest possible AMR-NB file but with reduced speech clarity. Note that AMR-NB only accepts these exact standardized values — arbitrary bitrates like 8000 are not valid.
The displayed command processes a single file, but you can batch convert using a shell loop. On Linux or macOS, run: 'for f in *.dvr; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.dvr}.amr"; done'. On Windows Command Prompt, use: 'for %f in (*.dvr) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr"'. This is particularly useful for processing large collections of surveillance footage archives on your local machine.
Technical Notes
DVR is a proprietary container format without a universal specification — its internal structure depends on the manufacturer of the digital video recorder. FFmpeg handles many common DVR variants but may fail to demux footage from obscure or heavily proprietary recorders. The audio stream inside DVR files is most commonly AAC, though some recorders use MP3 (libmp3lame); FFmpeg detects this automatically during decoding, so no input flag adjustment is needed. AMR-NB, the output codec used here, operates as a lossy, speech-optimized codec with a fixed set of bitrate modes defined by the 3GPP standard — it cannot store stereo audio, so any stereo audio in the DVR source will be downmixed to mono. If your DVR file contains multiple audio tracks (uncommon but possible in broadcast capture scenarios), only the first audio track will be processed. There is no quality-lossless path between DVR and AMR; this is a lossy-to-lossy transcode with significant audio bandwidth reduction applied by the AMR-NB codec's filtering.