View previous topic :: View next topic |
Author |
Message |
jgruber Guest
|
Posted: Sun Jan 15, 2006 4:50 am Post subject: need to stream mp3 out of ices2... need advice |
|
|
I have a need to stream a conference call from my PBX to the Internet. Luckily we have Asterisk running already and it has a plugin application which will feed a stdin pcm stream from a software bridge to ices. Because it is a stdin pcm stream obviously I need ices2 no 0.4. The only problem I have is that the clients I have to support on the Internet streaming side do not handle ogg. So here I am.. 80% there and stuck in the middle of the mp3/ogg issues.
I have NO IDEA about the architecture of ICES, but just looking at the sorce code it appears that all the vorbis code is in encode.c (besides setting the steam type to libshout in stream.c). Does anyone have suggestions/replacement code to use LAME to output an MP3 stream?
I know it is like kissing you sister to go back to MP3, but I'm stuck with my listener client requirement.
Advice would be MOST welcome.
Thanks in advance... John |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Jan 15, 2006 2:25 pm Post subject: |
|
|
There isn't a way for ices 2 to produce mp3, you either need to use ices2 and transcode to mp3 from vorbis (eg http://www.oddsock.org/tools/streamTranscoderV3) or use a different source client that plugs into what you have.
karl. |
|
Back to top |
|
|
jtgruber Guest
|
Posted: Sun Jan 15, 2006 5:30 pm Post subject: hmm.... |
|
|
Thanks for the advice. I was planning on rewritting the encode.c to use LAME, but if the tool you recommend is available GREAT! One question, if the ices2 application exists the icecast server stream disappears right? If I start this cli utility will it reconnect when the stream reappears or will it exit too.
Understand that for my application the stream is only there while the call is in progress. When the caller hangs up, then the ices client exits and the stream is no more. I guess that's OK, but it will make the phone ring when people try to connect when the conference call is not in progress. I guess I need to supply another client/or record the call for retransmission. Is there a way in the icescast server to make the stream be there all the time, even when there is no source client connected to it? That leads me to another question, if I can record (say with mplayer) the call to a file at the same time that I am streaming, does the icecast server have a way to provide a stream on demand stream that will start playing a file from the beginning for each clients that connects rather than have a stream broadcast going all the time? That way I can provide the call from the start when it is not live and is simply playing a file. I'm rather ignorant of how that works in the icecast world, so if this is a dumb question, please excuse me. My initial experience is with sending to a Microsoft media server which has what they call the "on-demand" stream which will start a new for each client. |
|
Back to top |
|
|
karlH Code Warrior
Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Jan 15, 2006 8:55 pm Post subject: |
|
|
If any source client or relays stops/shuts down then the stream will exit but whether listeners drop will depend if a fallback mount is specified and whether that is running. My understanding of streamtranscoder is that it will try to reconnect if a source disconnects but cannot confirm it.
icecast 2.3.1 does support a fallback to file, where the file is located in webroot, so you could save a file in webroot and allow for the fallback mechanism to read it. Whether that would be useful in your situation I can't say.
karl. |
|
Back to top |
|
|
|