WebRTC Audio Codec: Opus and processing requirements

15
WebRTC Audio Codec Opus & Processing Requirements April 2014 Tsahi Levent-Levi

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

Page 1: WebRTC Audio Codec: Opus and processing requirements

WebRTC Audio Codec Opus & Processing Requirements

April 2014

Tsahi

Levent-Levi

Page 2: WebRTC Audio Codec: Opus and processing requirements

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

Page 3: WebRTC Audio Codec: Opus and processing requirements

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) ?

Page 4: WebRTC Audio Codec: Opus and processing requirements

General Codec Characteristics

4/4/2014 4

Complexity CPU Latency

ms

Resiliency Packet loss

IPR Royalty payments

Page 5: WebRTC Audio Codec: Opus and processing requirements

Voice Codec “Features”

4/4/2014 5

Bitrate kbps

Sampling rate kHz

Channels Mono, Stereo, …

Page 7: WebRTC Audio Codec: Opus and processing requirements

Narrow, Wide, Super & Full

4/4/2014 7

Page 8: WebRTC Audio Codec: Opus and processing requirements

Opus vs. The World

• Requires a lot of processing power

• Optimized for mobile in Opus 1.1

4/4/2014 8

Page 9: WebRTC Audio Codec: Opus and processing requirements

Opus is Different

1. SILK - low bitrate speech

2. CELT - music and high fidelity

4/4/2014 9

Page 10: WebRTC Audio Codec: Opus and processing requirements

Hybrid what?

4/4/2014 10

SILK CELT

Page 11: WebRTC Audio Codec: Opus and processing requirements

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

Page 12: WebRTC Audio Codec: Opus and processing requirements

Mobile

Getting better on mobile, where the focus is

4/4/2014 12

Page 13: WebRTC Audio Codec: Opus and processing requirements

Servers

No improvements on servers

4/4/2014 13

Page 14: WebRTC Audio Codec: Opus and processing requirements

Where does that leave us?

Architectural decisions of where to position Opus in our network

4/4/2014 14

Page 15: WebRTC Audio Codec: Opus and processing requirements

Thank You!

Tsahi Levent-Levi

http://bloggeek.me

[email protected]

4/4/2014 15