File types

Streamtuner2 understands different playlist formats as used by various directory services and audio players.

.M3U files

M3U files are one of the simplest playlist types. They're often used by desktop audio players.

The MIME type of these files is audio/x-mpegurl and often contain just a list of URLs:

#M3U
http://123.45.67.189:8222/
http://123.45.67.222:7555/

.PLS files

Playlist files often have the extension .pls. It's the primary station stream link format of SHOUTcast, and was popularized by WinAmp.

The MIME type of these files is audio/x-scpls and they often look like:

[playlist]
numberofentries=1
File1=http://123.45.67.189:8222
Title1=(#1 - 555/2000) radio station Xyz - top 100 - all the hitzez
Length1=-1

.JSON files

JSON is a data representation format derived from Javascript (the browser embedded programming language for websites). It's commonly used because it provides a nice balance between terse and exact data represantion, while still being readable.

Streamtuner2 uses it to store all of its configuration and radio station data files. The MIME type of these files is application/json and they often look like:

[
  {
    "title": "Station title..",
    "url": "http://1.2.3.4:8000/",
    "homepage": "http://radio.org/",
  },
  { "title": "second" }
]

It's also the basis for JSPF, the JSON variant of XSPF.

.XSPF files

The Xiph foundation manages the Ogg streaming format, Vorbis and other codecs, and introduced XML shareable playlist format "XSPF". They're hard to look at and not very widespread. On the upside they contain more meta information than any other playlist store.

As MIME type application/xspf+xml and they often look like:

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
  <trackList>
    <track>
      <title>Top 500 hitz station XY</title>
      <annotation>Paris</annotation>
      <location>http://123.24.67.189:8222</location>
      <info>Pop, Rock, Future-Jazz</info>
      <homepage>http://example.com/</homepage>
    </track>
  </trackList>
</playlist>

A variation of this format exists as JSPF, using JSON (yay!) instead of XML.

Uncommon formats

Various other file formats are in existence, but not widely used:

  • SMIL

    Synchronized Multimedia Integration Language is a HTML-style audio/video/stream-link format.

  • ASX

    Is a Windows-only format, a variation of SMIL. There's an abhorrent number of similar formats, like .ASF and .WPL, basically doing the same thing. Nobody knows why.

  • QTL

    QuickTime Link files are also a variation of SMIL

  • B4S

    .B4S is a failed WinAmp XML playlist format.

  • .desktop

    *.desktop files can contain just one link.

  • .url

    *.url (Internet Shortcut) files also are single-link containers.

For a comparison of what various audio player support, see also Playlist format support in the ST2 fossil wiki.