《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. C#Windows的HelloWorld

    在MSDN中找到Form类:MSDN-->.NET开发-->.NET Framework SDK 2.0-->Class Library Reference -->System ...

  2. 浅谈初次搭建nginx+php+mysql遇到的问题

    先说明下我linux上的环境: nginx + php(5.5.10) + mysql 開始的源代码已经在本地写好,并调试成功(本地的环境是用XAMPP的默认配置).在把代码上传至linux上时,出现 ...

  3. 【floyd】HDU 1874 畅通project续

    之后的题解偏重有用/总结性质,尽量理解算法本身而不是题,时间复杂度什么的也能够放放. 非常久之前做过这个题,当时使用dijkstra做的,关于几个最短路算法,分类的话能够分为下面几种. 1.单源最短路 ...

  4. jetty插件配置(开发)

     <plugins>           <!-- jetty插件 -->           <plugin>               <groupId ...

  5. spring+mybatis利用interceptor(plugin)兑现数据库读写分离

    使用spring的动态路由实现数据库负载均衡 系统中存在的多台服务器是"地位相当"的,不过,同一时间他们都处于活动(Active)状态,处于负载均衡等因素考虑,数据访问请求需要在这 ...

  6. linux下crontab的使用方法

    <span style="font-size:14px;">在Linux中任务可以被配置在指定的时间段.指定的日期.或系统平均载量低于指定的数量时自动运行. cront ...

  7. Maven+Eclipse+Spring MVC简单实例

    1. ToolsVersion and Preparations: Eclipse: 3.5 (eclipse-jee-galileo-win32) Maven: 2.0.11 Spring MVC ...

  8. Cocos2d-x3.0模版容器具体解释之二:cocos2d::Map&lt;K,V&gt;

    1.概述: 版本号: v3.0 beta 语言: C++ 定义在 "COCOS2DX_ROOT/cocos/base" 路径下的 "CCMap.h" 的头文件里 ...

  9. 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)

    简单介绍: WebCollector是一个无须配置.便于二次开发的JAVA爬虫框架(内核),它提供精简的的API.仅仅需少量代码就可以实现一个功能强大的爬虫. 怎样将WebCollector导入项目请 ...

  10. cocos2d学习笔录1

    CCDirector的主要作用: 1.访问和改变场景: 2.访问cocos2d-x的配置细节 3.访问视图(OPENGL,UIVIEW,UIWINDOW): 4.暂停,恢复和结束游戏: 5.在UIKi ...