MPL File Documentation


Summary

An AVCHD Playlist File is a small binary index created by an AVCHD camcorder (Sony, Panasonic, Canon and others). It is not video: it only stores the order of, and references to, the actual .MTS/.M2TS clips, plus clip metadata. Its MIME type is application/octet-stream. To watch your footage you open the .MTS clips themselves (VLC plays them free); the .mpl exists so the camera and editing software can navigate the recording. Copying only the .mpl gives you nothing playable — copy the whole AVCHD folder.

Technical details

FeatureValue
Full nameAVCHD Playlist File
File extension.mpl (also .mpls)
MIME typeapplication/octet-stream
Format typeBinary playlist / index (references clips, holds no A/V data)
Base formatBlu-ray MPLS playlist structure
DeveloperAVCHD consortium (Sony & Panasonic)
Introduced2006 (AVCHD format)
Open standardNo — proprietary AVCHD/BDMV specification
Byte orderBig-endian
Magic number4D 50 4C 53 (“MPLS”) at offset 0, followed by a 4-byte version (e.g. “0100”/“0200”)
Typical filename00000.MPL in the PLAYLIST folder, with a parallel 00000.CPI clip-info file
Folder locationPRIVATE/AVCHD/BDMV/PLAYLIST/
References.MTS/.M2TS clips in the STREAM folder via CLIPINF (.cpi)
Contains video/audioNo — pure metadata; not playable on its own
Underlying video codecH.264/AVC video with AC-3 audio in an MPEG-2 transport stream
Related extensions.mts, .m2ts, .cpi, .bdmv, .mpls, .tod
Referenceen.wikipedia.org/wiki/AVCHD
File signature (magic bytes)
4D 50 4C 53

Offset 0, 4 bytes, ASCII MPLS (“MoviePlayList”), immediately followed by a 4-byte version string such as 30 31 30 30 (“0100”) or 30 32 30 30 (“0200”). This is the Blu-ray/AVCHD playlist header, shared by .mpl and .mpls. All integers in the format are big-endian. The signature identifies a playlist, not a video: the actual footage is in the .MTS/.M2TS clips this file points to. The trailing version bytes vary by camcorder vendor and firmware.

What is an MPL file?

An .mpl file is the playlist of AVCHD, the high-definition camcorder recording format co-developed by Sony and Panasonic in 2006 and used by most consumer and prosumer tapeless camcorders (Sony Handycam, Panasonic, Canon, JVC). AVCHD records video as H.264/AVC with AC-3 audio inside an MPEG-2 transport stream, stored as .MTS or .M2TS clip files. The .mpl files sit in the PLAYLIST folder of the AVCHD structure and are an adaptation of the Blu-ray MPLS playlist format.

The single most important fact about an .mpl is that it contains no audio and no video. It is pure metadata: an ordered list of which clips belong to a recording session and references pointing at them, so the camera’s built-in player and editing software can present a shoot as one continuous program even though it is physically split across several .MTS files. AVCHD splits long recordings at roughly the 2 GB FAT32 file-size limit, and the playlist is what stitches those pieces back into the right order. Double-clicking an .mpl does nothing useful because there is nothing to play; the footage is elsewhere.

The AVCHD folder structure and where the MPL lives

An AVCHD recording is not a single file but a fixed folder tree on the memory card, and every part has a role. The .mpl only makes sense inside this tree.

PRIVATE
└─ AVCHD
   └─ BDMV
      ├─ index.bdmv            top-level index of the disc/card
      ├─ MovieObject.bdmv      navigation objects
      ├─ PLAYLIST
      │   └─ 00000.MPL         the playlist (this file) — ordered clip refs
      ├─ CLIPINF
      │   └─ 00000.CPI         clip info: timing and stream details per clip
      └─ STREAM
          └─ 00000.MTS         the actual H.264/AC-3 video+audio

The pieces cross-reference by matching five-digit numbers. A playlist in PLAYLIST points at one or more clip-info files in CLIPINF, and each clip-info file describes exactly one stream file in STREAM. This is why copying only the .mpl, or only the STREAM folder, breaks playback: the reference chain is severed. When archiving camcorder footage you copy the whole AVCHD/BDMV folder tree, not selected files.

The MPLS header: tag, version and section offsets

An AVCHD .mpl uses the Blu-ray MPLS layout and begins with a fixed tag. The first four bytes are ASCII MPLS (4D 50 4C 53), followed immediately by a four-byte version string, commonly 0100 or 0200. All multi-byte values in the format are big-endian. After the version, the header stores the byte offsets of the three main sections that follow, so a reader jumps straight to each rather than scanning.

offset  size  field
0x00    4     type_indicator     "MPLS"
0x04    4     version_number     "0100" / "0200"
0x08    4     PlayList_start_addr        offset to the PlayList section
0x0C    4     PlayListMark_start_addr    offset to the marks (chapters)
0x10    ...   AppInfoPlayList, then PlayList, then PlayListMark

The offsets matter because the format is designed so a player can skip sections it does not need. The version bytes are the one detail that varies between camcorder vendors and firmware, which is why the MPLS tag is a reliable identifier but the trailing version is not something to hard-code against.

The PlayList section: PlayItems and clip references

The heart of the file is the PlayList section. It opens with a length field and reserved bytes, then a count of PlayItems and a count of SubPaths, then the PlayItems themselves in order. Each PlayItem is one entry in the running order and points at a clip.

PlayList
  length              (4 bytes)
  reserved            (2 bytes)
  number_of_PlayItems (2 bytes)
  number_of_SubPaths  (2 bytes)
  PlayItem[0]
    clip_information_file_name  -> matches a .CPI in CLIPINF (e.g. "00000")
    clip_codec_identifier       ("M2TS")
    IN_time / OUT_time          the used portion of the clip on the timeline
    ...
  PlayItem[1] ...

A PlayItem does not embed video. It names a clip-information file by its five-digit stem, which in turn identifies the stream file, and it carries an IN_time and OUT_time giving the segment of that clip used in this playlist. By reading the PlayItems in order and following each to its clip, a player reconstructs the full recording as one continuous sequence. The PlayListMark section that follows records chapter marks as timestamps into the playlist.

Playing the footage and importing into an editor

To simply watch camcorder footage, ignore the .mpl and open the .MTS/.M2TS clips in the STREAM folder directly. VLC plays AVCHD clips for free. The playlist becomes useful when you import into editing software: point CyberLink PowerDirector, Apple iMovie, Adobe Premiere or Sony’s Catalyst Browse at the whole AVCHD folder, and the importer reads the .mpl and .cpi index to reassemble the clips in the correct order and preserve their metadata. That is the difference between opening a bare clip and importing a project: the playlist restores the shoot’s structure.

The frequent request to “convert MPL to MP4” is really a request to convert the underlying clips, because the .mpl holds no video to convert. Re-encode the .MTS files with HandBrake or VLC to produce MP4, or import the AVCHD folder into an editor and export a single MP4 that respects the playlist order.

Not every MPL is an AVCHD playlist

The .mpl extension is reused by unrelated software. Older versions of Maplesoft Maple saved math worksheets as .mpl/.mws; some media players, DAWs and karaoke apps use .mpl for their own text or binary playlists; and Microchip’s MPLAB IDE used .mpl as a project library list. If a file did not come off a camcorder memory card and does not begin with the MPLS tag, it is probably one of these other formats rather than an AVCHD playlist. The closely related .mpls extension and the .bdmv index file are part of the same Blu-ray/AVCHD family.

Frequently asked questions

How do I play an MPL file?

You do not play the .mpl itself; it is only a playlist index with no video in it. Open the actual clips (.MTS/.M2TS) in the STREAM folder with VLC, or import the whole AVCHD folder into a video editor, which uses the .mpl to keep the clips in order.

How do I convert MPL to MP4?

Convert the underlying .MTS/.M2TS clips, not the .mpl (it contains no video). Use HandBrake or VLC to re-encode the clips to MP4; to merge them in playlist order, import the AVCHD folder into an editor and export one MP4.

I only copied the .mpl file — where is my video?

The video is in AVCHD/BDMV/STREAM as .MTS/.M2TS files; the .mpl only points to them. Re-copy the entire AVCHD folder tree from the memory card so the references are intact.

References