Mp3Serv
Mp3serv Is No Longer Supported!
Yes it's true... despite being here a year before Shoutcast I only ever
had a couple of users (but about 50,000 downloads). Now I'm working with
the developers of IceCast to
create the definitife broadcast solution. Most of My time has been spent
Bringing LiveIce to the distribution, and I'm happy to say that right now
it does stuff that shoutcast can't. So get over to the Icecast
Page and support Free radio!
You can download the most up to date version of LiveIce
from here, sometimes the IceCast Distribution lags behind slightly because
I discover so many bugs ;-).
LiveIce is a combination of mp3serv and mp3mixer - you can mix mp3's
and live audio and send the output to an encoder before forwarding it on
to the icecast (or shoutcast - but why would you want to use it?)
server. Currently only 2 mp3 streams can be mixed at once - this limit
is currenlty placed by the fact that I'm running out of keys to control
this... A nice GTK based GUI may appear sometime.. but I'm workin hard
on the curses based interface. Because of all the patent problems
the encoder is a seperate binary which you acquire for yourself, because
it's a seperate programme it has to be able to accept streamed input from
pipes without expecting to do seeks on the data several mp3 encoders Don't
do this correctly.... so if your favourite encoder isn't supported then
tell the authors to fix their software.
Encoders That Work
-
l3enc - registered version only, no longer available
-
mp3enc - if you want to broad
cast for more than 30 seconds you need the registerd version
-
Andreas Johannson's Encoder ftp://wopr.campus.luth.se/pub/mpeg_layer_3/
- A patched up version of Dist10
-
scrEamer - a hacked version of Lamer which is a hacekd version of dist10,
but hte author has done the right thing and included proper pipe support
and even LSF extensions.
The Black List - Encoders which (Still) don't work
And Just for you nostalga freaks out there .. here;s the original
mp3serv page.... partly to remind the world that mp3serv was broadcasting
a year before all the shoutcast lamers.
The Free mpeg radio system
Yep you too can run a radio station across the internet in high quality
mpeg audio using this simple piece of software.
Well you can ssuming you can get it to work - it is after all no more
than a hack, it lets you take input from your soundcard, pipe it through
an mpeg audio encoder and then stream it out across a tcp connection to
your audience.
The basis from the start was to use standard components and just build
a wrapper around these to get them to work together. The data is taken
from the sound card (or another source if you really want) and fed into
a named pipe where it is read by an mpeg encoder which writes the data
to recording file. The process also spawns a server on a high port which
accepts connections and after transmitting suitable http headers and mpeg
header data jumps to the end of the live file (which is growing continuously)
and brings the listener up to date.
-
What sort of player can I use?
Any which can stream data from URL's - typicall the url will be something
designating a high port number - e.g. http://radiostation.net:3223
. Mpg123 works (except there's a little bug in beta version 0.59o) and
WinAmp handles it too. Don't point a web browser at that URL or
it will never stop downloading until you stop the programme..... in theory
you can even use netcat to grab the data and pass it to stdin on a player
e.g.
nc radiostation.net 3223 > musicout -
Of course that assumes that the player can negotiate its way past the
http headers. One other thing to make sure of is that your connection is
fast enough to support the bitstream. For most people 16Kbit is OK, but
24 can start causing problems with some modem connection, of course if
you really want to listen in you could record it for playing later....
Well I'm sure you all know about the patent problems surrounding the mpeg
audio technology, I want to stay as far away from this as possible. I have
a hacekd up version of the dist10 LSF code which is tuned for myself
but I cannot release this without having to get a 15$ royalty on every
copy. Anyway - the official codecs from Fraunhoffer are soooo much better
that you should really think about using them - it's only poor students
like myself that need to hack things together for free. More on this later......
-
How many people can I broadcast to?
Well it comes down to the speed of your connection, there is currently
no multicast support built in because I wanted to use existing mpeg players,
so every connection uses more of your bandwidth. I'm on a 256Kbit connection
so in theory I could support 16 connections.... except I couldn't because
the IP packets need header and control information attached whcih all take
bandwidt too. However the programme has one other feature to allow extensive
broadcasting - the package can be run in reflector mode: it can connect
to an existing broadcaster and retransmit it to other sites. Of course
adding reflectors increases the lag a little....
-
How much Lag? How Live is "Live"?
Well because the audio data goes through several buffers there is
a fair amount of lag, and mpeg's ability to save up data in the stream
for later use only contributes further. 4 Seconds is the shortest lag I
have ever measured - using a reciever in the same office as me and running
across an ethernet. Presumably a reflector would add a similar lag at each
stage.
-
How do you do a radio show from a PC?
I just source everythign through the soundcard - I have a soundcard with
connections to a microphone, line-in and the internal computer CD player.
I also have one of those silly headset with a microphone builtin so I can
talk into a microphone hands free. I plug a cd/radio/cassette player into
the line in and that gives me enough to mix semlessly between music from
2 sources. I use xplaycd and xmixer, xmixer is essential for swapping between
sources. Mp3serv has a small volume meter on the terminal which is
the only feedback I get, I don;'t have the OSS sound drivers so I don't
have any realtime audio feedback on my broadcasts - I just guess wha the
sound mix sound like by learnign to read the meter.
-
How Good Does It Sound? What's The Quality Like?
According to some web pages I've read, mpeg audio produces the same sound
quality as a Real Audio bit stream which is 50% larger - i.e. a 16Kbit
mpeg stream sounds as good as a 24Kbit real audio stream. Why not listen
to some examples......
-
Ok I'm Crazy enough to try this .... what do I need?
I wrote all the code on an intel Linux machine so that platform works for
certain.... as for other flavours, your mileage may vary. I have absolutely
no intention of ever considering windows support, and I don't want anyone
providing it - the reason for this? Well I was getting quite far into developing
this in may when I needed to reboot into windows to use a package at which
point windows 95 crashed and destroyed my partition table - for this reason
I don';t want to have any more to do with that excuse for an OS - I lost
3 weeks of work on this and my encoder becuase of it. Which reminds me
- all my code is protected unider the Gnu Public License II. To all intents
and purposes this means it's free, but I can kick your arse legally if
you do something which attempts to exploit my hard work.
You need an encoder also.....
-
Fraunhofer Codecs - these are the best I've heard
-
L3ENC - From Fraunhoffer, one of the older encoders, which is no longer
available - I have been relaibly informed that the registered version of
this works amazingly well - this is the default compiled in encoder.
-
mp3enc - the replacement for L3ENC, I've built and interface to launch
this, but I have no idea whether it will work. The demo version will only
work on 30 seconds of music so isn't much good.
-
ISO sources based encoders - Have a dubious legal basis and hte quality
is a long way from perfect..
-
Bladenc - Is the only one available and currently does not work, the only
reason that this can remain downloadable is Swedish Law does not allow
patents based on mathematical algorithms. This will not encode at bit rates
below 32Kbit so you can forget using this to transmit across modem connections.
The Author has told me he plans some features which will make it compatible
with my software in the next release.
-
8Hz - I've been told that this can be coerced to work with my system -
sources were available until they were closed down by the lawyers - again
this can't encode at bitrates below 32kbits
-
szy_enc - is based on the dist10 ISO sources using the LSF extensions for
low bit rates and is in the process of being optomised to work for my puposes.
This is NOT available.
-
dist10.tar.gz - yup this is the ISO sources that I keep talking about,
I'm not sure of the legality of having a link so I'm not going to push
my luck right now. This can be hacked to work by removing the exit() when
an fseek() fails, thus letting it read the input from a pipe.
Oh... and one other thing you'll need to make sure you have is a fast computer
- my 266MHz PII is hard pushed to encode at faster than 32Kbit/sec in real
time.
That's All for now Folks.... all you need to do is Download the sources
and try them out.
While you're around this neck of the woods you could take a look at
my mp3mixer DJ'a'like
mpeg audio mixing console.
And I've mellowed a bit regarding support - you might want to try e-mailing
me at spm@star.arm.ac.uk or even
try talking to szyzyg on efnet IRC.