Chris Kranky

Recent Posts


Silent war over WebRTC audio codecs

Chris KoehnckeChris Koehncke

PhoneTinCanAs Google crafted WebRTC, the first notion was to tightly define the base capabilities that would be native to the browser (and since they controlled the browser this was going to be easy). Audio was a core component and hence they needed to define the codec(s).

The first pass was to include G.711 which was well understood, sounded decent, but was heavy on the bandwidth usage but didn’t do so good on iffy network connections, and it ran at only fixed rate. G.711 was widely understood to be out of patent and clear from lawyer mongrels. There were no arguments. ¬†Google also engineering to include Opus which supported HD Voice, could be light on bandwidth and was better suited to iffy connections. Google, in a behind the curtain deal, worked to ensure Opus would also be free of legal hassles (or so they thought). Thus for voice, you had a choice of good and better.

Unfortunately, Opus, wasn’t really ready. It seemed that Opus hadn’t yet been fully engineered to work with the underlying GIPS engine (namely for packet loss concealment and jitter). Oops. No problem, Google quickly blew in the older ISAC codec (which they owned) and now on to the next problem.

Then all hell broke loose.

VoIP users of HD Voice using G.722 started mouthing off as to why G.722 wasn’t in WebRTC. Being G.722 is a bastardized version of G.711 and also not covered by any patents, this seemed a natural to include. On they went on the forums complaining that this free codec should be included.

The mobile guys have got all excited, had Google not realized that AMR-WB was the forthcoming mobile codec. The mobile guys seem to have forgotten that AMR-WB swirls in a sea of patent owners eager to pounce on anyone outside the club. It’s not free by any means. Bonding with the VoIP guys, they’re arguing that WebRTC should include G.722, AMR and AMR-WB.

Everyone has forgotten that Google is gonna do whatever they want and that will be the standard (and god bless them).

The cool piece is WebRTC doesn’t really limit your usage of codecs but it’s clearly a lot more work effort for the developer and some advantages are lost.

Finally, just when you’re ready to pull all your hair out, Huawei indicated last week that they believe Opus is infringing on one of their patents (US¬†11942118), primarily related to packet loss concealment. Argh.