PLS (file format)

PLS is a computer file format for a multimedia playlist. It is typically used by media players for streaming media over the Internet, but may also be used for playing local media.  

For online streaming, typically the .PLS file would be downloaded just once from the media source—such as from an online radio station—for immediate or future use.  While most computers and players automatically recognize .PLS format, the first time a PLS file is used on a computer, the media player's settings may need to be changed to recognize ("associated" with) .PLS files.

PLS was originally developed for use with the  museArc audio player software by codeArts, and was later used by SHOUTcast and Icecast for streaming media over the Internet. PLS is a more expressive playlist format than the basic M3U playlist, as it can store (cache) information on  the song title and length (this is supported in extended M3U only).

File format
The format is case-sensitive and essentially that of an INI file structured as follows

Header
[playlist] : This tag indicates that it is a Playlist File

Track Entry
Assuming track entry #X
FileX : Variable defining location of media file/stream (like .m3u/.m3u8 playlists).
TitleX : Defines track title. (optional)
LengthX : Length in seconds of track. Value of -1 indicates indefinite (streaming). (optional)

Footer
NumberOfEntries : This variable indicates the number of tracks and therefore equals the number used for the last track
Version : Playlist version. Currently only a value of 2 is valid.

Examples
Example of a complete PLS file used for "streaming audio;" in this case, to connect to a particular online radio station and receive its audio stream:
[playlist]
File1=http://stream2.streamq.net:8020/
Title1=Here enter name of the station
NumberOfEntries=1

Alternative Example containing local paths:
[playlist]

File1=http://relay5.181.fm:8068
Length1=-1

File2=example2.mp3
Title2=Just some local audio that is 2mins long
Length2=120

File3=F:\Music\whatever.m4a
Title3=absolute path on Windows

File4=%UserProfile%\Music\short.ogg
Title4=example for an Environment variable
Length4=5

NumberOfEntries=4
Version=2

Unix/BSD/Linux/OS X
In Unix-like operating systems absolute and relative file paths differ from Windows, because there are no drive letters, Environment variables differ and [/] (forward slashes) are used as directory separators instead of [\] (backslashes). Therefore, playlists pointing to absolute paths or media files outside of the folder containing the playlist will only work for one type of operating system - either Windows or Unix-like. URLs work the same for all types.

To make the second example from above work the 3rd and 4th path need to be changed to something like:
File3=/media/hdd/whatever.m4a
File4=~/Music/short.ogg

Compatible media player software

iTunes, VLC media player, Totem, RealPlayer, Winamp, Yahoo! Music Jukebox, MediaMonkey, Windows Media Player, AIMP, Kodi, Rhythmbox, foobar2000, Audacious and more than 30 others are able to interpret (open) PLS files. Media Player Classic with the K-Lite codec installed does work with PLS format, but still requires the appropriate MIME or file extension associations.

See also
Other playlist file formats:
 Advanced Stream Redirector (ASX) —  Windows media
 M3U — The most common playlist format
 Windows Media Player Playlist (WPL) — Windows Media Player
 XML Shareable Playlist Format (XSPF) — Xiph.Org Foundation

References

External links
 Unofficial PLS file specification, 2001, winamp.com
 A survey of playlist formats, 2003
 PLSv2 play list specification, 2010/2012
 Open PLS in WMP

Playlist file formats
Digital audio