WebRTC Audio Codec: Opus and processing requirements

Post on 18-Dec-2014

1.288 views 0 download

description

WebRTC's mandatory codecs are G.711 and Opus. What exactly Opus is, how does it stacks up versus other audio codecs and what challenges does it pose for developers?

Transcript of WebRTC Audio Codec: Opus and processing requirements

WebRTC Audio Codec Opus & Processing Requirements

April 2014

Tsahi

Levent-Levi

Codec Types

• Throw away things that are not perceived by the human ear and eye

• Compress the hell out of the rest

• RTC = Low latency in encoding and decoding

4/4/2014 2

Media Codecs for WebRTC

No Mandatory To Implement (MTI) video codec yet

(but we don’t care about it in this session)

4/4/2014 3

Codec Use Status

G.711 Narrow band, selected for PSTN and VoIP interworking

MTI

Opus New flexible audio codec. Narrow to wideband support; Support for Speech & Music

MTI

VP8 Google’s open source codec ?

H.264 Video codec (MPEG-LA licensing) ?

General Codec Characteristics

4/4/2014 4

Complexity CPU Latency

ms

Resiliency Packet loss

IPR Royalty payments

Voice Codec “Features”

4/4/2014 5

Bitrate kbps

Sampling rate kHz

Channels Mono, Stereo, …

Narrow, Wide, Super & Full

4/4/2014 7

Opus vs. The World

• Requires a lot of processing power

• Optimized for mobile in Opus 1.1

4/4/2014 8

Opus is Different

1. SILK - low bitrate speech

2. CELT - music and high fidelity

4/4/2014 9

Hybrid what?

4/4/2014 10

SILK CELT

Guidelines

• SILK modified to fit CELT

• FEC inherent in SILK

• All flow control done in-band

• Support hybrid modes of operation

4/4/2014 11

Mobile

Getting better on mobile, where the focus is

4/4/2014 12

Servers

No improvements on servers

4/4/2014 13

Where does that leave us?

Architectural decisions of where to position Opus in our network

4/4/2014 14

Thank You!

Tsahi Levent-Levi

http://bloggeek.me

tsahil@bloggeek.me

4/4/2014 15