XSPF
Encyclopedia
XML Shareable Playlist Format (XSPF), pronounced spiff, is an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

-based playlist
Playlist
In its most general form, a playlist is simply a list of songs. They can be played in sequential or shuffled order. The term has several specialized meanings in the realms of radio broadcasting and personal computers.-In radio:...

 format for digital media
Digital media
Digital media is a form of electronic media where data is stored in digital form. It can refer to the technical aspect of storage and transmission Digital media is a form of electronic media where data is stored in digital (as opposed to analog) form. It can refer to the technical aspect of...

, sponsored by the Xiph.Org Foundation
Xiph.Org Foundation
Xiph.Org Foundation is a non-profit organizationthat produces free multimedia formats and software tools. It focuses on the Ogg family of formats, the most successful of which has been Vorbis, an open and freely licensed audio format and codec designed to compete with the patented MP3 and AAC...

.

XSPF is a data format for sharing the kind of playlist
Playlist
In its most general form, a playlist is simply a list of songs. They can be played in sequential or shuffled order. The term has several specialized meanings in the realms of radio broadcasting and personal computers.-In radio:...

 that can be played on a personal computer or portable device. In the same way that any user on any computer can open any web page, XSPF is intended to provide portability for playlists.

Features

  • A playlist format like M3U
    M3U
    M3U is a computer file format that stores multimedia playlists. It is supported by many applications.An M3U file is a plain text file that specifies the locations of one or more media files. Each line carries one specification...

     or ASX
    Advanced Stream Redirector
    The Advanced Stream Redirector format is a type of XML metafile designed to store a list of Windows Media files to play during a multimedia presentation....

  • MIME
    MIME
    Multipurpose Internet Mail Extensions is an Internet standard that extends the format of email to support:* Text in character sets other than ASCII* Non-text attachments* Message bodies with multiple parts...

     content-type of application/xspf+xml
  • Patent-free (no patents by the primary authors)
  • Specification under the Creative Commons Attribution-NoDerivs 2.5 license
    Creative Commons licenses
    Creative Commons licenses are several copyright licenses that allow the distribution of copyrighted works. The licenses differ by several combinations that condition the terms of distribution. They were initially released on December 16, 2002 by Creative Commons, a U.S...

  • XML, like Atom
    Atom (standard)
    The name Atom applies to a pair of related standards. The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol is a simple HTTP-based protocol for creating and updating web resources.Web feeds allow software programs to check for updates published on a...

  • Unicode
    Unicode
    Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

     support
  • Cross-platform
    Cross-platform
    In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

     support

History

XSPF was created by an ad-hoc working group which kicked off in February 2004, achieved rough consensus on version 0 in April 2004, worked on implementations and fine tuning throughout summer and fall 2004, and declared the tuned version to be version 1 in January 2005.

XSPF is not a recommendation of any standards body besides Xiph.Org Foundation.

Specification

For detailed documentation, see the XSPF Version 1 specification.

Example of an XSPF 1.0 Playlist






Internal Example
file:///C:/music/foo.mp3


External Example
http://www.example.com/music/bar.ogg




Content Resolution

Traditionally playlists have been composed of file paths that pointed to individual titles. This allowed a playlist to be played locally on one machine or shared if the listed file paths were URLs accessible to more than one machine (i.e. on the web). XSPF's meta-data rich open format has permitted a new kind of playlist sharing called content resolution.

A simple form of content resolution is the localisation of a playlist based on meta-data. A content resolver will open XSPF playlists and search a catalog for every title with , and tags, then localise the playlist to reference the available matching tracks. A catalog may reference be a collection of media files on a local disk, a music subscription service like Yahoo! Music Unlimited or some other searchable archive. The end result is shareable playlists that are not tied to a specific collection or service.<br /> <H2>Software</H2> <ul> <li> Amarok</li> <li> <a class='greylink1' onMouseover='ShowPop("93196",this,"audacious_media_player.gif", event)' onMouseout='HidePop("93196")' href="/topics/Audacious_Media_Player">Audacious</a><span class="hp" id="m93196"><div class="hpHeader">Audacious Media Player</div><div class="hpContent"><div class="hpImage" id="i93196"></div>Audacious is a free software audio player with a focus on low resource usage, high audio quality, and support for a wide range of audio formats. It is designed primarily for use on POSIX-compatible systems such as Linux, with limited support for Microsoft Windows...</div><br></span></li> <li> <a rel='nofollow' class='greylink1' href="http://zik.rubyforge.org/">ZiK</a> an audio player</li> <li> Herrie - reading/writing XSPF playlists. XSPF is also used to autosave the playlist on shutdown.</li> <li> Serpentine - <a class='greylink1' onMouseover='ShowPop("46338",this,"noimage.gif", event)' onMouseout='HidePop("46338")' href="/topics/GNOME">GNOME</a><span class="hp" id="m46338"><div class="hpHeader">GNOME</div><div class="hpContent">GNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...</div><br></span> application for writing audio CDs</li> <li> <a rel='nofollow' class='greylink1' href="http://www.webminster.org/webplayer">Vanadium</a> A flash based application for playing music (and videos) in web pages. Including JavaScript library to remote control the player. Open source under the LGPL license.</li> <li> <a class='greylink1' onMouseover='ShowPop("22281",this,"noimage.gif", event)' onMouseout='HidePop("22281")' href="/topics/VLC_media_player">VLC</a><span class="hp" id="m22281"><div class="hpHeader">VLC media player</div><div class="hpContent">VLC media player is a free and open source media player and multimedia framework written by the VideoLAN project.VLC is a portable multimedia player, encoder, and streamer supporting many audio and video codecs and file formats as well as DVDs, VCDs, and various streaming protocols. It is able to...</div><br></span> (stand-alone player, available on every major platform)</li> <li> <a class='greylink1' onMouseover='ShowPop("72909",this,"xmms2.gif", event)' onMouseout='HidePop("72909")' href="/topics/XMMS2">XMMS2</a><span class="hp" id="m72909"><div class="hpHeader">XMMS2</div><div class="hpContent"><div class="hpImage" id="i72909"></div>XMMS2 is a new generation of the XMMS audio player. It is a new design, written from scratch, separate from the XMMS codebase...</div><br></span> has a plugin to parse XSPF</li> <li> <a rel='nofollow' class='greylink1' href="http://dir.cravecreate.com">Visonair Stream Directory</a> (uses XSPF for server list download)</li> <li> <a rel='nofollow' class='greylink1' href="http://libspiff.sourceforge.net/">libxspf</a> (C++ XSPF library)</li> <li> <a rel='nofollow' class='greylink1' href="http://visonair.cravecreate.com/player.php">Visonair.tv Player</a> (supports XSPF files)</li> <li> <a rel='nofollow' class='greylink1' href="http://www.clipland.com/PRO/playHome">Clipland Playlists</a> (onDemand video-playlists also in XSPF)</li> <li> <a rel='nofollow' class='greylink1' href="http://php4xspf.berlios.de/">PHP4XSPF</a> - a set of PHP classes that aims to make it as simple as possible to create XSPF files using PHP.</li> <li> <a rel='nofollow' class='greylink1' href="http://xspf.rubyforge.org/">XSPF for Ruby</a> - a pure-Ruby parser and generator library</li> <li> <a rel='nofollow' class='greylink1' href="http://www.jointradio.com/">JointRadio</a> - takes RSS feeds of MP3 files and creates XSPF files</li> <li> <a rel='nofollow' class='greylink1' href="http://musicplayer.sourceforge.net/">XSPF Web Music Player</a> - Open Source XSPF player (in the web browser, using Flash)</li> <li> <a rel='nofollow' class='greylink1' href="http://www.foobar2000.org/components/view/foo_softplaylists">foo_softplaylists</a> - A plugin for <a class='greylink1' onMouseover='ShowPop("98223",this,"foobar2000.gif", event)' onMouseout='HidePop("98223")' href="/topics/Foobar2000">foobar2000</a><span class="hp" id="m98223"><div class="hpHeader">Foobar2000</div><div class="hpContent"><div class="hpImage" id="i98223"></div>foobar2000 is a freeware audio player for Windows developed by Peter Pawlowski, a former freelance contractor for Nullsoft. It is known for its highly modular design and extensive SDK which allows third-party developers to do such things as completely replace the interface...</div><br></span> to open an XSPF playlist and match the track meta-data with <a class='greylink1' onMouseover='ShowPop("74165",this,"foobar2000.gif", event)' onMouseout='HidePop("74165")' href="/topics/Foobar2000">foobar2000</a><span class="hp" id="m74165"><div class="hpHeader">Foobar2000</div><div class="hpContent"><div class="hpImage" id="i74165"></div>foobar2000 is a freeware audio player for Windows developed by Peter Pawlowski, a former freelance contractor for Nullsoft. It is known for its highly modular design and extensive SDK which allows third-party developers to do such things as completely replace the interface...</div><br></span>'s internal database</li></ul> <br /> <br /> Many more applications are listed on the XSPF site below.<br /> <H2>External links</H2> <ul> <li> <a rel='nofollow' class='greylink1' href="http://xspf.org/">XSPF home page</a></li> <li> <a rel='nofollow' class='greylink1' href="http://validator.xspf.org/">Online XSPF Validator</a></li></ul> <div class="article-reference">The source of this article is <a class='greylink1' href="http://en.wikipedia.org/wiki/XSPF">wikipedia</a>, the free encyclopedia.  The text of this article is licensed under the <a class='greylink1' href='/gfdl'>GFDL</a>.</div> </div> </div> </div> </div> </div> <div class="footer"> <a href="http://www.silverdaleinteractive.com/">Silverdale Interactive</a> © 2024. All Rights Reserved. </div> </div> <div class="opacity-panel"> </div> <!-- Global site tag (gtag.js) - Google Analytics --><div class="dialog-wrapper"> <div id="dialog1" class="dialog-pane"> <div onclick="CloseDialog()" class="close-dialog button">x</div> <img class="dialog-logo" src="/images/logo.png" /> <div class="line"></div> <div id="dialog-panel"> <div class="dialog-title"></div> <div class="dialog-content"></div> <div class="ok-button-wrapper"><div onclick="CloseDialog()" class="ok-button">OK</div></div> </div> </div> </div> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-395964-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-395964-1'); </script> </body> </html>