《Getting Started with WebRTC》第一章 WebRTC介绍



本章是对WebRTC做概念性的介绍。

阅读完本章后。你将对下面方面有一个清晰的理解:

  .  什么是WebRTC

  .  怎样使用它

  .  哪些浏览器支持

1.1. WebRTC介绍

World Wide Web(WWW)是出如今1990年代的早期,

它是建立在使用HREF超链接的以页面为中心的模型上。

在这个网页的早期模型中,浏览器从一个网页到还有一个网页是通过更新HTML内容来实现的。



到了2000年,一种新的网页浏览方式开发出来了,

且在后面变成了一个标准。即 XMLHttpRequest(XHR) API。

这个新的 XHR API同意网页开发人员创建不须要导航到新页面来更新显示内容或用户接口的Web应用。

这样,能够让开发人员使用基于server的Web服务,这些服务包含訪问结构化数据或其他页面内容的片段等。

这给Web应用带来了一种全新的方法,如今通用的叫法为 Web 2.0。

基于XHR API提供的服务包含 Gmail, Facebook, Twitter和很多其它动态应用、社交应用。



如今,页面已经发展到了还有一种传输方式,

它同意独立的Web浏览器直接在彼此间进行流传输数据。而不用通过中间的server发送。

这样的新的P2P通信方式建立在一个新的API集上,

并被Web Real-Time Communications Working Group(http://www.w3.org/2011/04/webrtc/)标准化。

这个工作组隶属于W3C。

正如XHR API领导了Web 2.0的革命。新的WebRTC标准将创造一场新的革命。

我们已经进入了实时Web时代。

1.2 WebRTC的使用

实时Web同意你和其他Web浏览器。以及Web可訪问的设备建立高速而简易的动态连接,

这给端对端通信创新了一种全新的方式,

包含基于文本的聊天。文件共享。屏蔽共享,游戏,传感器数据反馈,音频呼叫。视频聊天等。

能够看到了WebRTC的应用是非常广泛的。

浏览器间的直接而安全的P2P通信对如今Web应用将会有巨大的影响。将会重塑整个物理网络。



直接的P2P连接提供了低延时,能使游戏操作,视频流。传感器反馈等变得更快、更实时的交互。



安全的P2P连接同意你实现不经过中间server记录和管理的私人化的信息交换。

这降低了对大型服务提供商的需求。同一时候为人们创建新型服务和应用提供了机会。

它也改进了隐私保护的机制。



而且,高效的二进制数据流P2P交换消灭了序列化,重编码或数据处理的须要。

它带来了网络和应用资源更高效的应用。同一时候创建了更少错误且更健壮的数据交换管道。



本章是WebRTC的简单应用的预览,读完本书。你们获得将你全部新的想法变成实际应用的全部信息。

1.3 试用WebRTC

先检查你的浏览器是否支持摄像头訪问,能够能过以下的网址:

http://www.simpl.info/getusermedia

也能够在移动设备上试下,假设成功,能够看到视频预览窗体正常的视频回显。



能够打开站点

http://apprtc.appspot.com/

和别人聊天,这个站点是基于WebRTC的。(我试了下,打不开)

也可试用这个:

http://jitsi.shengbin.me/



https://meet.jit.si/

(后面这两个我试用了。能够使用)

1.3 浏览器的兼容性

1. PC上的Chrome 和Firefox都支持;

2. Android上的 Chrome和Firefox都支持。

须要使用:chrome://flags/

打开WebRTC的开关;

3. Opera也支持

4. 微软有它自己的WebRTC方案,叫做CU-RTC-WEB,

http://html5labs.interoperabilitybridges.com/cu-rtc-web/curtc-web.htm.

5. 苹果

苹果如今还有没有对在Safari中支持WebRTC做不论什么声明,

因此,要应用它仅仅能在iOS中使用由Ericsson实验室实现的一个早期概念性浏览器Bowser来实现,

它能够在:http://labs.ericsson.com/apps/bowser.找到。



事实上,Safari和Chrome, Opera一样,都是基于WebKit平台的。苹果没有开放WebRTC主要不是技术原因。

1.4 保持更新

WebRTC不是一个简单的API, 它是API和协议的集合。

能够到这个站点:

     http://www.webrtc.org,

上看它的最新进展和获得各种资源。

《Getting Started with WebRTC》第一章 WebRTC介绍的更多相关文章

  1. Mariadb第一章:介绍及安装--小白博客

    mariadb(第一章)   数据库介绍 1.什么是数据库? 简单的说,数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以 ...

  2. Java 螺纹第三版 第一章Thread介绍、 第二章Thread创建和管理学习笔记

    第一章 Thread导论 为何要用Thread ? 非堵塞I/O      I/O多路技术      轮询(polling)      信号 警告(Alarm)和定时器(Timer) 独立的任务(Ta ...

  3. 【Bochs 官方手册翻译】 第一章 Bochs介绍

    Bochs 是一个可以完全模拟 Intel x86 计算机的虚拟机系统.它包含了 Intel x86 CPU 仿真.常见设备仿真.以及定制 BIOS.Bochs 可以虚拟多种不同类型的 x86 CPU ...

  4. LSJ_NHibernate第一章 NHibernate介绍

    前言: 说起NHibernate网上资料真不少,但用的人却并不多,说起java的SSH框架大家可能就知道了,这里的H指的就是Hibernate,一款好用的ORM框架,在.net重写了这款好用的框架,名 ...

  5. 《Spring敲门砖之基础教程第一季》 第一章 概要介绍

    百度百科say: Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEful ...

  6. 第一章 python介绍、变量、数据类型、流程控制语句等

    一.python介绍 1.python的诞生 python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum(龟叔)于1989年发明,第一个公开发行版发行于1991年. ...

  7. MySQL高级第一章——架构介绍

    一.简介 是一个经典的RDBMS,目前归属于Oracle 高级MySQL包含的内容: MySQL内核 SQL优化工程师 MySQL服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容 ...

  8. CS231n 2016 通关 第一章-内容介绍

    第一节视频的主要内容: Fei-Fei Li 女神对Computer Vision的整体介绍.包括了发展历史中的重要事件,其中最为重要的是1959年测试猫视觉神经的实验. In 1959 Harvar ...

  9. 第一章 Electron介绍 | Electron in Action(中译)

    Github 官方地址 代表作: Visual Studio Code Atom - Code editor. Github开源的代码编辑器,Electron起源地 Visual Studio Cod ...

随机推荐

  1. android页面切换效果

    两种方式: 在activity的自定义主题中定义切换方式: overridePendingTransition()方法 自定义主题: 在项目的res/values/styles.xml中添加样式 &l ...

  2. MvvmLight Messenger(信使)

    MvvmLight信使需要三个部分: 1.自定义信件类,普通的Model,供在发布者和订阅者之间传递信息用. 2.发布,通常是在某一事件函数中进行发布,Messenger.Default.Send 3 ...

  3. java正则去掉小数点后多余0

    需求:已知字符串为一数字字符形式,多为float,double转换过来,将其后多余的0与.去掉. package test; /** * 去掉多余的.与0 * @author Hust * @Time ...

  4. MDCC为移动开发者服务:一看、一聊、一聚

    MDCC为移动开发者服务:一看.一聊.一聚-CSDN.NET     MDCC为移动开发者服务:一看.一聊.一聚    发表于2013-11-05 20:54| 2698次阅读| 来源CSDN| 6 ...

  5. 【代码】Android: 怎样设置app不被系统k掉

    有一种方法可以设置app永远不会被kill,AndroidManifest.xml 中添加: android:persistent="true" 适用于放在/system/app下 ...

  6. Esper学习之五:EPL语法(一)

    上篇说到了Esper的Context,要是不了解的同学请参看<Esper学习之四:Context>,看过的同学如果还是不理解的话可以给我评论,我将会尽可能的解答.之前有些同学问我Conte ...

  7. 使用linq对字符串1,2,3,4,5,6,7,8,9,10求和

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SumI ...

  8. 前端面试题整理(js)

    1.HTTP协议的状态消息都有哪些? HTTP状态码是什么: Web服务器用来告诉客户端,发生了什么事. 状态码分类: 1**:信息提示.请求收到,继续处理2**:成功.操作成功收到,分析.接受3** ...

  9. java.lang.ClassNotFoundException: org.apache.catalina.loader.DevLoader

    eclipse tomcat报错:org.apache.catalina.loader.DevLoader java.lang.ClassNotFoundException: org.apache.c ...

  10. jquery 获取 TABLE单元格的值

    1.JQ部分: var tds = $("#table1 td"); tds.click(function(){ //给所有td添加点击事件        var tdSeq = ...