To avoid audio resampling, the SIP clients connecting to a bridge have to use a codec with the sample rate, channels and bits per sample as the "pivot settings". For more information, check here.
tip: In you configuration file, enable codecs with same settings as the pivot.
Do not enable recording if it’s not important to you or use *
.avi container which consume less CPU than *
.mp4 (because of AAC encoder from libfaac).
All SIP clients with the same video codec will share a single encoder. Try to use common video codec for all clients. For example, if you have two clients, A and B, with A supporting both H.264 and VP8 and B only H.264 then, you should make sure that A will offer H.264 with highest priority. For more information, check here.
tip: In your configuration file, enable a single video codec if you cannot control the SIP clients.
Enable 2D audio mixing instead of 3D.
If you have a weak CPU then, consider using a reasonable video size (e.g. VGA) and fps (- 30).
Make sure to enable YASM and pthread when building FFmpeg, x264 and VP8.
- Use "slow" motion rank (see here)
- Use small mixed video size (see here)
- Set the maximum upload and download bandwidth (see here)
- Use small video frame rate (see here)
tip: To test your available bandwidth, we recommend http://www.speedtest.net/.
tip: To check bandwidth usage, we recommend iftop.
- Use Opus (or G.722) audio codec if supported by the SIP clients (see here).
- Avoid audio up-sampling and down-sampling (see here).
- If the "pivot settings" use a sample rate (SR) equal to S then, try to use codecs with a SR equal to "S << n" or "S >> n".
- Use Google Chrome as SIP client (check our WebRTC demo client at http://conf-call.org/).
- Enable "Zero-Artifacts" feature (see here and here)
- Use a client supporting something close to 16/9 video size to avoid stretching issues
- Avoid video up-sampling and down-sampling
--This section intentionally left blank--