Convert MTS to DVR — Free Online Tool
Convert MTS files from Sony or Panasonic AVCHD camcorders into DVR format for use with digital video recorder systems. This tool re-encodes the H.264 video and AC-3/AAC audio from the MPEG-2 Transport Stream container into a DVR-compatible output using H.264 and AAC codecs, running entirely in your browser with no file uploads.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MTS 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
MTS files use the AVCHD specification, packaging H.264 video and AC-3 or AAC audio inside an MPEG-2 Transport Stream container — a format optimized for streaming and camcorder recording with features like multiple audio tracks and subtitle support. DVR is a proprietary recording format designed for digital video recorders and surveillance systems, with a simpler structure that supports only a single audio track and does not handle subtitles or chapters. During conversion, FFmpeg reads the transport stream, decodes the video if necessary, and re-encodes it using the libx264 encoder at CRF 23 (a visually balanced quality level). The audio is transcoded to AAC at 128k bitrate. Because DVR does not support multiple audio tracks, only the primary audio stream is carried over. Any subtitle streams or chapter markers present in the MTS file are dropped, as DVR has no mechanism to store them.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program, the open-source multimedia processing engine that handles reading the MTS transport stream, decoding AVCHD video and audio, re-encoding to the target codecs, and writing the DVR output container. |
-i input.mts
|
Specifies the input file — an MTS file from an AVCHD camcorder. FFmpeg detects the MPEG-2 Transport Stream container and identifies the embedded H.264 video and AC-3 or AAC audio streams automatically. |
-c:v libx264
|
Sets the video encoder to libx264, which re-encodes the H.264 video from the AVCHD source into H.264 output compatible with the DVR container. This is a full transcode rather than a stream copy, ensuring the output conforms to DVR decoder expectations. |
-c:a aac
|
Sets the audio encoder to AAC, transcoding whatever audio format is in the MTS source (AC-3 or AAC) into AAC output, which is the standard audio codec for DVR format and provides good compatibility with DVR playback hardware. |
-crf 23
|
Sets the Constant Rate Factor for the libx264 video encode to 23, a balanced quality level appropriate for camcorder footage. Lower values like 18 would increase quality and file size; higher values like 28 would reduce both — useful to know when converting lengthy AVCHD recordings. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, which provides clean stereo audio reproduction suitable for typical camcorder-recorded speech and ambient sound. For music-heavy footage or 5.1 surround audio downmixed to stereo, 192k or 256k would better preserve audio fidelity. |
output.dvr
|
Specifies the output filename with the .dvr extension, which tells FFmpeg to write the encoded video and audio into the DVR container format. The .dvr extension is the conventional file extension recognized by digital video recorder systems. |
Common Use Cases
- Archiving camcorder footage from a Sony or Panasonic AVCHD camera into a DVR system for long-term storage alongside recorded broadcast content
- Importing vacation or event footage shot on an AVCHD camcorder into a home DVR or media server that only accepts DVR-format files
- Preparing surveillance or security review footage originally captured on a camcorder in MTS format for ingestion into a DVR-based security management platform
- Converting broadcast-capture MTS recordings to DVR format for playback on set-top DVR devices that do not natively read MPEG-2 Transport Stream files
- Consolidating mixed footage from camcorder MTS sources with existing DVR library content into a single, uniform recording format
Frequently Asked Questions
Yes, some quality loss occurs because both the video and audio are re-encoded rather than copied. The H.264 video from the MTS file is decoded and re-encoded with libx264 at CRF 23, which is a widely accepted balance between file size and visual quality. The audio is similarly transcoded to AAC at 128k. If your source MTS footage was recorded at a high bitrate on a camcorder, the output DVR file will be visually very close but not mathematically identical to the original.
If your AVCHD camcorder recorded audio in AC-3 (Dolby Digital), FFmpeg decodes it and re-encodes it as AAC at 128k bitrate, since DVR format uses AAC as its audio codec. AC-3 is not preserved in the output. If your MTS file used AAC audio originally, it is still transcoded rather than stream-copied to ensure compatibility with the DVR container's specific structure.
No. DVR format does not support multiple audio tracks, so only the primary (first) audio stream from your MTS file will be included in the output. If your AVCHD recording has a secondary language track, director commentary, or stereo/surround variants as separate streams, those additional streams will be dropped during conversion.
This browser-based tool supports files up to 1GB processed entirely in-browser without any upload. For larger MTS files, which are common with long AVCHD camcorder recordings, you can use the FFmpeg command displayed on this page and run it locally on your desktop. The command is identical: ffmpeg -i input.mts -c:v libx264 -c:a aac -crf 23 -b:a 128k output.dvr, and it will handle files of any size limited only by your local storage.
The CRF value controls video quality. Lower numbers mean higher quality and larger file sizes; higher numbers mean smaller files with more compression artifacts. The default CRF 23 is a sensible middle ground for camcorder footage. To increase quality for high-motion AVCHD content like sports or fast panning shots, try CRF 18 (e.g., -crf 18). To reduce file size for archival storage where perfect fidelity is less critical, try CRF 28 or higher.
Yes, with a small modification to the command. On Linux or macOS, you can run: for f in *.mts; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.mts}.dvr"; done. On Windows Command Prompt, use: for %f in (*.mts) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.dvr". This is particularly useful when offloading a full AVCHD memory card with many .mts clips.
Technical Notes
AVCHD MTS files are structured as MPEG-2 Transport Streams, a container format designed for robust streaming where data can be parsed mid-stream without reading from the beginning — a characteristic that also makes them somewhat verbose compared to simpler container formats. DVR is a proprietary format with a closed specification that varies by manufacturer, and FFmpeg's support for writing DVR output depends on the specific DVR variant. The libx264 encoder used here produces broadly compatible H.264 Baseline or Main Profile output suitable for playback on most hardware decoders. One important limitation: MTS files frequently contain AVCHD metadata including GPS coordinates, camera model, recording date, and scene index data that are embedded in the transport stream's private data sections. None of this metadata is carried over to the DVR output, as DVR containers have no standardized equivalent metadata fields. Chapters are similarly unsupported in DVR. If your MTS files use interlaced scanning (common in 1080i AVCHD recordings from older camcorders), the interlacing is preserved in the encoded output by default — you may want to add a deinterlace filter (-vf yadif) to the FFmpeg command if the DVR playback device does not handle interlaced content well.