Welcome to the Streamripper home page, an Open Source (GPL) application that lets you record streaming mp3 to your hard drive
News 2008/05/04
Streamripper 1.63.0 Released
Streamripper version 1.63.0 is released.
New features include a configuration file for stored settings,
ability to run the windows GUI application without running Winamp,
and a new experimental silence detection method.
Internal changes include a transition from wide characters to utf-8,
a new dependency on glib, and separating the winamp plugin into a
thin DLL and standalone EXE.
Many bugs have been fixed, including crashes when reconnecting,
checks for full disk conditions, percent-escaping of user names,
parsing year and track from metadata, relative path in cue file,
race conditions in relay server, id3 bug on 64-bit systems,
and problems connecting to certain servers.
Download from the sourceforge page.
Thanks to everyone who tested and reported bugs!
Thanks also for all of the great patches for 1.62.X and 1.63 beta versions,
Chris Rohlf, nn, Max Mutrix, Andrew Neitsch, Yoav, and capisce.
Tentative list of goals for 1.63.X series:
- Fix problem with -a flag
- Implement PCRE for parse rules
- Skin improvements (fix single pixel problem, load compressed skins, etc)
- Add "-o version" option
Greg
News 2007/05/19
Streamripper 1.62.0 Released
Streamripper version 1.62.0 is released. This is a major release,
with (nearly) full support for unicode and character set trancoding.
Download from the sourceforge page.
Thanks to all the beta testers, Guenni and TTA, and everyone who submitted skins.
Thanks to everyone who submitted patches for 1.61 and 1.62 beta versions,
including ASk, Ulf Harnhammer, John Spray, Les Smithson,
Obiguan, Martin Bockwinkel, Michael Ablassmeier,
Daniel Potts, 9EUvY5gQPB4=, bd, Albert Bachmann,
Daniel Lord, Chris Pearson, and isverg.
Greg
News 2006/05/02
Audio Broadcast Flag Bill and PERFORM Act
Please take a moment to educate yourself about a very dangerous
proposal for legislation in the United States
offered by Rep. Mike Ferguson (R-NJ), called the
"Audio Broadcast Flag Licensing Act of 2006".
If passed, this legislation would severely limit your rights to
record and enjoy digital audio.
About the Audio Broadcast Flag Bill [eff.org]
You probably also know about the PERFORM act, proposed
by Senators Feinstein (D-CA) and Graham (R-SC). This proposal
would require webcasters to use digital rights management (DRM)
to encode the music streams, and would disallow
the use of shoutcast MP3 streaming.
About the PERFORM Act [eff.org]
As an American, I am concerned with the erosion of our
civil rights by misguided legislation.
Maybe you feel the same way.
It is our responsibility to inform our representatives
and senators. They need to understand that these kinds
of proposals do not represent the best interests of American citizens.
I encourage you, streamripper users, to take up the pen. The EFF links
above
can be used to send an email to your representative. Use them!
Want to send a letter or make a phone call? Even better.
Together, we can stop these bills from becoming law. Thanks!
Greg
News 2006/03/06
Ogg/vorbis support
As of version 1.61.18,
ogg/vorbis streams
are now fully
supported.
This includes support both song splitting and the relay server.
Please be aware of certain caveats.
(1) Other ogg streams, such as ogg/theora or ogg/speex, may not
work properly.
(2) The parsing rules are not yet implemented for ogg streams.
(3) There may be gaps in the sequence numbers
of the ogg pages, which could cause problems playing them
in certain players.
Greg
News 2005/11/12
Version 1.61.16
Version 1.61.16 is now released.
This version includes a new feature,
the ability to rip from external metadata.
It can be used for recording streams that
do not send artist or title information using
metadata, but instead send this information using other means.
For example, some streams update the current artist and
title using html or xml. Another example is
icecast 1.x, which sends metadata through a UDP socket.
Streamripper can get artist and title information from these
kinds of streams using a helper application, specified using
the -E option. The helper application needs to find the
title and artist info, and write it to stdout. Streamripper
reads the stdout of the helper program, and uses it
to split the tracks accordingly.
The example below is a helper application, written in perl,
that can be used to fetch external metadata from an xml file
on a remote web site.
#! /usr/bin/perl
###########################################################################
# This is an example script that sends external metadata to streamripper.
# It implements an external program that:
# 1) Fetches a web page
# 2) Searches the web page for the artist and title information
# 3) Sends the information to streamripper on stdout
# To use this script:
# streamripper URL -E "perl this_script META_URL"
###########################################################################
use LWP::Simple;
$url = $ARGV[0];
while (1) {
# Fetch xml file at location $url
my $content = get $url;
# Get the artist and title
if ($content =~ m/title="(.*)" artist="(.*)"/) {
$title = "TITLE=$1\n";
$artist = "ARTIST=$2\n";
$end_of_record = ".\n";
$meta_data = $title . $artist . $end_of_record;
# Send to streamripper
syswrite (STDOUT, $meta_data, length($meta_data));
}
sleep (10);
}
This new feature is available on all versions: unix, windows and winamp.
Greg
News 2005/10/16
Forum upgrade II
Sourceforge wants all the projects to move to their new MySQL 4.1 server by
the end of November. Therefore, I upgraded the forum this Sunday.
If you can't post, or anything else seems wrong with the forum,
please send me an email.
Greg
News 2005/09/20
Version 1.61.13
Version 1.61.13 is now available for unix and windows.
This version includes a substantial change in the design
of the internal buffer and relay server. The new relay server
uses less memory per client, and supports burst-on-connect.
In addition, this version fixes several problems with
the mp3 frame parsing code. Streamripper no longer chops the
mp3 frames, and it now performs silence detection at a much
higher granularity.
I expect a few rough edges on this version,
so please help out by reporting new bugs to
the forum or the sourceforge tracker.
Greg
News 06/28/2005
New features in 1.61.9
The latest version, 1.61.9, is now available for unix
(windows version coming soon). It has two new
feature that might be of interest.
The first feature is that now you can design rules
for choosing which files to save, and
which files to discard.
This is done by including extra rules in the parse_rules.txt file
(specified by the -w flag).
If the metadata matches a regular expression pattern, the
song can be saved or discared.
The following
examples may illustrate the point:
# Exclude tracks that contain the given expression
# The leading "m" says this is a match rule
# The trailing "x" means that the track should not be saved (excluded)
m/advertisement/x
# Save tracks that contain the given expression
# The leading "m" says this is a match rule
# The trailing "s" means that the track should be saved
m/[Ff]unk/s
# The first m//e, m//s or m//x rule that matches determines the
# action that is performed. If none match, then by default the file
# will be saved. If you prefer having the default being that the
# files aren't saved, include the following as the last rule
m//x
The rules are parsed in order, and the first matching rule
will be used.
Thanks to Albert Bachmann for this new feature!
The second new feature is pattern substitution for output file name
formatting. This is done by using the -D flag together with an
output pattern. The following patterns can be used:
%S Stream
%A Artist
%T Title
%a Album
%D Date and time (per song)
%d Date and time (per execution)
%q Sequence number (automatic detection)
%Nq Sequence number (starting from number N)
%% Percent sign
The following usage examples will illustrate how to use
the -D flag:
# Save files as Stream/Artist - Title.mp3 (this is the default)
streamripper URL -D "%S/%A - %T"
# Save files as above, but with sequence numbers (same as -q)
streamripper URL -D "%S/%q_%A - %T"
# Save files as Stream/Artist/Title.mp3
streamripper URL -D "%S/%A/%T"
Greg
News 05/08/2005
Forum upgrade complete
The new forum is now in place. Please don't use the old forum any
more. You can find the new forum here:
Streamripper Forum
Greg
News 05/07/2005
Forum upgrade
Some time soon,
probably tomorrow (Sunday afternoon EST), I will shut down
the openbb-based forum and bring the new forum one on-line.
The forum will be unavailable for an hour or so
while I migrate over the posts.
Wish me luck.
Greg
News 04/23/2005
Recent updates
The most recent update, 1.61.8, is now available. This
version should fix most of the compile and runtime problems for
BSD, OSX and Solaris. Together with this release, I wrote up
a little matrix describing for which operating systems
I was able to get streamripper to compile. Send me a note to
update this matrix as needed.
The System Compatibility Matrix
I guess many of you have noticed our recent problems with the relay stream.
Finally, I think the situation is stable as of 1.61.7 or higher.
If your client supports buffering, set the buffer size large enough
(I use 48kB), and you shouldn't hear any skipping.
However, clients that
do not have buffering capabilities, such as mpg321,
will need to use an earlier version such as 1.60.6.
Or, if you are clever, you can use the -a option to stream to a file,
and then point your client to that.
The final solution to the problem of clients that don't buffer is to
perform "burst-on-connect". This is what shoutcast and newer versions
of icecast do.
However, this require a more complex
internal buffering scheme than streamripper currently has.
Furthermore, there are
two related (but seemingly unrelated) issues
that also can be solved using a more complex buffering scheme:
relay server for ogg streams and the chopping of mp3 frames.
Therefore, improvements the interal buffering code will be
an important part of the next few releases.
Greg
News 11/22/2004
Finished download page
Just to let you know, I've finished the migration of historic
versions to sourceforge file release system.
You now can download the latest version from
the sourceforge summary page,
or older versions from
the sourceforge files page.
Also, I've released version 1.61.1 for windows, so try that out and let
me know how you like it. Unfortunately you won't be able
to set regular expression rules in the plugin version, but
internally it is using the default rules.
Finally, I'm moving my apartment next weekend, and will be in and
out of contact for
a while. To all you streamripper veterans out there:
please help out on answering forum questions while I'm gone.
Thanks!
Greg
News 11/13/2004
At long last, a new version...
A new version of streamripper is now available
for unix users (the windows version will be along soon).
The main new feature in this version is metadata parsing using regular
expressions. Why is this important? It's important because
it gives you precise control
over how streamripper interprets what goes into the title and
artist fields.
Just to whet your appitite, here is an example of the regular
expression parsing that is now supported:
# Ignore metadata that begins with "A suivre"
# The leading "m" says this is a match rule
# The trailing "e" means drop the metadata
m/^A suivre:/e
# Strip off anything like "- Mp3Pro" from the end of the string
# The leading "s" says this is a substitution rule
# The trailing "i" means case insensitive matching
s/[[:space:]]*-?[[:space:]]*mp3pro$//i
# Strip off something like "- " from the beginning of the string
s/^[[:space:]]*-[[:space:]]*//
# This is the normal parsing rule: "Artist - Title"
# The trailing "A1" means that the artist (A) matches subpattern 1
# The trailing "T2" means that the title (T) matches subpattern 2
m/^[[:space:]]*([^-]*?)[[:space:]]*-[[:space:]]*(.*?)[[:space:]]*$/A1T2
# This is slightly different parsing rule: "Artist, Title"
m/^[[:space:]]*([^,]*?)[[:space:]]*,[[:space:]]*(.*?)[[:space:]]*$/A1T2
I hope you get the idea. Use the -w flag to tell streamripper
which file contains your parsing rules.
Download 1.61.1 here
Also, you may have noticed that I'm attempting to migrate over
to the sourceforge file release
management system. All the historic unix releases are already there.
Windows releases will be there some time next week.
The main reason for doing this is that it will be easier for me to
maintain than our current web-based download system,
but there is also the benefit that it is mirrored worldwide.
Greg
News 8/28/2004
Current status
Hi all, I just wanted to give you an update on current and future plans of
streamripper. I feel that the current version pretty much
accomplishes what I wanted to do for version 1.61.
Here is my list of planned features for version 1.62:
- Support for ogg shoutcast streams (rfe #594504)
- Logging and quiet modes for command line
- Relay without writing to disk (rfe #640908)
- Fix problems with broken frames (bug #525936)
- Improved handling of non-ASCII characters sets
We also have some infrastructure problems that need addressed.
- Upgrade forum software
- Fix skin submission procedure
- Fix web download page
Finally, a big thanks to everyone who submitted
patches for the 1.60 series,
including Darrick, Michael, Mike, Krellan, Marcin and Laetita.
Greg
Check out 'History (Old News)' for older news & info.
|