Xiph.org is a non-profit organization which develops and maintains various audio- and video-related standards.

  • For example the OGG streaming/multiplexing format.

  • Audio compression schemes like Vorbis, Speex, FLAC, Opus.

  • Video encoding formats like Theora, Tarkin, Dirac.

  • The ICEcast streaming server is an alternative to SHOUTcast.

  • And the more modern .xspf (and .jspf) playlist format, which is used by all channel entries.

There are different ways for streamtuner2 to retrieve the station lists available on dir.xiph.org. That's because this is a primary plugin, and fallback solutions therefore important. Each fetching mode has its own advantages and drawbacks though.

Channel fetch mode option

There are now three options to retrieve Xiph directory stations.

Cache JSON

There's a caching server specifically for streamtuner2. It fixes Xiphs quirky JSON API, and provides a simpler interface. It can't correct the invalid encodings however, which is why you see ???? question marks a lot. This method does not reveal station homepages, but enables the channel/server search.

Clunky YP.XML

The "yellow pages" YP.XML contains the full list of all known ICEcast streaming servers. It's however quite bulky and super slow to download. It furthermore clogs up a lot of memory, and requires manual searching (only cache search works). Which is why streamtuner2 is trying hard to avoid it. It doesn't contain station homepages either.

It's only still an option, because it's likely to remain accessible after Xiph.org rewrites their directory service. (Which though is getting delayed since a few years already.) You can set the special "buffy" mode in your settings.json to keep the whole YP.XML in memory. Which avoids the slow station list download/unpacking.

Forbidden fruits

As new alternative, you can let ST2 directly scrape the station lists from dir.xiph.org (like it does for other channels). This is something which Xiph doesn't approve of. But the drawbacks of their alternative offerings are too severe and user-unfriendly; which is why there's this raw HTML extraction mode now.

The website listings contain full station homepages and a few more extras. In this mode we can even acceess the XSPF playlist formats directly. Both, the server search function, or browsing by audio/video format are supported.

A miximum of 100 entries get fetched in this mode however (which is 5 pages à 20 entries).

The filter-by-bitrate option is now a generic plugin.