[speex-dev] Server based audio merge

Ulrich B. Staudinger us at die-horde.de
Fri Nov 21 04:59:23 PST 2003

been silent in this discussion for quite long ...

Am Fr, 2003-11-21 um 08.07 schrieb Jean-Marc Valin:
> There's no perfect solution to the multiple client problem. Each
> approach has advantages and drawbacks:
> 1) Mixing at the server
> - Allows a constant bandwidth for every client
> - Allows compatibility with regular VoIP prones
> - Requires transcoding, even when only on person is talking
> - Higher bit-rate required for the general case (one speaker is talking)

> 2) Sending multiple streams
> - Possible to do without a server at all
> - Best quality (no transcoding)
> - Non-constant bandwidth
> 	Jean-Marc

<p>i think 1) is definitely the way to go. 2) uses up to much bandwidth ...
what i did when writing an avrealy in java (man speex is too expensive
in java): i used 1) and mixed everything on the server by doing a simple
addition of the various streams on raw level and then encoding after the
prior decoding of course. it works very good, although it could all be
improved a lot. 

what i do : i have a session frame and all connections are bundled in a
session, all connections have buffers again. whenever there is data in
the buffer of the connection, the connection get's added to the session
buffer, which after mixing is wiped again, as is the connection buffer. 

as said, speex in java is too slow for encoding more than 3
participients, at least on the machines i tested. 


--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Speex-dev mailing list