Convert DVR to WTV — Free Online Tool

Convert DVR recordings to WTV (Windows Television) format for playback and management in Windows Media Center. This conversion re-encodes the video using H.264 (libx264) and audio using AAC, while unlocking WTV-exclusive features like subtitle support and multiple audio tracks that DVR files cannot carry.

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 is a proprietary container used by digital video recorders — often surveillance systems or set-top boxes — that typically encodes video with H.264 or MJPEG and audio with AAC or MP3. WTV is Microsoft's Windows Television container, designed specifically for broadcast recordings in Windows Vista/7/10 Media Center. Because both formats share compatible codecs (libx264 and AAC), this conversion involves a full re-encode rather than a simple remux, since the DVR container's internal stream framing and metadata structures are incompatible with the WTV container spec. FFmpeg reads the DVR container, decodes the video and audio streams, and re-encodes them into the WTV container using H.264 at CRF 23 (a visually near-lossless quality level) and AAC at 128k. The resulting WTV file gains support for subtitles and multiple audio tracks, features the DVR format does not support.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles all the demuxing, decoding, re-encoding, and muxing steps needed to convert the DVR container to WTV. This is the same engine running in your browser via WebAssembly.
-i input.dvr Specifies the input DVR file. FFmpeg will attempt to detect the DVR container variant and extract the video (H.264 or MJPEG) and audio (AAC or MP3) streams for processing.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder, which is the default and most compatible video codec for WTV playback in Windows Media Center.
-c:a aac Re-encodes the audio stream using FFmpeg's native AAC encoder, producing an AAC audio track compatible with the WTV container and Windows Media Center playback.
-crf 23 Sets the Constant Rate Factor for the H.264 encode to 23, the default quality level. This produces a good balance between visual quality and file size for DVR source material; lower values (e.g., 18) increase quality and file size.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which provides clean stereo audio quality appropriate for television and surveillance recordings converted from DVR source files.
output.wtv Specifies the output filename and tells FFmpeg to write the result into a WTV container. FFmpeg uses the .wtv extension to apply the correct Windows Television muxer with its broadcast-recording-oriented container structure.

Common Use Cases

  • Importing surveillance or set-top box DVR recordings into Windows Media Center for organized playback alongside your TV library.
  • Archiving captured broadcast footage from a DVR device into WTV so it can be indexed and managed by Windows Media Center's metadata system.
  • Converting DVR security footage into WTV to take advantage of WTV's multiple audio track support when the original recording has more than one language or audio channel.
  • Preparing DVR-recorded content for editing workflows that use WTV as an input format in Windows-based video production tools.
  • Re-packaging DVR recordings into WTV to embed subtitle streams — for example, when closed-caption data needs to be muxed in at a later stage.
  • Standardizing a mixed archive of DVR files from different recorder brands into a single WTV format for consistent playback behavior on a Windows HTPC.

Frequently Asked Questions

Yes, some generation loss is expected because this conversion re-encodes the video rather than remuxing it. The default CRF value of 23 used by this tool produces visually high-quality H.264 output that is virtually indistinguishable from the source for most content, but it is not mathematically lossless. If you need the highest possible fidelity, you can lower the CRF value (toward 0) in the FFmpeg command at the cost of a larger output file.
While both DVR and WTV can use H.264 video and AAC audio, the DVR container uses a proprietary stream framing and packaging structure that is not directly compatible with the WTV container format. FFmpeg must decode and re-encode the streams to properly wrap them in the WTV container with correct timestamps, metadata headers, and stream descriptors that Windows Media Center expects.
DVR files often store proprietary metadata in vendor-specific container fields that FFmpeg cannot reliably read or map to WTV metadata tags. Generic metadata like duration and stream properties will be preserved, but device-specific fields such as channel name, recording schedule, or EPG data are likely to be lost during conversion. WTV supports rich broadcast metadata embedding, but this is only populated if the source provides compatible metadata that FFmpeg can parse.
Yes — WTV supports subtitles, which is one key advantage over the DVR format. To add a subtitle stream, you would extend the FFmpeg command to include a subtitle input (e.g., an SRT file) and map it into the output: ffmpeg -i input.dvr -i subtitles.srt -c:v libx264 -c:a aac -crf 23 -b:a 128k -c:s mov_text output.wtv. Check which subtitle codecs your WTV player supports, as compatibility varies.
Adjust the -crf value in the command to control video quality. Lower values produce better quality and larger files (CRF 18 is considered visually lossless for most content), while higher values reduce file size at the cost of quality (CRF 28 or higher is noticeably lossy). For example: ffmpeg -i input.dvr -c:v libx264 -c:a aac -crf 18 -b:a 128k output.wtv. The valid range is 0 (lossless) to 51 (worst quality).
The single-file command shown on this page must be run once per file, but you can batch process on Windows using a simple loop in Command Prompt: for %f in (*.dvr) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.wtv". On Linux or macOS, use: for f in *.dvr; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.dvr}.wtv"; done. This is especially useful for large archives since this browser tool handles files up to 1GB.

Technical Notes

DVR is a broad term for proprietary recording containers from manufacturers like Hikvision, Dahua, and various cable/satellite set-top box vendors. FFmpeg's ability to parse a given DVR file depends heavily on which vendor's container structure is used — some DVR files may require demuxing tools specific to that hardware before FFmpeg can process them. WTV, by contrast, is a well-documented Microsoft format based on a structured storage model with MPEG-style stream multiplexing. The re-encode to H.264/AAC in WTV ensures broad compatibility with Windows Media Center and downstream tools like MCEBuddy. One important limitation: DVR files do not support multiple audio tracks or subtitles, so if your source has embedded closed captions in a proprietary DVR caption format, these will not automatically transfer — you would need to extract captions separately and mux them into the WTV output as a second step. File sizes after conversion will vary significantly depending on the source DVR's original bitrate; recordings from high-bitrate surveillance systems may produce large WTV files even at CRF 23.

Related Tools