音视频的历史
音视频可以说是人类与生俱来的需求,人一出生就要用耳朵听,用眼睛看。中国的古代神话中为此还专门设置了两位神仙(千里眼和顺风耳),他们可以听到或看到千里之外的声音或景像。
为了解决听的远和看的远的问题,科学家们孜孜不倦一直在为此探索。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 比较早的一批人,2010年初我在某音视频会议公司有幸参与公司全新音视频会议平台的产品研发。从音视频的采集、渲染、编解码、传输、逻辑控制等方方面面参与其中,当时我们要自己解决实时通讯的所有问题,延迟,音视频同步,网络拥塞,各种性能优化,真是苦不堪言。
2011年WebRTC的出现使我们眼前一亮,虽然当时它还很稚嫩,但其中的音频编解码器以及其处理音视频的架构确实给我们提供不少的参考价值。
而WebRTC发展速度之快真是让人咂舌。短短几个月就一个版本,而且每个版本之间都是翻天覆动的变化,一段时间不看其代码,就晃如昨日了。但其价值也在这快速的变化中越来越高。
我在学习研究 WebRTC的过程中,一直在想能否录制一门可以让小白同学可以快速入门的课程呢?我之前推出的《 ffmpeg 课程》给了我录制这门课的信心。
无论是从WebRTC技术的撑握上,还是讲课的技巧上我相信我都能将这门课讲好。于是说开干就干,每天几乎工作到零晨 2点,没有节假日,经过几个月的努力,精打细磨的《WebRTC实时互动直播技术入门与实战》课终于孕育而出了。
课程中从WebRTC架构讲起,涉及到 :
- WebRTC目录结构及作用
- WebRTC 服务器的设计与搭建
- NAT 穿越/ NAT 类型检测
- STUN/TURN/ICE 协议与框架
- 媒体流中转服务器(TURN)搭建
- 音视频设备管理
- 音视频流/桌面采集
- 录制
- WebRTC信令及处理流程
- 媒体能力协商
- 端对端音视频实时互动直播
- 共享远程桌面
- 非音视频数据传输(实时文本聊天/实时文件传输)
- Android/iOS与浏览器互通 ......
课程中每个主题都有大量实战,希望这样一门课程可以让你快速入门 WebRTC。同时我也希望这门课会卖的很好,这样我会更有力量为大家贡献WebRTC更深入的知识。
参考资料
5G时代必备音视频WebRTC实时互动直播技术入门与实战