Architecture 官方待整理

Architecture
WebRTC offers web application developers the ability to write rich, realtime multimedia applications (think video chat) on the web, without requiring plugins, downloads or installs. It's purpose is to help build a strong RTC platform that works across multiple web browsers, across  multiple platforms.

The overall architecture looks something like this:


You will notice two distinct layers.

1. Browser developers will be interested in the WebRTC C++ API and the capture / render hooks at their disposal.

A third party developer  web based application with video and audio chat capabilities powered by  the web API for real time communications.

Web API

An API to be used by third party developers for developing web based videochat-like applications. Latest proposal can be found here.

WebRTC Native C++ API

An API layer that enables browser makers to easily implement the Web API proposal.

Transport / Session

The session components are built by re-using components from libjingle, without using or requiring the xmpp/jingle protocol.

RTP Stack

A network stack for RTP, the Real Time Protocol.

STUN/ICE

A component allowing calls to use the STUN and ICE mechanisms to establish connections across various types of networks.

Session Management

An abstracted session layer, allowing for call setup and management layer. This leaves the protocol implementation decision to the application  developer.

VoiceEngine

VoiceEngine is a framework for the audio media chain, from sound card to the network.

iSAC

A wideband and super  wideband audio codec for VoIP and streaming audio. iSAC uses 16 kHz or  32 kHz sampling frequency with an adaptive and variable bit rate of 12  to 52 kbps.

iLBC

A narrowband speech codec for VoIP and streaming audio. Uses 8 kHz sampling frequency with a  bitrate of 15.2 kbps for 20ms frames and 13.33 kbps for 30ms frames.  Defined by IETF RFCs 3951 and 3952.

NetEQ for Voice

A dynamic jitter buffer  and error concealment algorithm used for concealing the negative effects of network jitter and packet loss. Keeps latency as low as possible  while maintaining the highest voice quality.

Acoustic Echo Canceler (AEC)

The Acoustic Echo  Canceler is a software based signal processing component that removes,  in real time, the acoustic echo resulting from the voice being played  out coming into the active microphone.

Noise Reduction (NR)

The Noise Reduction  component is a software based signal processing component that removes  certain types of background noise usually associated with VoIP. (Hiss,  fan noise, etc...)

VideoEngine

VideoEngine is a framework video media chain for video, from camera to the network, and from network to the screen.

VP8

Video codec from the WebM Project. Well suited for RTC as it is designed for low latency.

Video Jitter Buffer

Dynamic Jitter Buffer for video. Helps conceal the effects of jitter and packet loss on overall video quality.

Image enhancements

For example, removes video noise from the image capture by the webcam.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值