[gst-devel] Audio Streaming Project for Radio station in Canada

Thomas Vander Stichele thomas at apestaart.org
Mon Feb 2 06:57:00 CET 2004


Hi,


>     I'm new here.  I'm wondering if I can steel a little time from 
> everyone.  I'm working on a project here in Canada for a Christian Radio 
> station (Life 100.3) in Barrie, Ontario.  The project involves sending 
> the studio feed (main broadcast) to 3 locations via digital links which 
> will be frame relay or VPN over the internet where it will be used to 
> feed the main transmitter and two remote transmitters.  I need to 
> sustain 128Kps+ at 44Khz audio using MP3 compression per site.

I came very close to implementing this for my job, but then I switched
jobs instead :)

>   This is 
> easily done using streammers like Shoutcast and such but there is a 
> little catch(always is).  I'm just wondering if Gstreamer would be a 
> good choice to do the following:


> Using Linux on all computers, perfer not to have a GUI running and if so 
> KDE would be my first choice

Perfectly possible to run GUI-less.

> Need to provide reliable stream 24/7

I've run GStreamer apps at my previous job for long runs on end.  But it
mostly depends on the plugins you use, and the 0.7 series hasn't really
been checked for memleaks yet.

> If the stream fails at one of the remote sites, switch back to an off 
> air receiver (second audio source) at the site

possible too; depends on what you consider a failure of the input
stream.  For example, if you'd be using rtp plugins to do the streaming,
and rtp can signal errors in transmission somehow, you can easily start
capturing from a line in feed.

> If the stream and off air receiver are dead, then the computer needs to 
> play a list of sound files stored on the HD (actually memory location) 
> which is updated via RSYNC or something like that.

Also possible.

> Monitor the stream for errors and audio problems at the client ends 
> which is basically if there is a lot of bad packet loss or very low 
> volume level (no auido) then switch to a better source
> Have the computer try to always go back to the streamed feed as priority.

These two are easily possible as well; for other applications I have
written a "cutter" plugin.  Basically you ask it to signal you whenever
the audio has dropped below a certain level for a given amount of time. 
So in your case it would be set at, say, -30 dB for 5 seconds.

>     Do you think that Gstream is easy enough to use in the project?  I'm 
> a little rusty on the C programming but I'm going to give it a go.  
> Information will come back into the noddle once I get back into it.  I 
> guess the biggest challenge is to be able to detect if the audio stream 
> is good or bad and the volume levels are within reason.

No, the biggest challenge will be working out the pipeline design you
want to use and get us to fix the bugs you encounter :) The bits are in
place, but the way they're put together trigger bugs that core
developers haven't run into yet.

Thomas


Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
I've got ladyfingers baby
I've got kidgloves
baby I got heart
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/






More information about the gstreamer-devel mailing list