webRTC架构 (翻译)

翻译内容来自webRTC官网,查看原文

webRTC结构

WebRTC 为 web 应用开发者 提供了在web上开发丰富的实时的多媒体程序的能力 (比如视频聊天) , 而不需要安装或下载插件. 其目的是帮助构建一个强大的RTC平台,该平台可跨多个Web浏览器,跨多个平台工作。

webRTC的整体架构看起来像这样:

webRTC架构 (翻译)_第1张图片
image.png

你会注意到有两个不同的层面.

  1. 浏览器开发者 将对 WebRTC C++ API 和 capture/render 循环的处理更感兴趣

  2. Web App 开发者 将对 Web API 更感兴趣

对于 Web App

第三方开发者基于web API 的音频和视频聊天功能开发实时通讯应用

Web API

第三方开发人员用于开发基于Web的视频聊天应用程序的API。最新提案可以在 这里 找到

WebRTC Native C++ API

一个API层,使浏览器制造商能够轻松实现Web API提议。

Transport / Session

这个会话组件是通过重用libjingle中的组件构建的,不需要xmpp/jingle 协议.

SRTP协议

SRTP(SecureReal-time Transport Protocol) 安全实时传输协议,SRTP是在实时传输协议(Real-time Transport Protocol)基础上所定义的一个协议,旨在为单播和多播应用程序中的实时传输协议的数据提供加密、消息认证、完整性保证和重放保护安全实时传输协议。

RTP Stack

RTP是一个实时传输协议

Multiplexing

多路复用(Multiplexing,又称“多工”)是一个通信和计算机网络领域的专业术语,在没有歧义的情况下,“多路复用”也可被称为“复用”。多路复用通常表示在一个信道上传输多路信号或数据流的过程和技术。因为多路复用能够将多个低速信道整合到一个高速信道进行传输,从而有效地利用了高速信道。通过使用多路复用,通信运营商可以避免维护多条线路,从而有效地节约运营成本。[1]

STUN/ICE

允许调用使用STUN和ICE机制在各种类型的网络之间建立连接的组件。

Session Management

抽象的会话层,允许回调建立和管理层。这将使应用程序开发者可以实现协议的决策。

VoiceEngine

VoiceEngine是从声卡到网络的音频媒体链的框架

iSAC / iLBC / Opus (音频编码解码)

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.

Opus: Supports constant and variable bitrate encoding from 6 kbit/s to 510 kbit/s, frame sizes from 2.5 ms to 60 ms, and various sampling rates from 8 kHz (with 4 kHz bandwidth) to 48 kHz (with 20 kHz bandwidth, where the entire hearing range of the human auditory system can be reproduced). Defined by IETF RFC 6176. 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.

声学回声消除器 (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.

降噪 (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 是一个视频的框架视频媒体链,从相机到网络,从网络到屏幕。

VP8

来自WebM Project的视频编解码器。非常适合RTC,因为它专为低延迟而设计。

视频抖动缓冲器

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

图像增强

例如,从网络摄像头捕获的图像中删除视频噪声。

你可能感兴趣的:(webRTC架构 (翻译))