Convert MTS to TS — Free Online Tool

Convert MTS files from Sony or Panasonic AVCHD camcorders into standard MPEG-2 Transport Stream (.ts) files, re-encoding the H.264 video and AC-3/AAC audio into a broadcast-compatible TS container. This is ideal for preparing camcorder footage for broadcast pipelines, HLS streaming, or editing workflows that require a standard TS container without the AVCHD directory structure.

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

MTS is technically already an MPEG-2 Transport Stream, but it is wrapped in the AVCHD file system structure with specific constraints tied to Sony and Panasonic camcorder firmware. This conversion re-encodes the H.264 video stream using libx264 with a CRF of 23 and transcodes the audio (which in MTS files is typically AC-3 or AAC) to AAC at 128k bitrate, producing a clean, self-contained .ts file. Unlike a simple remux, the re-encode strips AVCHD-specific metadata and timing structures, making the output compatible with broadcast ingest systems, HLS packagers, and video editors that handle standard TS but may reject raw AVCHD-MTS files.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary. In this browser-based tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) — no file data leaves your machine.
-i input.mts Specifies the input MTS file from your AVCHD camcorder. FFmpeg will detect the MPEG-2 Transport Stream container and parse the H.264 video and AC-3/AAC audio streams embedded within it.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder. Even though MTS already contains H.264, a full re-encode is used here to strip AVCHD-specific transport stream constraints and produce a clean, standards-compliant H.264 stream in the output TS container.
-c:a aac Transcodes the audio to AAC using FFmpeg's built-in AAC encoder. This handles both AC-3 source audio (common on Panasonic AVCHD cameras) and AAC source audio, normalizing the output to a single, universally compatible audio format for the TS container.
-crf 23 Sets the Constant Rate Factor for the libx264 encoder to 23, which is the default balanced quality setting. For AVCHD camcorder footage, lower values like 18–20 are recommended if you want to preserve fine detail from the original recording without visible re-encoding artifacts.
-b:a 128k Sets the AAC audio output bitrate to 128 kilobits per second. This is adequate for most camcorder audio, but if the source MTS file contains high-quality AC-3 audio at 192k or 256k, increasing this to -b:a 192k will reduce generation loss during the AC-3-to-AAC transcode.
output.ts Specifies the output filename with a .ts extension, instructing FFmpeg to write an MPEG-2 Transport Stream container. This format is natively compatible with HLS pipelines, broadcast ingest systems, and media players without requiring the surrounding AVCHD directory structure.

Common Use Cases

  • Preparing footage from a Sony Handycam or Panasonic HC-series camcorder for ingest into a broadcast television editing system that requires standard MPEG-2 TS input
  • Converting MTS clips for use in an HLS streaming pipeline, where .ts segment files are a native delivery format and AVCHD-specific metadata would cause ingest errors
  • Stripping the AVCHD container structure from vacation or event footage so that video editors like VLC, FFmpeg-based tools, or broadcast NLEs can open the file without needing to navigate the AVCHD directory tree
  • Re-packaging camcorder footage for digital signage or kiosk playback systems that accept MPEG-2 TS streams but do not support the AVCHD format variant
  • Archiving individual MTS clips from a multi-clip AVCHD recording session as standalone .ts files for long-term storage without relying on the AVCHD folder structure to keep them playable
  • Normalizing camcorder footage from mixed sources (some MTS, some already .ts) into a single consistent TS format before concatenating clips in a broadcast automation workflow

Frequently Asked Questions

While MTS uses the same underlying MPEG-2 Transport Stream bitstream as .ts, it is embedded within the AVCHD file system, which includes specific PID assignments, private descriptors, and timing offsets tied to camcorder firmware. Converting to a plain .ts file re-encodes the video and audio streams and writes them into a clean, standards-compliant MPEG-2 TS container without AVCHD-specific signaling. The result is a file that broadcast tools, HLS packagers, and media servers can process without needing AVCHD-aware parsers.
If your MTS file has AC-3 (Dolby Digital) audio, which is common on Panasonic camcorders, it will be transcoded to AAC at 128k — this involves a decode-and-re-encode step that introduces some generation loss. If the source already uses AAC audio, the re-encode still occurs at 128k, so files with higher-bitrate source audio will see a slight quality reduction. For professional use, you can increase the audio bitrate in the FFmpeg command using -b:a 192k or -b:a 256k to reduce this loss.
AVCHD camcorders embed proprietary metadata — including timecode, GPS coordinates, and recording date — in private data packets and sidecar files within the AVCHD directory structure. When re-encoding to a plain .ts file, this camcorder-specific metadata is not preserved, as standard TS containers have no equivalent fields for most of it. If preserving timecode is critical for your workflow, you should extract and store the metadata separately before conversion.
The -crf 23 flag controls the quality-to-file-size tradeoff for the libx264 encoder. Lower CRF values produce higher quality and larger files — try -crf 18 for near-lossless quality or -crf 28 for smaller file sizes with more compression. For MTS footage that was already compressed in-camera at a modest bitrate (typically 17–28 Mbps on AVCHD), a CRF of 18–20 is usually sufficient to avoid visible quality loss in the output .ts file.
Yes. 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}.ts"; done — this loops through all MTS files in the current directory and converts each one to a matching .ts file. 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.ts". This is especially useful for processing multi-clip AVCHD recordings from a single memory card.
Yes. The output uses H.264 video and AAC audio inside an MPEG-2 TS container, which is the exact codec and container combination used for HLS (.m3u8) segments. VLC, QuickTime, web browsers via HLS.js, and most broadcast players will open the file natively. If you are feeding the .ts file into an HLS segmenter like ffmpeg -hls_time or a packager like Shaka Packager, this output format is a direct match for that pipeline.

Technical Notes

MTS files from AVCHD camcorders use a constrained profile of MPEG-2 Transport Stream with H.264 video (typically High Profile, Level 4.0 or 4.1) and either AC-3 or AAC audio, multiplexed with AVCHD-specific private stream PIDs. When converting to a generic .ts file with this tool, the H.264 stream is fully re-encoded by libx264 rather than stream-copied — this is intentional because AVCHD transport streams often contain non-standard PTS/DTS offsets and buffer model parameters that can cause sync issues in downstream players if the stream is remuxed without re-encoding. The output .ts file uses standard PIDs and a clean PCR timeline. One known limitation is that multi-angle or 3D MTS files (found on some Sony camcorders) will only have their primary video track processed; secondary angle streams are discarded. Subtitle streams embedded in the AVCHD source are technically preserved if present, but AVCHD subtitle formats may not map cleanly to the TS output without explicit stream mapping. File sizes will vary from the source depending on scene complexity and the CRF setting — camcorder footage with lots of motion (sports, concerts) encoded at CRF 23 may result in files similar in size to the original, while static footage will typically be smaller.

Related Tools