stream2tracks-
A script to download all tracks from a stream container, transcode them all
to the desired format, tag them using metadata from the streams and rename
them to filenames derived from the tags.
Currently only asx streams are supported as input and formats that are
supported by ffmpeg and taglib2 (e.g. ogg, flac, mp3) are supported as output.
This code is considered early alpha and therefore is not guaranteed to do
anything useful at all. But if the rough edges don't bother you, it's sort
of usable already.
Download:
1. On Debian Wheezy/Sid, install these dependencies. For other platforms,
install the equivalents. stream2tracks uses mimms to download mms streams
contained within ASX stream containers and ffmpeg to transcode the tracks
into the desired format. The -dev packages are required to build native
gems for nokogiri and taglib2.
$ sudo apt-get install mimms ffmpeg libxml2-dev libxslt-dev libtagc0-dev
2. Install the gem.
$ sudo gem install stream2tracks
Usage:
$ mkdir -p <output-dir>
$ cd <output-dir>
$ stream2tracks <asx-file-or-url>
After some time, the script will finish and all output will appear in the
current directory. Look in $HOME/.cache/stream2tracks/* if anything went
wrong, as currently the working files are not cleaned up.
The default output format is ogg, and I've tested ogg, mp3 and flac, though
any format supported by both ffmpeg and taglib2 should work. So, for
example, to output as mp3:
$ stream2tracks -f mp3 <asx-file-or-url>
There is an experimental 'multi' mode which downloads all tracks at once.
This may work if you have a broadband connection, but could cause problems
if you're on a slower link. e.g.
$ stream2tracks -m <asx-file-or-url>
Where to find streams:
A number of radio sites archive concerts and other programs as asx streams.
I've tested the script with http://www.cbc.ca/radio2/cod so far. There may
be some variations in the formats and metadata wrapped in the streams, so
I would be happy to hear about your experience using this script with
other sites as well.
You can also install from source:
1. Fetch the source.
$ git clone git://github.com/synrg/stream2tracks.git
2a. Build and install the gem.
$ cd stream2tracks
$ rake package
$ sudo gem install pkg/stream2tracks*.gem
2b. Or install using Minero Aoki's setup.rb, e.g.
$ cd stream2tracks
$ ruby setup.rb config --prefix=/usr/local
$ sudo ruby setup.rb install
See setup.rb --help for other possible options.
Bugs:
Please file and track issues at the project site:
https://github.com/synrg/stream2tracks
The preferred way to contact me about bugs, including documentation bugs
or wishlists is through the issues system.
Ben Armstrong <[email protected]>