3 ms·
Slack audio calling is using webRTC tech. On Chrome, you can check out statistics and configuration for how they set up the call by going to chrome://webrtc-int
by calchris42 10y ago
Slack audio calling is using webRTC tech. On Chrome, you can check out statistics and configuration for how they set up the call by going to chrome://webrtc-internals
I checked, and it looks like they are using pretty standard webRTC settings. The audio is compressed with Opus codec. They look to be limiting the bitrate to 40 kbps. (I'm not sure, but I thought Chrome default limited the AVERAGE bitrate to 40 kbps, not the peak, so Slack might actually be imposing an even tighter limit here).
Opus does a pretty nice job and is full band. A lot of older VOIP tech used compression that severely limited the frequency response.
We've been working on a more conversational video conferencing service called Locus (inthelocus.com). There we do some processing on the audio stream to spatialize audio sources, and found audio quality improved up to bitrate of ~120 kbps. The compression difference was more noticeable when processing the stream vs. directly playing back.
- abalashov 10y ago> A lot of older VOIP tech used compression that severely limited the frequency response. I don't think that's accurate. Most conventional VoIP (in North America) uses G.711µ, whose purpose is to provide the IP correlate to logarithmically companded PCM encoding used in a normal DS0 (digital PSTN loop carrier). DS0s are not compressed. Logarithmic steps result in some approximation, but that has more to do with the mechanics of digital sampling and quantisation than bandwidth savings. In fact, G.711µ is an uncompressed 64 Kbps codec, exactly equivalent to the synchronous data rate of a DS0 in the circuit-switched world. This is in sharp contrast to codecs like G.729, which, to simplify things, use waveform translation tables to achieve significant compression (down to about 8 Kbps in the case of G.729 specifically). Some less patent-encumbered variants do similar things. The frequency response is limited by the standard PSTN bearer channel range of ~3.1 KHz, which is for historical reasons. That was the most frequency response one could reliably squeeze out of copper analog lines, for both physical and economic reasons tied up in the history of the telephone system. Since the primary concern of the VoIP industry was—and still is—interoperation with the traditional telephone network (PSTN, or Publicly Switched Telephone Network), adopting codecs which translate readily into that world with a minimum of CPU-hungry transcoding and reframing makes sense. WebRTC, as a peer-to-peer multimedia calling mechanism intended to resemble something like Skype, is more purely a product of Internet-orientated thinking and has a rather post-PSTN mindset. WebRTC endpoints, like IP phones supporting wide-band codecs (e.g. G.722), are not constrained by the requirement to talk to the old-school telephone network. So, they can use codecs like G.722 and Opus.
- calchris42 10y agoThanks. You're right. I over-simplified / miss-spoke.