What is a .MTS file?
The .mts extension names two unrelated things: AVCHD camcorder video and a TypeScript ES module.
AVCHD video
- What it is
- An AVCHD camcorder recording - the BDAV transport stream Sony, Panasonic and Canon camcorders write to card, carrying H.264 video with AC-3 or LPCM audio. Analyser reads the container, codec, resolution and streams and plays it back.
- How to tell it apart
- AVCHD is binary and repeats the 0x47 sync byte every 192 bytes, four bytes into each packet; TypeScript is UTF-8 text.
- Did you know
- AVCHD wraps each 188-byte transport packet in an extra four-byte arrival timestamp, which is the only thing separating a camcorder's .mts from an ordinary broadcast stream.
- AVCHD was announced jointly by Sony and Panasonic in 2006 so tape-free camcorders could record HD onto DVDs, hard discs and memory cards.
- A camcorder splits its recording into roughly 2 GB .mts files so the clips stay within the FAT32 file-size limit the cards were formatted with.
TypeScript ES module
- What it is
- A TypeScript source file that is always an ES module, whatever the surrounding package.json says (.cts is its CommonJS twin). Analyser reads the shape of the module alongside the source preview: the modules it imports, the names it exports, what it declares, a line breakdown and how often it steps around the type system.
- How to tell it apart
- TypeScript is human-readable text.
- Did you know
- The .mts suffix exists because Node needed a way to say 'this file is an ES module' that no package.json setting could override.
- Compiling a .mts emits a .mjs, and its CommonJS twin .cts emits a .cjs, so the module system survives the trip through the compiler.
- Every TypeScript type is erased at compile time, so a .mts file always compiles down to plain JavaScript that adds nothing at runtime.
- Open a .MTS file
- Drag a .MTS file onto the Analyser home page (or tap to pick one). It opens entirely in your browser - nothing is uploaded, there is no account, and it works offline once installed.