Upload
tsahi-levent-levi
View
1.300
Download
0
Embed Size (px)
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?
Citation preview
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, …
Hz and Hearing Ranges
4/4/2014 6
cochlea.org
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
4/4/2014 15