@author Sanjay Madhavan
This Utility navigates the excellent shoutcast.com web site and downloads to a local directory a copy of the PLS files referenced on the website.
This utility is ideal for building a local list of shoutcast stations suitable for use with the XBOX Media player (XBMP) or XBOX Media Center (XBMC)..
Currently the following default Genres defined on the shoutcast.com web site are defined in the default_genres.properties If your favorite genre is not listed here you can to add it to this file.
- TopTen - Top 25 Streams
- Alternative - Alternative
- Classical - Classical
- Comedy - Comedy
- Country - Country
- Dance - Dance/House
- Funk - Funk
- Jazz - Jazz
- Metal - Metal
- Mixed - Mixed
- Pop - Pop
- Rap - Rap
- RnB - RnB
- Rock - Rock
- Talk - Talk
- Techno - Techno
- 80s - The '80s
- 70s - The '70s
- World - World
- Download all genres in a single run
- Choose a specific genre to be downloaded
- Limit the number of PLS files downloaded per genre
- Select the minimum bitrate and/or maximum bitrate of stations to be downloaded
- Shoutcast.com limits the number of requests to approximately 1000 per IP per day. This tool can detect when the local IP address has been banned
and will save the last genre/page index processed and continue processing when restarted. In addition by default the tool will sleep for 4 hours when banned and retry
- Proxy support
- Copies a suitable image icon as a thumbnail file (.tbn) for each genre
- Uses the Jakarta commons logging library and http client library
- To launch the program directly from a command line, change the current directory to the directory where the contents of the release have
been unzipped and use the specifed command listed below.
java -cp .;lib\commons-httpclient-2.0-rc2.jar;lib\commons-logging.jar;lib\commons-logging-api.jar;bin com.revasoft.shoutcast.plsdownloader.PlsDownloader
On Windows platforms it is convenient to just use the supplied PlsDownloader.cmd batch file.
On Linux platforms use the supplied PlsDownloader.sh shell script.
PlsDownloader Valid usage is:
All parameters listed in square brackets are optional.
- Some sample invocations are listed below
- To download all genres to a local directory:
PlsDownloader.cmd -DownloadDirectory d:\Shoutcast
- To download all genres to a local directory limiting the pls download count to 25 per genre:
PlsDownloader.cmd -DownloadDirectory d:\Shoutcast -MaxFilesPerGenre 25
- To download all genres to a local directory selecting only stations with bitrate greater than equal to 64 and less than equal to 128:
PlsDownloader.cmd -DownloadDirectory d:\Shoutcast -MinimumBitRate 64 -MaximumBitRate 128
- To download only the genre Rock:
PlsDownloader.cmd -DownloadDirectory d:\Shoutcast -ProcessGenre Rock
- To ignore the previous saved state and start from scratch:
PlsDownloader.cmd -DownloadDirectory d:\Shoutcast -IgnoreSavedState
- To specify a list of proxy servers that should be used when accessing the web:
PlsDownloader.cmd -DownloadDirectory d:\Shoutcast -ProxyList proxylist.properties
Note: the proxylist.properties file if specified must be a standard Java properties file which can have contents defined in the format below.
- To specify a list of genres that should be used when processing:
PlsDownloader.cmd -DownloadDirectory d:\Shoutcast -GenreList c:/genre_list.properties
Note: the genre_list.properties file if specified must be a standard Java properties file which can have contents defined in the format below.
The format is Key,Description (see the default_genres.properties file for an example)
Genre.1=TopTen,Top Ten Stream
- If this tool is being used to build a list of stations for the XBMP or XBMC program, currently the local directory created with the
PLS contents must be copied physically to the XBOX since the current version of the Streaming server Relax (0.76pre)
seems to have a bug when streaming directories across the net that contain .pls files.
- The shoutcast.com site limits requests per IP address per day. Please respect their policies.
This code is released under the GNU Lesser General Public License
@author Sanjay Madhavan
This code is hosted on Sourceforge.net and can be downloaded from there.
| V1.0||24.11.2003||Sanjay||First release
| V1.1||01.12.2003||Sanjay||Added user specifiable Genres
| V1.1a||03.12.2003||Sanjay||Added Linux shell script