Monday, October 21, 2013

WebRTC Codecs and Transcoding

It now seems that Opus and VP8/9 have been chosen as the codecs of choice for WebRTC. Inevitably when there is a debate about voice or video codecs there is also a debate about trans-coding and support for the chosen codecs. My basic view on this is if there is a need to trans-code then, then there is a fundamental flaw in the system design. Unfortunately, it is not practical or easy to eliminate trans-coding and it is an evil that will remain in our lives. However the need for it can be greatly reduced. In particular if the codecs are good (i.e. wideband for audio with good performance under adverse network conditions) then endpoint vendors will start to support them. This is why we have seen vendors implement support for Microsoft's Real Time Audio (RTA) codec.

This is why I was happy to read the latest post from Bloggeek on the Opus trans-coding challenge talking about how Audiocodes is adding Opus support. I expect that we will also see similar announcements from Polycom and other endpoint vendors over the short term. The sooner the eco-system gets updated to support Opus end to end the better off we will be.

Of course, it would be nice to see alignment between VoLTE codecs and WebRTC however I don't think that will happen any time soon meaning that we will need AMR to Opus trans-coding resources.


P.S. I know I haven't posted in a long time, I am planning to get more regular posts happening, however I make no promises.

4 comments:

  1. Opus appears to be kind of amazing. I would expect all the IETF peeps to get behind it, and the ITU peeps to continue being irrelevant until they are forced to change.

    A little sad that VP8/9 can't really find itself a niche, but happy there's an open standard at least for WebRTC. Let's hope there's some development that makes the next open video standard way better than H264/265

    ReplyDelete
  2. Opus is a very good codec, or rather codec bundle using different algorithms depending on the bandwidth and type of data.

    On the VP8/9 front every indication is that they offer superior performance over H.264 and H.265 codecs (see http://t.co/w5a44RtBV2). I expect that with Google and Firefox strongly behind VP8/9 that we will see it in a lot of places moving forward. It will baked into Android sometime next year and in the Firefox OS phones leading to many new uses. Set top boxes, Chromecast etc. will likely leverage WebRTC and VP8/9 codecs. Also, expect the performance to improve as hardware acceleration becomes available.

    ReplyDelete
    Replies
    1. The link states that the comparison is with the constrained baseline. I don't think VP8/9 do as well against H264's Main profile. Hopefully Daala will do better.

      Delete
  3. There is good coverage of the discussion here from one of my former colleagues actively involved in the standards discussions for this. http://webrtchacks.com/webrtc-video-codec-discussion/

    ReplyDelete