Speex is open source, optimized for speech and has lower bandwidth requirements.
The sample rates available depend on the selected codec. When you use the Nellymoser codec, you can specify 5, 8, 11, 16, 22 and 44 kHz as the sample rate. When you use Speex codec (available starting in Flash Player 10 and Adobe AIR 1.5), you can only use 16 kHz. (Adobe documentation)
Considering these, for speech based video conferencing Speex is recommended but for other type of audio (ex. music), NellyMoser should be used.
Here are the bandwidth requirements for different quality levels:
|Quality (encodeQuality)||Required bandwidth in kbps|
|Quality (mic rate)||Required bandwidth in kbps|
Transfer and Connection Requirements
To obtain transfer in kb/s divide kbps value by 8. Total transfer is added to file size when recording.
Ex: Speex 9 generates extra 4275 b/s transfer. NellyMoser 22 generates extra 5512b/s transfer.
When broadcasting, total stream size should be less than maximum broadcaster upload speed (multiply by 8 to get bps, ex. 50000b/s requires connection higher than 400kbps).
Do a speed test from broadcaster computer to a location near your streaming (rtmp) server using a tool like SpeedTest.net . Drag and zoom to a server in contry/state where you host (Ex: central US if you host on VideoWhisper video hosting servers) and select it. The upload speed is the maximum data you’ll be able to broadcast.
Neither Speex or NellyMoser are supported on iOS. Live streams (over HLS) and videos can be distributed to these devices after transcoding/converting sound to AAC. This is possible with VideoWhisper applications and editions (ex. Live Streaming, Video Recorder) that can convert videos and live streams with FFMPEG.