Convert DVR to 3G2 — Free Online Tool

Convert DVR surveillance and broadcast recordings to 3G2 for playback on CDMA mobile devices. This tool re-encodes your DVR footage using H.264 video and AAC audio into the 3GPP2 container, optimized for mobile streaming with the +faststart flag for progressive playback.

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 store H.264 or MJPEG video alongside AAC or MP3 audio in a proprietary container used by digital video recorders. Converting to 3G2 requires a full transcode: the video stream is re-encoded to H.264 (libx264) and the audio to AAC, both repackaged into the 3GPP2 container format. Because DVR is a closed, device-specific format, FFmpeg must parse the container, decode each stream, and re-encode rather than simply remux. The -movflags +faststart flag rewrites the moov atom to the beginning of the output file, which enables the 3G2 file to begin playing on a mobile device before the entire file has downloaded — a critical feature for streaming over CDMA networks where bandwidth is limited.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles the full decode-transcode-encode pipeline needed to move from the proprietary DVR container to the 3G2 mobile container format.
-i input.dvr Specifies the input DVR file. FFmpeg will attempt to detect the internal stream structure of the proprietary DVR container, identifying the embedded video (typically H.264 or MJPEG) and audio (AAC or MP3) streams for decoding.
-c:v libx264 Encodes the video stream using the libx264 H.264 encoder, which is the standard video codec for 3G2 files and ensures compatibility with CDMA mobile devices and 3GPP2-compliant players.
-c:a aac Encodes the audio stream to AAC using FFmpeg's native AAC encoder, the default and most compatible audio format for the 3G2 container and mobile devices.
-crf 23 Sets the H.264 Constant Rate Factor to 23, the default quality level that balances file size and visual fidelity for surveillance and broadcast-captured DVR content. Lower values (e.g., 18) preserve more detail from the original recording.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which is sufficient for voice and ambient audio typical in DVR surveillance recordings and well within 3G2's mobile audio constraints.
-movflags +faststart Moves the 3G2 container's moov atom to the beginning of the output file, enabling progressive streaming over CDMA mobile networks — the file can begin playing on a device before it has fully downloaded, which is a core design requirement of the 3G2 format.
output.3g2 Defines the output filename and signals FFmpeg to write the result in the 3G2 container format, packaging the re-encoded H.264 video and AAC audio streams into the 3GPP2-compliant structure.

Common Use Cases

  • Sharing short surveillance clips from a DVR system with field investigators or law enforcement who use CDMA mobile devices that require 3G2 playback
  • Archiving broadcast capture footage from a DVR onto a mobile-compatible format for review on legacy CDMA handsets or older 3G-era media players
  • Reducing the transmission overhead of DVR security footage by converting to 3G2's low-bitrate-friendly container for sending clips over constrained mobile networks
  • Preparing DVR-captured TV recordings for playback on early-generation mobile phones and set-top devices that only support 3GPP2 media
  • Creating mobile-streamable versions of DVR surveillance footage for remote site monitoring apps that ingest 3G2 files
  • Converting proprietary DVR recordings to a standardized container so they can be reviewed without needing the original DVR hardware or proprietary playback software

Frequently Asked Questions

Yes, some quality loss is inevitable because this conversion involves a full re-encode of both the video and audio streams — there is no lossless path from DVR to 3G2. The default CRF value of 23 for H.264 produces a good balance of quality and file size suitable for most surveillance and broadcast content. If your DVR footage is already heavily compressed (which is common in continuous-recording DVR systems), re-encoding at CRF 23 should preserve acceptable visual fidelity, but you can lower the CRF value (e.g., 18) in the FFmpeg command to retain more detail at the cost of a larger file.
DVR files are written sequentially for recording purposes and do not need to support streaming — the recorder simply appends data as it captures. 3G2 is designed for mobile network delivery, and without +faststart, the container's moov atom (which describes all the streams and timing) is written at the end of the file. The +faststart flag moves this atom to the beginning so a mobile device can start decoding and playing the file immediately upon receiving the first packets, rather than waiting for the entire download to complete.
3G2 is a legacy format designed for 3GPP2/CDMA networks, and support on modern platforms is inconsistent. iOS and macOS have historically supported 3G2 through QuickTime, but most Android 10+ devices and Windows systems require third-party players like VLC. If your goal is broad modern compatibility, MP4 would be a better target. If you specifically need to deliver footage to CDMA-era devices or legacy mobile media systems, 3G2 with H.264 and AAC as produced by this tool is the most compatible configuration available.
Adjust the -crf value in the command to control H.264 output quality. Lower values produce higher quality and larger files: -crf 18 gives near-visually-lossless output suitable for preserving surveillance evidence detail, while -crf 28 or higher produces smaller files acceptable for quick previews. For surveillance footage where fine detail matters (e.g., reading license plates), a CRF of 18–20 is recommended. The full modified command would look like: ffmpeg -i input.dvr -c:v libx264 -c:a aac -crf 18 -b:a 128k -movflags +faststart output.3g2
DVR files often embed proprietary metadata such as recording timestamps, camera identifiers, and event markers in non-standard formats that FFmpeg cannot map into the 3G2 container. Standard container-level metadata like creation time may be partially preserved, but device-specific fields will be lost. If preserving chain-of-custody timestamps is important — such as for legal or investigative use — you should document the original file's metadata separately before conversion using a tool like MediaInfo or ExifTool.
Yes, the displayed FFmpeg command can be adapted for batch processing on your desktop using a shell loop. On Linux or macOS, you can run: for f in *.dvr; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.dvr}.3g2"; done. On Windows Command Prompt: for %f in (*.dvr) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.3g2". This is especially useful for files over 1GB, which exceed the browser tool's limit.

Technical Notes

DVR is a proprietary container format with no single universal specification — different manufacturers (Hikvision, Dahua, standalone DVR appliances) implement it differently, which means FFmpeg's ability to parse the input depends on how closely the DVR file adheres to recognizable internal structures. In practice, many DVR files are wrappers around standard H.264 streams, which FFmpeg handles well. The 3G2 container is structurally similar to MP4 (both descend from the ISO Base Media File Format), but 3G2 imposes stricter constraints on codec profiles and bitrates for mobile compatibility. H.264 Baseline or Main Profile is strongly recommended for 3G2 targets — FFmpeg's libx264 defaults to Main Profile, which is appropriate. AAC-LC at 128k is the standard audio configuration and is well within 3G2 spec. One key limitation: 3G2 does not support subtitles, chapters, or multiple audio tracks, so any DVR recordings that encode closed-caption or secondary audio data will have that information stripped during conversion. Maximum audio bitrate in 3G2 is typically capped at 256k, lower than some other container formats, but 128k AAC is more than sufficient for surveillance audio.

Related Tools