开发学院,分享开发教程和最新动态

WebRTC 概述

WebRTC概述



随着WebRTC(web实时通信)的发展, web应用对实时通信不再陌生。虽然它于2011年5月份才发布,但发展迅速并且仍然在发展,其标准正在改变。在web浏览器工作组中,通过一套实时通信标准化协议,网址为http://tools.ietf.org/wg/rtcweb ,新的API由万维网实时通信工作组标准化,网址为http://www.w3.org/2011/04/WebRTC.随着WebRTC的出现,现代web应用程序可以轻松地将音视频内容传输给数百万人。


WebRTC允许您快速轻松地设置到其他web浏览器的点对点连接。要从头构建这样一个应用程序,您需要大量的框架和库来处理典型问题,例如数据丢失、连接中断和NAT遍历。有了WebRTC ,所有这些都内置到浏览器并开箱即用.这项技术不需要任何插件或第三方软件。它是开源的 ,其源代码在www.WebRTC.org上免费提供。


WebRTC API包括媒体捕获、音频视频的编码和解码、传输层和会话管理。

basic_scheme.jpg

媒体捕获

第一步是访问用户设备的摄像头和麦克风。我们检测可用设备的类型,获得用户访问这些设备的权限,并管理数据流。


音频视频的编码和解码


通过internet发送音频和视频数据流并不是一件容易的任务,这需要进行特殊的编码和解码,将视频帧和音频波形分割成小块并压缩它们。这个算法称为编解码器。网络上有大量不同的编解码器,由不同的公司维护并适用于不同的业务。在WebRTC中也有许多编解码器,如H.264, iSAC, Opus和VP8。当两个浏览器连接在一起时,他们会在两个用户之间选择最优的支持编解码器。幸运的是, WebRTC在幕后执行大部分编码。


传输层

传输层管理数据包的顺序,处理数据包丢失,并连接到其他用户. WebRTC API使我们可以轻松访问并在连接出错时告诉我们的问题根源。


会话管理


会话管理涉及管理、打开和组织连接,这通常称为信令。如果您将音频视频流传输给用户,则传输附带数据也要有意义的。这是由RTCDataChannel API完成的。

来自谷歌、Mozilla、Opera等公司的工程师完成了一项伟大的工作,将这种实时体验带到了web上。


浏览器兼容性


WebRTC标准是web上发展最快的标准之一,因此并不意味着每个浏览器同时支持所有相同的功能。要检查您的浏览器是否支持WebRTC ,您可以访问http://caniuse.com/#feat=rtcpeerconnection。教程中的所有例子,个人强烈建议您使用Chrome浏览器。


尝试WebRTC

如果您想体验一下WebRTC。可以讲浏览器导航到演示站点https://apprtc.appspot.com


WebRTC适用的领域


WebRTC为web应用打开了一扇大门,包括基于文本或视频的聊天、屏幕和文件共享、游戏、等等。除了通信,你可以使用WebRTC等如下用途。

实时营销

实时广告

后台通信( CRM、ERP、SCM、FFM ) 

HR管理

社交网络

约会服务

在线医疗咨询

金融服务监控

多人游戏

实时广播

在线教育


总结


现在你应该对WebRTC有了一个清晰的认识。您还应该了解使用WebRTC构建哪些类型的应用程序,因为您已经在浏览器中尝试过了。总之, WebRTC是一个非常有用的技术。