Convert WMV to MTS — Free Online Tool
Convert WMV files to MTS (AVCHD) format by re-encoding Microsoft's proprietary Windows Media Video into H.264 video with AAC audio inside an MPEG-2 Transport Stream container — the same format used natively by Sony and Panasonic camcorders. This is especially useful for importing legacy Windows Media content into professional video editing workflows that expect AVCHD-compliant footage.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your WMV 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
WMV files use Microsoft's ASF (Advanced Systems Format) container, typically encoding video with the MSMPEG4 codec and audio with WMA (Windows Media Audio). Neither of these codecs is compatible with the MTS/AVCHD format, so a full re-encode is required — nothing can be stream-copied. The video is decoded from MSMPEG4 and re-encoded to H.264 (libx264) using CRF 23, a perceptually-based constant quality mode. The WMA audio is simultaneously decoded and re-encoded to AAC at 128k bitrate. The resulting streams are muxed into an MPEG-2 Transport Stream (.mts), which uses the same packetized structure that AVCHD camcorders write to memory cards and optical discs.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program. In the browser version, this runs via FFmpeg.wasm compiled to WebAssembly, executing the same logic as the desktop binary without any server-side processing. |
-i input.wmv
|
Specifies the input file — a WMV file using Microsoft's ASF container, typically carrying MSMPEG4 video and WMA audio. FFmpeg reads and demuxes both streams for decoding. |
-c:v libx264
|
Sets the video encoder to libx264, re-encoding the decoded MSMPEG4 video stream into H.264. This is mandatory because MSMPEG4 is incompatible with the MPEG-2 Transport Stream container used by MTS. |
-c:a aac
|
Re-encodes the WMA (wmav2) audio from the WMV source into AAC-LC, the standard audio codec for AVCHD/MTS files and the most broadly compatible audio format for this container. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 encode to 23, which is libx264's default and a good balance of quality and file size. Lower values (e.g., 18) produce higher-quality, larger MTS files from the WMV source. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second. This matches the typical audio quality of the WMV source's WMA audio and is sufficient for stereo dialogue and music. |
output.mts
|
Defines the output filename with the .mts extension, which tells FFmpeg to mux the encoded H.264 video and AAC audio into an MPEG-2 Transport Stream — the container format used by AVCHD camcorders and compatible editing software. |
Common Use Cases
- Importing old Windows Media Video recordings into Sony Vegas Pro or DaVinci Resolve, which natively handle AVCHD/MTS timelines without requiring additional codec packs
- Archiving WMV content captured from Windows screen recorders or DVD authoring tools into the standardized AVCHD format for long-term compatibility with professional editing suites
- Preparing corporate training videos originally delivered as WMV files for playback on Sony or Panasonic camcorder-connected monitors and media systems that read MTS from SD cards
- Converting legacy Microsoft Windows Media Player content into MTS so it can be organized alongside genuine camcorder footage in event videography projects
- Re-encoding WMV files captured from streaming or broadcast sources into the broadcast-friendly MPEG Transport Stream structure for downstream processing in MPEG-2 TS pipelines
- Migrating a library of WMV home videos into AVCHD format to consolidate them with camcorder recordings in editing software that uses MTS as its native import format
Frequently Asked Questions
Yes, some quality loss is unavoidable because both the WMV source (MSMPEG4 codec) and MTS output (H.264) are lossy formats, meaning you are decoding a lossy file and re-encoding it to another lossy format — a process called generation loss. However, with the default CRF 23 setting for libx264, the quality is generally very good and the loss is difficult to perceive for most content. If you have an unusually high-quality WMV source (e.g., encoded at 8000k), consider lowering the CRF value (try CRF 18) to preserve more detail in the output MTS file.
MTS is simply a file extension for MPEG-2 Transport Stream files containing H.264 video and AAC or AC-3 audio, which is the AVCHD specification. Editing software like Sony Vegas, Final Cut Pro, and DaVinci Resolve identify MTS files by their container and codec structure, not by any camera metadata. A converted WMV file will be structurally valid and fully importable, though it will lack the camera-specific metadata (GPS, lens info, timecode) that a genuine camcorder embeds.
Yes — the CRF value in the command controls output quality for the H.264 encode. Lower CRF means higher quality and larger file size: CRF 18 is near-visually lossless, while CRF 28 gives smaller files with more visible compression. You can also swap -c:v libx264 for -c:v libx265 to use H.265/HEVC encoding, which produces smaller MTS files at the same perceptual quality, though not all AVCHD-compatible software supports H.265 in an MTS container.
Yes. WMV files protected with Microsoft's DRM (Digital Rights Management) cannot be decoded or converted by FFmpeg — attempting to do so will result in an error or a blank output. This tool and the FFmpeg command only work with unprotected WMV files. DRM-protected WMV was common in content purchased from early Microsoft digital stores, so if your file refuses to convert, DRM protection is the most likely cause.
On Linux or macOS, you can use a shell loop: `for f in *.wmv; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.wmv}.mts"; done`. On Windows Command Prompt, use: `for %f in (*.wmv) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.mts"`. This is particularly useful for converting large libraries of legacy WMV content, and is the recommended approach for files over 1GB since this browser tool has a 1GB file size limit.
WMV (ASF container) does not natively support subtitles, so there are no subtitle streams to preserve. Multiple audio tracks, if present in the WMV source, will not be automatically included by the default command — FFmpeg selects only the best single audio stream by default. MTS does support multiple audio tracks, so if you need to carry over additional audio streams, add `-map 0:a` to the command to include all audio tracks from the input.
Technical Notes
The WMV-to-MTS conversion is a full transcode pipeline — there is no shortcut remux available because the ASF container's MSMPEG4 video codec is entirely incompatible with the MPEG-2 Transport Stream structure that MTS requires. The libx264 encoder used for the output is the industry-standard H.264 implementation and produces highly compatible video, but the CRF quality model means output file size will vary depending on the complexity and motion in the source WMV. High-motion WMV content (sports, action) will produce larger MTS files than static content at the same CRF setting. WMV files using MSMPEG4v2 versus MSMPEG4 decode identically from FFmpeg's perspective. WMA audio (wmav2) in the source is fully decodable by FFmpeg and re-encoded cleanly to AAC-LC at 128k, which is the standard audio codec in AVCHD. Note that true AVCHD compliance technically specifies AC-3 (Dolby Digital) audio rather than AAC in some device implementations — if you need strict camcorder compatibility, replacing `-c:a aac` with `-c:a ac3` may improve playback on dedicated AVCHD hardware players. Neither WMV nor MTS supports chapters, and ASF container metadata (title, author, copyright) is generally not mapped to MTS output metadata by default.