Convert DVR to AVI — Free Online Tool

Convert DVR surveillance and broadcast recordings to AVI format using H.264 video and MP3 audio — making proprietary DVR footage playable in virtually any legacy or modern media player. This tool re-encodes the DVR stream with libx264 and libmp3lame, replacing the proprietary container structure with AVI's widely-supported interleaved format.

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 use a proprietary container structure wrapping H.264 or MJPEG video alongside AAC audio, often with device-specific headers that prevent playback in standard media players. During conversion, FFmpeg demuxes the DVR container, re-encodes the video stream using libx264 at CRF 23 (a perceptually good default quality), and transcodes the audio from AAC to MP3 using libmp3lame at 128k bitrate. The result is a standard AVI file with fully interleaved audio and video that any Windows Media Player, VLC, or legacy editing tool can open. Because both the video and audio codecs change, this is a full transcode — not a remux — so some generational quality loss occurs, though at CRF 23 it is typically imperceptible for surveillance footage.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that powers this conversion both in the browser via WebAssembly and locally on your desktop.
-i input.dvr Specifies the input file in DVR format. FFmpeg will probe the file to detect the specific DVR container variant and identify the enclosed video (H.264 or MJPEG) and audio (AAC) streams.
-c:v libx264 Re-encodes the video stream using the libx264 encoder, producing standard H.264 video inside the AVI container. This is necessary because the DVR container must be fully transcoded rather than remuxed.
-c:a libmp3lame Transcodes the audio from the DVR's AAC track to MP3 using the LAME encoder. MP3 is chosen over AAC because it has native, well-specified support in AVI and ensures compatibility with legacy players and editing tools that expect MP3 audio in AVI files.
-crf 23 Sets the libx264 Constant Rate Factor to 23, the standard default that balances file size and visual quality. For DVR surveillance footage, this typically produces output that is perceptually indistinguishable from the source while keeping file sizes manageable.
-b:a 128k Sets the MP3 audio bitrate to 128 kilobits per second. This is sufficient for the speech, ambient sound, and broadcast audio typical of DVR recordings, and matches the quality level commonly used in the original AAC track.
output.avi Specifies the output filename and tells FFmpeg to use the AVI container format. The .avi extension triggers FFmpeg's AVI muxer, which interleaves the re-encoded H.264 video and MP3 audio into the legacy Microsoft AVI structure.

Common Use Cases

  • Extracting usable footage from a security DVR system to submit as evidence, where the receiving party's computer cannot play the proprietary DVR format
  • Importing recorded broadcast captures from a DVR box into older video editing software like VirtualDub or early Premiere versions that require AVI input
  • Archiving surveillance footage from a discontinued or broken DVR system into a format that will remain playable without proprietary software
  • Sharing DVR-recorded TV content with someone whose media player or smart TV supports AVI but cannot handle the DVR container
  • Converting DVR footage for use in a Windows-based kiosk or presentation system that has hardcoded support only for AVI files
  • Batch-preparing security camera recordings for a review workflow on a legacy workstation where AVI is the required interchange format

Frequently Asked Questions

Because the DVR container must be fully transcoded rather than remuxed, there is inherent generational quality loss when re-encoding with libx264. However, at the default CRF 23 setting, the loss is perceptually minimal for the kind of content DVRs typically record — surveillance footage and broadcast video. If you need higher fidelity, lower the CRF value (e.g., CRF 18) in the FFmpeg command, which increases file size but preserves more detail.
AVI's most compatible and conventional audio codec is MP3 (libmp3lame), not AAC. While AVI technically supports AAC, many legacy players and editing tools that use AVI expect MP3 audio and may fail to decode AAC-in-AVI correctly. Transcoding to MP3 at 128k ensures the output file works broadly across old and new software. At 128k, the quality difference from the original AAC track is negligible for speech and typical television audio.
DVR files often embed proprietary metadata like recording timestamps, camera IDs, and motion event markers inside the DVR container in a device-specific format. AVI has very limited metadata support and no standardized fields for surveillance-specific data. This conversion will not carry that metadata across — the AVI output will contain only basic duration and codec information. If preserving DVR metadata is critical, you should export a separate log from the DVR software before converting.
This is a real concern. The original AVI specification has a 2GB file size limit, and while OpenDML extensions to AVI support files beyond that, compatibility with those larger files varies across players and editing tools. If your converted AVI output will exceed 2GB, consider lowering the bitrate by increasing the CRF value (e.g., CRF 28) or splitting the footage into segments. For large DVR archives where size is a concern, MP4 is often a safer output format.
Adjust the -crf flag value in the command. CRF (Constant Rate Factor) controls libx264 quality: lower values mean higher quality and larger files, higher values mean smaller files with more compression. The range is 0 (lossless) to 51 (worst quality). For DVR footage review, CRF 28 often produces acceptable results at a much smaller file size; for archival of important surveillance footage, CRF 18 is a common high-quality choice. Example: replace '-crf 23' with '-crf 18' in the command.
Yes. On Linux or macOS, you can run a shell loop: 'for f in *.dvr; do ffmpeg -i "$f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "${f%.dvr}.avi"; done'. On Windows Command Prompt, use: 'for %f in (*.dvr) do ffmpeg -i "%f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "%~nf.avi"'. This is especially useful for processing large DVR archives that exceed the 1GB browser limit of this online tool.

Technical Notes

DVR containers are inherently proprietary and vary between manufacturers — some use modified MP4 or ASF structures internally, while others use entirely bespoke binary formats. FFmpeg's DVR demuxer handles many common variants but may fail on highly proprietary or encrypted recordings from certain security vendors. When the conversion succeeds, the libx264 encoder produces a standard Baseline or Main Profile H.264 stream inside AVI, which is broadly compatible. One important limitation: AVI does not support variable frame rate (VFR) video, which is common in DVR recordings where frame rate drops during low-motion periods to save space. FFmpeg will attempt to handle VFR-to-CFR conversion automatically, but this may produce minor timing artifacts. AVI also does not support the AAC audio format natively in a standard-compliant way, which is why the audio is transcoded to MP3 — a codec with native, well-specified AVI support. The output AVI will not support subtitles or chapter markers, but DVR files do not contain these anyway. File sizes may be larger or smaller than the original depending on the DVR device's native bitrate compared to what libx264 produces at CRF 23.

Related Tools