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

时间:2021-09-28 12:35:09

《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. 难道.NET Core到R2连中文编码都不支持吗?

    今天写了一个简单的.NET Core RC2控制台程序,发现中文显示一直是乱码.查看操作系统设置,没有问题:查看源文件编码,也没有问题:甚至查看了Console字符编码相关的注册表,依然没有发现问题. ...

  2. Android之android:launchMode

    (本文转自:http://www.eoeandroid.com/blog-531377-3446.html) (详细查看:http://blog.csdn.net/liuhe688/article/d ...

  3. [Android]使用RecyclerView替代ListView(二)

    以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4242541.html 以前写过一篇“[Android]使用Adapte ...

  4. Rstudio代码的快捷键

    按tab键:有自动补全的功能 Ctrl+Enter:运行改行代码 Ctrl+1: 移动焦点到source编辑区 Ctrl+2: 移动焦点到控制台 Ctrl+enter Ctrl+L:删除该控制台的所有 ...

  5. CSS染色图标(图片)

    之前一直以为用background引入的图标无法染色(非字体图标),现在才知道有黑科技可以用,就是利用drop-shadow. 代码示例 <!DOCTYPE html> <html& ...

  6. Mysql 关键字的优先级 分组 多表联查

    查看模式 select @@global.sql_mode; 关键字的优先级 from 来自 where 条件 group by 分组 having 筛选 select 查询 distinct 去重 ...

  7. springboot注解大全

    springboot注解:@Service: 注解在类上,表示这是一个业务层bean@Controller:注解在类上,表示这是一个控制层bean@Repository: 注解在类上,表示这是一个数据 ...

  8. Apache访问验证方式

    Require all granted 允许所有请求访问资源 Require all denied 拒绝所有请求访问资源 Require env env-var [env-var] ... 当指定环境 ...

  9. 构建高性能服务(二)java高并发锁的3种实现

    构建高性能服务(二)java高并发锁的3种实现 来源:http://www.xymyeah.com/?p=46   提高系统并发吞吐能力是构建高性能服务的重点和难点.通常review代码时看到sync ...

  10. 【cs229-Lecture10】特征选择

    本节课要点: VC维: 模型选择算法 特征选择 vc维:个人还是不太理解.个人的感觉就是为核函数做理论依据,低维线性不可分时,映射到高维就可分,那么映射到多高呢?我把可分理解为“打散”. 参考的资料: ...