M3U

M3U（MP3 URL的縮寫）是一種播放多媒體列表的檔案格式，它的設計初衷是為了播放音訊文件，比如MP3，但是越來越多的軟體現在用來播放影片文件列表，M3U也可以指定在線流媒體音訊源。很多播放器和軟體都支持M3U文件格式。

## 文件格式

M3U文件是一種純文本文件，可以指定一個或多個多媒體文件的位置，其文件擴展名是「M3U」或者「m3u」。

M3U文件具有多個條目，每個條目的格式可以是以下幾種格式之一：

- 一個絕對路徑；比如：C:\My Music\Heavysets.mp3
- 一個相對路徑（相對於M3U文件的路徑）；比如：Heavysets.mp3
- 一個URL

M3U文件也有注釋，注釋行以"#"字符開頭，在擴展M3U文件中，"#"還引入了擴展M3U指令。

M3U文件的作用通常是創建指向在線流媒體的播放列表，創建的文件可以輕鬆訪問流媒體。M3U文件通常作為網站的下載資源、通過email收發，並可以收聽網路電台。

如果使用編輯器編輯M3U文件，必須將該文件用Windows-1252格式保存，這種格式是ASCII編碼的超集。M3U文件也可以使用Latin-1字符編碼。

### 擴展M3U

擴展M3U指令如下：

指令｜描述｜舉例

- EXTM3U｜文件的頭部，必須是文件的第一行。｜`#EXTM3U`
- EXTINF｜指示多媒體文件的資訊，包括播放時間和標題。｜`#EXTINF:191,Artist Name - Track Title`

### M3U8

M3U8是Unicode版本的M3U，用UTF-8編碼。"M3U"和"M3U8"文件都是蘋果公司使用的HTTP Live Streaming格式的基礎，這種格式可以在iPhone和Macbook等設備播放。

## 舉例

例1

這是Windows平台上的一個擴展M3U文件的舉例，Sample.mp3和Example.ogg都是媒體文件。123和321是播放長度，單位是秒(s)，當流媒體文件的長度沒有固定、預定的長度值，用-1表示播放長度。播放長度後邊是多媒體文件的標題，通常和第二行的文件路徑相一致。在Mac OS X和Linux平台，應當使用Unix路徑。

```
#EXTM3U

#EXTINF:123, Sample artist - Sample title
C:\Documents and Settings\I\My Music\Sample.mp3

#EXTINF:321,Example Artist - Example title
C:\Documents and Settings\I\My Music\Greatest Hits\Example.ogg
```

例2

這個例子說明如何創建一個連接到特定目錄（比如快閃記憶體盤，或者CD-ROM）的M3U文件，這種M3U文件只包含一行字串：目錄的路徑。開始播放後，播放器會播放該目錄的所有內容：

```
C:\Music
```

例3

這是另外一個使用相對路徑的例子，M3U文件和媒體文件應放在同一個目錄下，而且當播放列表需要移動到另一台設備時，子目錄必須被保留。這種方式更加靈活，不會依賴於文件的具體路徑。

播放的文件跟例1一樣，該M3U文件保存為sample.m3u，保存在目錄 C:\Documents and Settings\User\My Music\

```
#EXTM3U

#EXTINF:123, Sample artist - Sample title
Sample.mp3

#EXTINF:321,Example Artist - Example title
Greatest Hits\Example.ogg
```

這種格式的M3U允許複製到另一台設備上播放。該目錄的所有文件和子目錄也必須複製。

例4

這是一個混合使用的例子。

```
Alternative\Band - Song.mp3
Classical\Other Band - New Song.mp3
Stuff.mp3
D:\More Music\Foo.mp3
..\Other Music\Bar.mp3
http://emp.cx:8000/Listen.pls
http://www.example.com/~user/Mine.mp3
```

注意:

- Alternative和Classical是M3U文件所在目錄的子目錄。
- "Song"和"New Song"存放在M3U文件所在目錄的子目錄。
- "Stuff"跟M3U文件在同一目錄。
- "Foo"是一個絕對路徑(Windows)，跟M3U所在目錄無關。
- "Bar"存放的目錄和M3U文件的目錄是同級的，「兩個點」代表的是M3U文件所在目錄的上層目錄，然後在上層目錄的子目錄"Other Music"中找到"Bar"。
- "Listen"是一個Shoutcast流。
- "Mine"是一個儲存在web伺服器的MP3文件。

例5

連結到另外一個M3U播放列表，但軟體支持性不佳，比如：

```
AnotherPlayList.m3u
```

例6

這個例子是愛麗絲囚徒的專輯《Jar of Flies》，用Mp3tag加入了自定義的音樂資訊：

- 播放列表的額外資訊格式： "%artist% - %title%",
- 播放列表的文件名格式： "%artist%_%album%_00_Playlist.m3u",
- 文件名轉換的標籤： "%artist%_%album%_$num(%track%,2)_%title%".

```
#EXTM3U
#EXTINF:419,Alice In Chains - Rotten Apple
Alice In Chains_Jar Of Flies_01_Rotten Apple.mp3
#EXTINF:260,Alice In Chains - Nutshell
Alice In Chains_Jar Of Flies_02_Nutshell.mp3
#EXTINF:255,Alice In Chains - I Stay Away
Alice In Chains_Jar Of Flies_03_I Stay Away.mp3
#EXTINF:256,Alice In Chains - No Excuses
Alice In Chains_Jar Of Flies_04_No Excuses.mp3
#EXTINF:157,Alice In Chains - Whale And Wasp
Alice In Chains_Jar Of Flies_05_Whale And Wasp.mp3
#EXTINF:263,Alice In Chains - Don't Follow
Alice In Chains_Jar Of Flies_06_Don't Follow.mp3
#EXTINF:245,Alice In Chains - Swing On This
Alice In Chains_Jar Of Flies_07_Swing On This.mp3
```

## 軟體

有很多播放器和軟體都支持M3U文件格式，一些比較出名的軟體包有：

### 播放器

Windows

- Windows Media Player, foobar2000, VLC media player, iTunes, Winamp, Audacious, Totem, JuK.

Android

- Astro Player, N7Player, Cubed, KMPlayer.

### 標籤編輯器

標籤編輯器（Tag editor）允許用戶在MP3文件上編輯ID3標籤,也支持創建M3U文件。

Windows

- mp3tag，puddletag。

## 外部連結

- Unofficial M3U file specification , 2001/2008, winamp.com
- A survey of playlist formats , 2003
- M3U play list specification , 2010/2012
- HTTP Live Streaming specification (includes M3U and M3U8) , 2012, ietf.org
- What is a m3u8 file?
- 如何下載m3u8線上串流媒體音訊源

## 基本資料

- 擴展名：.m3u (Windows-1252)、.m3u8 (UTF-8)
- mime：application/x-mpegurl
- type code：M3U
- 類型：播放列表