大话WebRTC的前世今生
音视频的历史
音视频可以说是人类与生俱来的需求,人一出生就要用耳朵听,用眼睛看。中国的古代神话中为此还专门设置了两位神仙(千里眼和顺风耳),他们可以听到或看到千里之外的声音或景像。
为了解决听的远和看的远的问题,科学家们孜孜不倦一直在为此探索。1876年,贝尔发明了电话,使人们真的可以听到了千里之外的声音,因此掀起了一场技术革命。
对于中国来说,电话的使用也并不晚:
1882年,我国第一部磁石电话交换机在上海开通
1904年,北京的第一个官办电话局在东单二条胡同开通,当时是100门人工交换机。
1960年,我国自行研制的第一套1000门纵横制自动电话交换机在上海吴淞局开通使用。
不过,中国真正走上快车轨的时间是80年代中后期,大量的中国通信设备制造企业如雨后春笋一般涌现。华为、中兴都是从这一时间开始起步的。
而从固定话到移动电话,从模似信号到数据信号,从1G发展到现在的3G、4G,音频技术的的发展和利用改变了人们的生活。
移动互联网
2007年第一部iphone手机的出现,以及 2008 年中国 3G 的正式开通,宣告了中国移动互联网的到来。从此科技发展之迅猛完全超出了人们的想像,大家应当都能感同身受。
现在为了抢占技术先机,各个国家已经开始大力发展 5G,在未来的一两年内,5G将会被快速应用于人们的日常生活。5G的出现会更加激发人们对音视频的需求。
从第一部电话的出现到现在已经有 100多年的历史了,声音的问题解决了,人们开始憧憬着千里眼的实现。但视频远比音频要复杂的多,首先要解决图像压缩技术,从单个图片的压缩PNG, JPEG到连续帧的压缩 MPEG2,H264 /VP8压缩率越来越高,直到现在的 H265/VP9,甚至很快就要推出的AV1, 技术的演进速度也越来越快。
即使这样,光靠压缩技术想实现千里眼还是困难重重,所以人们想到要提升网络带宽。光纤的发明从技术上解决了网络带宽的提升问题。 3G、4G、5G的发展使得移动端也可以从之前的乡间小路变成了高速公路。
随着压缩技术的解决以及带宽的快速提升,千里眼已经不在是神话了。1996年 WebEx的创建以及其推出的音视频会议产品是一个非常大的标志。从此,千里眼和顺风耳合为一体。像我们现在的各种娱乐直播以及在线教育的实时互动直播都是在此之后才如雨后春笋般的出现。
回看历史,音频技术的突破及应用,开启了移动互联网的浪潮。而视频技术的突破相信在不久的将来,也必然要开启另一个技术浪潮。
压缩技术解决了,高速公路建成了,还缺什么呢?
WebRTC
压缩技术解决了,高速公路建成了,也可以进行远程音视频了,但过去开发这样一种产品价格却十分昂贵。而Google帮我们解决了这个问题,2011 年Google花了 6000万美金收购 GIPS 公司(GIPS公司也是一家从事音视频实时互动引擎开发的公司,其在音频编解码,网络传输方面多年的技术积累和非常大技术的优势),并将其技术重新组织,开源成为现在的 WebRTC。
WebRTC的愿景是可以让浏览器间快速、方便的实现端到端的实时音视频互动。随着这几年WebRTC技术的演进,以及WebRTC 1.0规范的推出,在浏览器间进行实时音视频互动已成为可能。
即便如此,要想在浏览器中开发了这样一款产品也并非易事儿。因为 WebRTC 涉及到媒体能力协商、网络传输,各种协议等一系列专业知识, 这增加了人们学习和撑握 WebRTC的成本。所以市场上急需一门详细讲解WebRTC原理及应用的课程。
另一方面,WebRTC不仅可以用在浏览器之间进行音视频互动,它还可以应用在非常的广泛的产品上,如P2P传输,文本聊天,文件传输、游戏、多人实时互动、音频处理(回音消除、降噪)等等各种各样的应用中,甚至人工智能软件上。
随着 5G的推出,将会产生更多现象级的应用。在这些应用中,只要是处理音视频和网络的都可以使用 WebRTC。
目前,各大互联网公司都在做WebRTC的相关研究,想将其应用于自己的产品中。所以,市场对这方面的开发人员需求具增,在招聘职位中也都会写到有 “WebRTC 经验者优先”。
大话WebRTC的前世今生的更多相关文章
- 转:webRTC的前世今生
https://blog.coding.net/blog/getting-started-with-webrtc
- webRTC前世今生
WebRTC 的前世今生 本文由 rwebrtc 翻译 WebRTC 技术是激烈的开放的 Web 战争中一大突破.-Brendan Eich, inventor of JavaScript 无插件实时 ...
- 基于 WebRTC 技术的实时通信服务开发实践
随着直播的发展,直播实时互动性变得日益重要.又拍云在 WebRTC 的基础上,凭借多年的开发经验,结合当下实际情况,开发 UPRTC 系统,解决了网络延时.并发量大.客户端解码能力差等问题. WebR ...
- 听闰土大话前端之ES6是怎么来的
前言 相信做前端的朋友没有不知道ECMAScript6的,都知晓ES6新增了不少新的特性,但是你知道ES6是怎么来的吗?今天就让闰土来带大家大话ES6的前世今生.当然了,这篇文章会以扫盲为主,科普为辅 ...
- 1.1、webrtc的历史和现状
1.1.webrtc的历史和现状 本书目录 温馨提示:本书的内容,将按照顺序一一展开,上篇文章阐述本书的诞生的原因,推荐阅读方式等. 如果你还没有阅读上一篇文章(必读前言—— 作者的独白),我建议返回 ...
- 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...
- 了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化
本文原文由声网WebRTC技术专家毛玉杰分享. 1.前言 有人说 2017 年是 WebRTC 的转折之年,2018 年将是 WebRTC 的爆发之年,这并非没有根据.就在去年(2017年),WebR ...
- 实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序
1.前言 2017 年 12 月,微信小程序向开发者开放了实时音视频能力,给业内带来广阔的想象空间.连麦互动视频直播技术在 2016 年直播风口中成为视频直播的标配,然而只有在原生的 APP 上才能保 ...
- 【调侃】IOC前世今生
前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...
随机推荐
- linux下can调试工具canutils安装过程记录
https://www.cnblogs.com/chenfulin5/p/6797756.html 一.下载源码 下载canutils和libsocketcan libsocketcan地址:http ...
- mysql 查看当前使用的配置文件my.cnf的方法(推荐)
my.cnf是mysql启动时加载的配置文件,一般会放在mysql的安装目录中,用户也可以放在其他目录加载. 安装mysql后,系统中会有多个my.cnf文件,有些是用于测试的. 使用locate m ...
- Python For Android (P4a):添加权限(Permissions)
from flutter study: <uses-permission android:name="android.permission.INTERNET"/>< ...
- golang中tcp socket粘包问题和处理
转自:http://www.01happy.com/golang-tcp-socket-adhere/ 在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?例如我们和客户端约定数据 ...
- 关于er模型中的identifying relationship or non-identifying relationship
最近,主要负责项目管理和领域模型设计方面的工作,昨天在将UML类图转换为ER模型的时候,发现有identifying relationship or non-identifying relations ...
- python网络编程及高并发问题
面试其他篇 目录: 1.1
- javascript 点击按钮实现隐藏显示切换效果
原文链接:http://www.jb51.net/article/79083.htm <html> <head> <meta charset="gb2312&q ...
- 16 级高代 II 思考题九的七种解法
16 级高代 II 思考题九 设 $V$ 是数域 $\mathbb{K}$ 上的 $n$ 维线性空间, $\varphi$ 是 $V$ 上的线性变换, $f(\lambda),m(\lambda)$ ...
- 上传svn失败,代码冲突解决方式
1,修改文件后提交不了,大多是因为版本不一致造成的.更新一下,不产生冲突的情况,就可以提交了. 2,更新文件,如果出现冲突的情况,打开冲突文件test.php会看到类似以下的内容 <<&l ...
- mysql数据库连接的测试代码语句片断
手动连接数据库 的代码片断, 用于各种数据库的测试... $conn = mysql_connect('localhost', 'root', '') or die('failed to connec ...