转自:http://blog.csdn.net/zmxiangde_88/article/details/8173456
本文是对webRTC体系结构介绍的简单翻译,原文也很简单,更多的看原文。
原文地址:http://www.webrtc.org/reference/architecture
WebRTC在不需要任何插件、也不需要下载或者安装什么东西的前提下,给WEB应用开发者提供在WEB上开发功能多样的、实时多媒体应用(如视频聊天)的接口。它的目标是帮助开发者很容易的在不同的浏览器、多样性的平台之前搭建一个健壮的RTC平台。
WebRTC的体系结构图如下:
在图中,你能够很清楚的发现结构是由两个主要的层组成
- 浏览器开发者感兴趣的webrtc c++ API和以及多媒体数据捕获和渲染的回调。
- WEB应用开发者所感兴趣的Web API.
下面,我再来根据翻译的结果,简单的了解一下这个体系结构图
一,你的WEB应用(Your Web App)
第三方基于WebRTC提供的WebAPI(JS等接口)所开发的音视频聊天应用。
二,WebAPI
给第三方开发应用的接口。
三,WebRTC Native C++ API
这是结构中的一个接口层,该层主要是给浏览器开发者提供实现web api的入口。
四,Transport/Session(传输和会话)
会话组件(提供会话管理的工作)由可重用模块libjingle,没有也不要求使用xmpp/jingle协议来组织管理会话。这里有几个和会话与传输相关的东西
- RTP stack。由于WebRTC提供实时的音视频传输,这里采用了RTP协议栈的相关协议,其实就是/RTP/RTCP等相关的协议,以提供实时纠正和流量控制。
- STUN/ICE协议。通过这个协议在不同的网络类型之间建立连接。
- 会话管理。一个抽象的会话层,提供建立和管理会话。这可以把协议的会话实现更多的留给应用开发者。
五,语音引擎
语音引擎是一个解决声音如何从声卡到网络上传输的数据的框架,其实就是针对声卡上数据采集、编码和传输等等。
- 编解码。支持iLBC和iSAC两种编解码器。
- iSAC。缩写是:Internet Speech Audio Codec。它是一种用于VoIP和流音频的宽带和超宽带音频编解码器,iSAC采用16 kHz或32 kHz的采样频率和12—52 kbps的可变比特率。
- iLBC。缩写是:Internet Low Bitrate Codec,它是一种用于VoIP和流音频的窄带语音编解码器,使用8 kHZ的采样频率,20毫秒帧比特率为15.2 kbps,30毫米帧的比特率为13.33 kbps,标准由IETF RFC 3951和3952定义。
- NetEQ。为了提供高质量音频,WebRTC提供NetEQ功能,包括抖动缓冲器及丢包补偿模块以能够提高音质,并把延迟减至最小。
- AEC。回声消除,这是基于信号处理的一个软功能,在实时采集过程中,存在由于麦克录制时导致的回声。WebRTC提供AEC功能,就是回声消除,Acoustic Echo Cancceler(AEC)。
- NR。Noise Reduction,减少噪音,就是降噪的一个过程。由于一些背景等声音导致噪音,该功能可以降低噪音。
- 上面的是所翻译的文档中提到的几个语音引擎的功能,其实语音引擎提供设备采集、编解码、加密、声音处理、声音控制、网络传输与流量控制等功能。
六,视频引擎
视频引擎和音频引擎一样,也是一个解决框架,以实现从摄像头数据采集到网络数据传输、以及从网络传输的数据到屏幕显示的过程功能。
- 编解码。WebRTC采用I420/VP8编解码技术,VP8能以更少的数据提供更高质量的视频,对视频会议非常适合。
- 动态抖动缓存技术。
- 图像增强技术。事实上,视频图像的处理是针对每一帧的图像进行处理,这其中包括降噪、颜色增强等技术手段来保证更好的视频质量。
相关推荐
服务提供商的统一通信体系结构此解决方案基于开源项目 高层建筑 -lb -- (https) -- apache --- apache --- mysql ---------o -lb -- (wss) ---- haproxy -- kamailio - freeswitch ----o asterisk 软件 前端 ...
2. WebRTC的体系结构:WebRTC使用一套标准化的API来实现端到端的通信。核心组件包括getUserMedia(获取音视频流)、RTCPeerConnection(建立和维护P2P连接)、RTCDataChannel(数据传输通道)等。了解这些组件如何...
在实现分布式发送媒体数据的体系结构时,需要考虑的关键技术包括但不限于:分布式存储、并行处理、流媒体协议(如RTMP、HLS、DASH)、实时通信协议(如WebRTC)、负载均衡算法、网络优化策略等。 总的来说,分布式...
从NPM安装会下载适用于您的操作系统×体系结构的预构建二进制文件。 将TARGET_ARCH环境变量设置为“ arm”或“ arm64”,以分别下载armv7l或arm64。 Linux和macOS用户还可以设置DEBUG环境变量来下载调试版本。 您...
android-webrtc-aecm 基于WebRTC AECM算法的Android声学回声消除基于存储库的存储库。 它包含一些错误修复和代码改进。... 还配置了项目以支持x64体系结构,现在它支持以下ABI:armeabi-v7a,arm64-v8a,x86,x86_64。
更新以与新的BlueJeans视频体系结构兼容。 修复没有视频问题。 initialize()中需要使用新参数来设置远程音频元素。 1.3.1 12/2/2019 更新:删除会议池的可选要求。 要求用户的后端应用程序安排会议以供SDK加入...
您可以为您的系统/体系结构下载 从源编译 安装 克隆存储库并编译并将二进制文件安装到$ GOBIN git clone git@github.com:emad-elsaid/inbox.git cd inbox go install cmd/inbox.go Docker镜像 如果
针对英特尔:registered:体系结构进行了优化,以充分利用具有H.264和HEVC编码/解码功能的英特尔硬件加速功能。版本0.0.1 Nightly Build.关于该服务需要Node.JS:registered: 。 该服务可以独立运行, Intel WebRTCMCU...
此示例代码演示了运行在上的客户端/服务器体系结构,该体系结构使用户能够设置视频会议。 该应用程序利用和 。 同行访问时 ,将生成一个新的会议室URL,然后该URL可用于邀请其他人参加视频会议。 以下是示例室的...
标题:具有WebRTC的组织的实时通信网络体系结构设计。 摘要:本项目介绍了破坏技术WebRTC(Web实时通信),该技术无需第三方插件即可支持浏览器到浏览器的应用程序。 它详细介绍了自从Google于2011年发布以来,...
SDN视频会议该项目提供了基于软件定义网络的多方WebRTC视频会议体系结构入门这些说明将为您提供项目的工作副本。 该项目使用了一些外部软件。 要运行此项目,必须先安装并正常运行这些必备组件,这一点至关重要。...
该体系结构使用中央Websocket服务器引导进入网络。 一旦对等方被引导,它将使用WebRTC来构建其余的网络并发送信号,因此服务器上的负载应最小。 无需努力支持不具有WebRTC的浏览器,因此大多数ES6功能都可以在不...
这种类型的体系结构根本不是可扩展的,但是由于这个项目只是出于实验目的而设计的,因此我在这里使用了它,尽管为了获得更好的可扩展性和性能,可以考虑选择转发单元或多点会议单元,有关更多信息,请参见 。...
SQL(结构化查询语言)是数据库操作的基础,对于Winform应用开发尤其重要,因为它经常需要与数据库进行交互。基础的SQL语句包括SELECT用于查询,INSERT用于插入数据,UPDATE用于更新记录,DELETE用于删除记录。更...
JMF 的体系结构基于服务提供者接口(SPI),这使得它可以扩展以支持新的媒体格式和设备。它由三个主要部分组成:媒体处理器、媒体控制器和媒体选择器。媒体处理器负责解码和编码媒体数据,媒体控制器控制播放、暂停...
- **摘要**: 本文对未来网络体系结构进行了展望,特别关注了软件定义网络(SDN)和网络功能虚拟化(NFV)等新兴技术,这些技术有望彻底改变传统网络的架构模式。 #### 十一、基于SDN架构的电信承载网和BNG设备演进...
厂 ··Plant是基于WebAPI标准的HTTP2 Web服务器,创建时考虑了模块化体系结构和功能设计。 而且它是纯净的,耦合性较低。 Plant支持HTTP 1和HTTP 2协议。 但是它与传输无关,可以在浏览器中通过WebSockets,WebRTC...
得益于其可插拔的体系结构,用户可以根据自己的需求开发和组装用于不同功能(例如ASR,VAD,编解码器等)的一组插件。 这使用户可以构建最适合其需求的定制版本的媒体服务。 RestComm Media-Core项目具有以下特点...
这种方式不仅挑战了现有的网络安全防护体系,也为未来的防御策略提出了新的要求。对于企业和个人来说,理解和防范这类攻击变得尤为重要。随着技术的不断进步和发展,网络安全领域也需要不断创新和改进,以应对日益...
联络中心演示是用于构建现代联络中心的参考体系结构。 该演示的重点是展示如何构建基于平台的联络中心以及所需的各种后端和前端组件。 注意:我们已经从UX的角度完成了基础工作,并且仍有很多机会可以改进。 它是...