大话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前世今生”,以方便初学者能更 ...
随机推荐
- 在见证了1000多家公司的兴衰灭亡之后,YC创始合伙人总结了创业公司的6个不死法则(转)
今天,我想先说一下个人消息.在 YC 工作了 11 年之后,我明年想去休假.我希望把精力放在一些项目上,说实话,我有点累了. YC 是这世界上我最喜欢的事情之一,但它也很费精力. 11 年不间断的耗费 ...
- 一句话说清楚cache和buffer
我们说真正掌握和理解一个定义或者概念或者技术点最好的方式就是能够直观的展现它是什么样的,或者像什么样的,关于cache和buffer,刚刚看到一个极为显而易见的类比解释. buffer就像弹簧,用于减 ...
- Linux 命令梳理
Linux 命令梳理 待梳理命令 nohup 用户管理 useradd 新建用户 sudo useradd {user name} -s /bin/bash -d /data/{user name} ...
- left join加上where条件的困惑
eft join的困惑:一旦加上where条件,则显示的结果等于inner join将where 换成 and 用where 是先连接然后再筛选 用and 是先筛选再连接 数据库在通过连接两张或多 ...
- mysql 用存储过程插入11位 随机数
BEGIN #Routine body goes here... ; ); ); ); ); ); ); ); ); ); ); ); ); ) DEFAULT ''; ); ); WHILE row ...
- bzoj 2434 阿狸的打字机 - Aho-Corasick自动机 - 树状数组
题目传送门 传送站I 传送站II 题目大意 阿狸有一个打字机,它有3种键: 向缓冲区追加小写字母 P:打印当前缓冲区(缓冲区不变) B:删除缓冲区中最后一个字符 然后多次询问第$x$个被打印出来的串在 ...
- topcoder srm 684 div1
problem1 link 首先由$P$中任意两元素的绝对值得到集合$Q$.然后枚举$Q$中的每个元素作为集合$D$中的最大值$Max$,这样就能确定最后集合$D$中的最小值要大于等于$Min=\fr ...
- Ubuntu: repository/PPA 源
在Ubuntu中,每个PPA源是单独存放在/etc/apt/sources.list.d/文件夹中的,进入到该文件夹,使用ls命令查询即可列出当前系统添加的PPA源. 添加 sudo add-apt- ...
- apache安装时的一些术语
apache源码安装时,需要的哪些必须依赖模块? 主要需要apr, apr-util, pcre模块 其中 apr模块时必须的. 如何卸载 源码安装的软件? 在源码 的 解压目录下, 使用 make ...
- 【系列教程1】Gradle入门系列一:简介
Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言.近期,Gradle获得了极大的关注. 这篇文章是Gradle教程的第一篇,我们有两个目 ...