Convert MP4 to DVR — Free Online Tool
Convert MP4 files to DVR format using H.264 video and AAC audio encoding, producing footage compatible with digital video recorder systems for playback, archiving, or integration with surveillance and broadcast capture workflows. This tool runs entirely in your browser — no upload required.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MP4 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
MP4 is a flexible container that can carry a range of video codecs (H.264, H.265, VP9) and audio codecs (AAC, MP3, Opus), along with subtitles, chapters, and multiple audio tracks. DVR is a proprietary, recorder-oriented format with a much narrower codec profile — it accepts H.264 video and AAC or MP3 audio, and does not support subtitles, chapters, or multiple audio tracks. During this conversion, if the source MP4 already uses H.264 video and AAC audio, the streams are re-encoded to ensure compatibility with DVR container constraints and to apply the target quality settings (CRF 23, 128k audio bitrate). Any subtitle tracks, chapter markers, or secondary audio tracks present in the MP4 are dropped, as the DVR format has no mechanism to store them. The output is a lossy-only format, so lossless source content will be downgraded to lossy H.264.
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 FFmpeg.wasm) and when run locally on your desktop. |
-i input.mp4
|
Specifies the input file as an MP4 container. FFmpeg reads the MP4's video, audio, subtitle, and chapter streams and makes them available for processing — though only the primary video and audio streams will be carried through to the DVR output. |
-c:v libx264
|
Encodes the output video stream using the libx264 H.264 encoder, which is the only general-purpose video codec widely supported by DVR systems. If the source MP4 uses H.265, VP9, or any other codec, it is fully re-encoded to H.264 here. |
-c:a aac
|
Encodes the output audio stream using FFmpeg's native AAC encoder, matching DVR's primary supported audio codec. If the source MP4 used Opus or MP3 audio, it is re-encoded to AAC during this step. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 video encode to 23, which is the libx264 default and balances visual quality against file size. Lower values (e.g., 18) produce higher-quality, larger DVR files; higher values (e.g., 28) produce smaller files with more visible compression. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which is the standard quality tier for AAC and is appropriate for speech, television audio, and general-purpose DVR recordings. Increase to 192k or 256k for music-heavy content. |
output.dvr
|
Specifies the output filename with the .dvr extension, signaling to FFmpeg to write the encoded H.264 video and AAC audio into a DVR container. Subtitle tracks, chapter markers, and secondary audio tracks from the source MP4 are not written to this output. |
Common Use Cases
- Archiving recorded broadcast television captured as MP4 into a DVR-native format for playback on set-top DVR hardware or proprietary DVR software
- Preparing MP4 security camera footage exports for ingestion into a DVR management system that only accepts its native file format
- Converting MP4 recordings from screen capture or video editing software into DVR files for integration with a legacy broadcast capture workflow
- Re-packaging MP4 video clips as DVR files to store alongside natively recorded DVR footage in a unified surveillance archive
- Transcoding MP4 content with H.265 or VP9 video to H.264-based DVR files for compatibility with older DVR hardware that cannot decode modern codecs
- Generating a DVR-format copy of an MP4 training or instructional video for distribution to staff using DVR-based playback kiosks
Frequently Asked Questions
No. The DVR format does not support subtitle tracks, chapter markers, or multiple audio tracks, so all of these are silently dropped during conversion. If your MP4 contains embedded subtitles (SRT, ASS, or bitmap-based) or chapter metadata, you should export or back up those elements separately before converting, as they cannot be recovered from the output DVR file.
The H.265 video stream will be fully re-encoded to H.264, because DVR only supports H.264 and MJPEG for video. This re-encoding is computationally intensive and will take longer than a simple remux. It also introduces a quality tradeoff: H.264 at the same CRF value is generally less efficient than H.265, meaning the DVR file may be larger or slightly lower in visual quality than the source MP4 for equivalent settings.
Yes. Even when the source MP4 uses H.264 and AAC — codecs compatible with DVR — the conversion still re-encodes both streams rather than remuxing them. This ensures the output conforms to DVR container requirements and applies the specified CRF and bitrate settings. The re-encoding will cause a minor generational quality loss, which is minimized by the default CRF 23 setting but is inherent to any lossy-to-lossy transcode.
CRF (Constant Rate Factor) controls the visual quality of the H.264 encode: lower values produce higher quality and larger files, higher values produce smaller files with more compression artifacts. CRF 23 is the H.264 default and is a solid general-purpose setting. If you need higher quality — for example, preserving fine detail in surveillance footage — copy the displayed FFmpeg command and change '-crf 23' to a lower value such as '-crf 18'. For smaller files where quality is less critical, increase it toward '-crf 28' or higher.
The command shown processes one file at a time, but you can adapt it for batch processing in a shell script. On Linux or macOS, use: 'for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.mp4}.dvr"; done'. On Windows Command Prompt, use a 'for' loop with '%f' variables. This is especially useful for files over 1GB, which exceed the browser tool's limit and must be processed locally via the desktop FFmpeg binary.
Several factors can cause the DVR file to be larger. If your source MP4 used H.265 or VP9 — both more efficient codecs than H.264 — re-encoding to H.264 at CRF 23 will naturally produce a bigger file for equivalent visual quality. Additionally, if the source was encoded at a higher CRF (lower quality) than 23, the DVR output encoded at CRF 23 will be larger. To reduce file size, increase the CRF value in the FFmpeg command (e.g., '-crf 28') or lower the audio bitrate (e.g., '-b:a 96k').
Technical Notes
DVR is a proprietary format primarily designed around recording workflows — surveillance systems, set-top boxes, and broadcast capture devices — rather than general media distribution. Its codec support is intentionally narrow: H.264 or MJPEG for video, and AAC or MP3 for audio. This conversion uses libx264 (FFmpeg's H.264 encoder) and the native AAC encoder, which are well-tested and produce broadly compatible output. Notably, DVR does not include the '-movflags +faststart' optimization that MP4 benefits from for web streaming, since DVR is not a streaming-oriented format. The DVR format is lossy-only; there is no lossless encoding path, so any source content encoded losslessly (e.g., an MP4 using lossless x264 at CRF 0) will be downgraded. Metadata preservation is limited: basic duration and codec metadata may be retained, but rich MP4 metadata such as title tags, artist fields, chapter names, and multiple audio language tracks will be lost. If your DVR playback device requires a specific variant of H.264 (e.g., a particular profile or level), you may need to add '-profile:v baseline -level 3.0' or equivalent flags to the FFmpeg command manually.