sulfericacid has asked for the wisdom of the Perl Monks concerning the following question:

This was an idea I had earlier and I was wondering if anyone had advice on how to begin this and if this could be done soly via CGI without JS.

I am looking to possibly create a web-based script that lets me (when I am on the script) talk via my vic and have it streamed live across the site to whomever else is on that page. I have no idea how mic support works, does it need to connect via an IP? I want to play around with it and hopefully make it allow more than one person to open a mic channel.

Is this possible? Is it possible to have any IP which connects to that particular page have streaming mic like a conference? Everyone can hear everyone and talk at the same time?

This was just an idea and wanted to see how to go about something like this (if possible).

Thanks!



"Age is nothing more than an inaccurate number bestowed upon us at birth as just another means for others to judge and classify us"

sulfericacid

Replies are listed 'Best First'.
Re: Voice chat through CGI
by chanio (Priest) on Jun 27, 2004 at 05:30 UTC
    If I have understood correctly, you are referring to a radio station. What else? See: Netx::WebRadio::Station::Shoutcast .

    Then, you should look for something like a Mixer that would overlap all what is received in the same resulting stream to share by everyone connected.

    It has to be a good exercise of playing with connections.

    I remember seeing a common (shared) speech synthetizer working allright at some place near p-voice site.

    Knowing how it worked, you should only care of adding a merged common stream to your site...

    .{\('v')/}
    _`(___)' __________________________
Re: Voice chat through CGI
by zentara (Cardinal) on Jun 27, 2004 at 13:30 UTC
    Great question. If you can perfect it, you may have the basis for a big IP-phone breakthrough. It would be the IP-phone-equivalent of a "conference call". You will probably want to compress the audio with something like mp3, ogg or the best would be speex.

    I'm not really a human, but I play one on earth. flash japh
Re: Voice chat through CGI
by tachyon (Chancellor) on Jun 28, 2004 at 00:49 UTC

    It is possible but CGI per se has relatively little to do with it. CGI is a stateless protocol whereby a client (web browser) request something from a server. The server delivers the requested data and there the transaction effectively ends.

    So starting backwards can a server deliver a sound stream. Yes. This is internet radio type technology and exists.

    Could a sever accept multiple inputs, mix them together and stream the result. Once again yes, and this is what you need to have multiple open mics on several clients.

    Finally how do you get the input, and this is possibly the major issue. Unfortunately Javascript does not have a openMicStreamToServer() method, but this is effectively what you need. To access the microphone on a client you need client side code - Java or perhaps ActiveX (others?). This code would need to open the mic, make a private socket connection to your server and stream the (compressed) voice data. On the server you would be uncompressing, mixing, recompressing then streaming it out.

    So you could do it. There are all sorts of issues and they are far from trivial. There are lots of people offering products that try to work in and around this sort of idea. You may find what you want at http://www.teamspeak.org/

    cheers

    tachyon