[翻译] 通过WebRTC技术实现点对点通信
2014-03-20 17:17
253 查看
通过WebRTC技术实现点对点通信
WebRTC是一个实验性技术。因为该技术的规格还没有稳定下来,在各浏览器中必须通过检查属性表的前缀来正确使用,例如:在Chrome中使用 webkitRTCPeerConnection,在Firefox中使用mozRTCPeerConnection,前缀不一样。另外请注意,实验性技术的语法和行为有可能在浏览器未来的版本中改变。
概述
WebRTC API被设计为允许JS应用程序通过浏览器在用户之间创建实时的音频,视频和/或数据信道连接,或与支持WebRTC协议的服务器通信。它还利用navigator.mozGetUserMedia()函数方法来访问麦克风和摄像头数据(getUserMedia()函数已经在标准化媒体捕获小组日程上)。标准化进程
不断变化的WebRTC规范主要来源是W3的WebRTC 和getUserMedia 规范,以及在IETF的各种草案,主要是rtcweb工作组,MMUSIC,rmcat和其他几个组。在Chrome和Firefox实现的WebRTC功能,大部分代码是基于谷歌在webrtc.org上的开源。提示:如果在浏览器安装了FlashBlock,当前版本的FlashBlock插件可能默认会拦截HTML5的video标签组件;如果要在页面上使用WebRTC的视频功能,需要设置FlashBlock允许该video组件,或者在该页面禁用FlashBlock工具。
教程及实例
在HTML5 Rocks 上有一个非常不错的介绍WebRTC基本功能的教程。在webrtc-landing 上有一个基本的测试页面的集合,用以支持发展webrtc的发展。你可以使用Chrome在apprtc.appspot.com上做一个很简单的P2P的通信实验,体验WebRTC的点到点通信技术。
有一篇骇客文章 更形象的描述了建立RTCPeerConnection过程中发生了什么(在这里阅读所有关于WebRTC的骇客文章):
规范列表
规范 | 状态 | 说明 |
---|---|---|
WebRTC API | 在定义中 | |
getUserMedia API | 在定义中 | http://dev.w3.org/2011/webrtc/editor/getusermedia.html |
浏览器兼容
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | Yeswebkit | Firefox 22 | Not supported | Not supported | Not supported |
DataChannels | Will be in Chrome 29 | Firefox 22 | Not supported | Not supported | Not supported |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Preliminary support | Via Chrome (behind flag) | Activated on Nightly and Aurora | Not supported | Not supported | Not supported |
DataChannels | Compatibility unknown; please update this. | Activated on Nightly and Aurora | Not supported | Not supported | Not supported |
相关文章推荐
- [Python]通过调用百度翻译API实现的翻译小程序
- Box2D实现Super Mario之关键技术分析——mario下蹲通过低矮障碍物
- PS做景深拼接制造出清晰效果通过使用对焦堆叠技术实现
- 通过VML技术 及 XSLT技术实现WEB图形化处理界面.
- 通过WebRTC实现实时视频通信(一)
- Spring Security 文档翻译 - 架构与实现之一技术一览
- JAVA通过Session和Cookie实现网站自动登录的技术
- 【翻译】Deft JS:通过依赖注入实现低耦合MVC
- 《逆向工程核心原理》<04-33> 通过DLL注入修改API代码实现API钩取的技术
- SAE 平台代码实现数据库定时备份以及同步到本地 2014/09/11 09:39:01 分类: 技术随笔 1人评论 次浏览 SAE 只允许用户通过phpMyAdmin管理远程数据库,
- WebRtc技术实现网页摄像头录制视频并上传服务器
- js通过googleAIP翻译PHP系统的语言配置的实现代码
- 【翻译】Deft JS:通过依赖注入实现低耦合MVC
- Spring(十)通过动态代理(JDK的Proxy)和cglib实现AOP技术
- 如何通过QQ机器人技术实现禅道bug的自动提交功能
- Linux下通过bonding技术实现网络负载均衡及冗余
- Web开发中的缓存技术之三:通过ETag实现缓存处理(ASP.NET MVC版)
- Java通过WebSocket WebRTC实现视频通话实例
- asp.net通过反射技术实现Ajax