《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. ubuntu 12.04 安装sublime2

    add-apt-repository ppa:webupd8team/sublime-text-2 apt-get update apt-get install sublime-text 安装控制器: ...

  2. Android应用开发:CardView的使用及兼容

    引言 在Google I/O 2014上,Google公布了Android L Preview版本,此版本的UI有了非常大的改变,很炫很给力!同时,Google也给出了两个可以向下兼容的控件放到了V7 ...

  3. Jquery学习笔记:删除节点的操作

    假设如下的html代码 <div id="mydiv" style="width:100px;height:100px;border:1px solid red&q ...

  4. Oracle百问百答(二)

    Oracle百问百答(二) 11. nvl函数有什么用? NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则 ...

  5. WCF技术剖析之二十一:WCF基本异常处理模式[中篇]

    原文:WCF技术剖析之二十一:WCF基本异常处理模式[中篇] 通过WCF基本的异常处理模式[上篇], 我们知道了:在默认的情况下,服务端在执行某个服务操作时抛出的异常(在这里指非FaultExcept ...

  6. JAVA中extends 与implements有啥区别?

    JAVA中extends 与implements有啥区别?1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extend ...

  7. MySQL里求给定的时间是所在月份的第几个礼拜

    Share 一个昨天写的函数. 目的是求给定的时间是所在月份的第几个礼拜. DELIMITER $$ USE `t_girl`$$ DROP FUNCTION IF EXISTS `weekofmon ...

  8. LPCTSTR

    LPCTSTR类型: L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32位操作系统中, long指针和near指针及far修饰符都是为了兼容 ...

  9. webview加载网页加载不出来

    1.webView.loadUrl(picTargetUrl); 写在最前面. 1.在无线城市迷你版的项目,用webview去loadUrl的时候出现加载的现象. url 地址是 http://go. ...

  10. Codeforces Round #270--B. Design Tutorial: Learn from Life

    Design Tutorial: Learn from Life time limit per test 1 second memory limit per test 256 megabytes in ...