WebRTC的起源与发展

WebRTC是一个由Google发起的开源项目,旨在为Web提供实时通信API标准。通过WebRTC,开发者可以在浏览器中实现无需插件的P2P音视频通话应用。Google在2010年收购GIPS后,WebRTC逐渐发展,被集成到Chrome、Firefox等浏览器中,支持多种编码和传输协议。随着时间推移,WebRTC继续进化,包括支持SVC扩展和自动播放策略检测等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WebRTC简介

WebRTC(Web Real-Time Communications)是由Google发起的用于Web端音视频实时通信的开源项目。Google希望WebRTC可以成为浏览器端的实时音视频通信领域的API标准。在支持WebRTC API标准的浏览器中(比如Chrome),Web前端开发者,无需要求用户安装任何插件,直接调用WebRTC的JavaScript API,即可在Web端开发出Peer to Peer的实时音视频通话应用,还可以开发出高性能和高实时性的视频监控类前端应用。

WebRTC不仅为Web应用开发提供了JavaScript API,还为Windows、macOS、Linux、Android、iOS端的原生应用开发提供C和C++接口,让我们的原生应用轻松实现跨平台的高品质实时音视频通信功能。

WebRTC的起源

在WebRTC项目被开源以前,各做音视频相关应用(比如视频会议、娱乐直播)的厂商一般采用自研或者购买第三方SDK的方式实现实时音视频通信功能。自研一套成熟的跨平台的实时音视频通信SDK是相当费时费力的。企业如果不打算自研实时音视频通信SDK,那么就采用第三方商业RTC SDK。比如,在PC时代,腾讯的QQ就采用全球知名的Global IP Solutions(缩写为GIPS)公司的SDK实现了高质量的音视频通话功能。

Global IP Solutions虽然核心员工只有几十名,但是他们长期专注于实时音视频通信领域,积累大量的专利技术,当年很火的Nokia也采用过他们的实时语音通话技术,他们就凭着音视频RTC领域的SDK和相关芯片产品即可独步天下。在2010以前,GIPS的音视频实时通信技术是少数企业才能使用的专利技术。

WebRTC的发展

2010年5月,Google以6820万美元收购VoIP软件开发商Global IP Solutions的GIPS引擎。WebRTC使用GIPS引擎,实现了基于网页的视频会议,并支持722,PCM,ILBC,ISAC等编码,同时使用谷歌自家的VP8视频解码器;同时支持RTP/SRTP传输等。

2011年6月3日,谷歌宣布向开发人员开放WebRTC架构的源代码。这个源代码将根据没有专利费的BSD(伯克利软件发布)式的许可证向用户提供。开发人员可访问并获取WebRTC的源代码、规格说明和工具等。

2012年1月,谷歌把WebRTC集成进Chrome浏览器的Dev Channel分支,同年6月又完成Stable Channel的20版的集成(2012年7月,PeerConnection与MediaStream仍必须透过chrome://flags page来打开。同时FreeSWITCH项目宣称支持iSAC audio codec。

2012年初Mozilla集成WebRTC入Firefox Alpha,此一版本的Audio Mixing已完成于Media Stream。

2012年1月,Opera初步集成WebRTC。

2012年4月,Mozilla展示Firefox中WebRTC的视频对话。

2012年11月,Ericsson Labs做出了全世界第一个可以支持WebRTC的手机浏览器。

2013年1月,SeaMonkey发布的15.0版本初步集成WebRTC。

2013年6月,Google发布的Chrome 22.0版本正式宣布支持WebRTC。

2013年9月,Firefox for Android(移动版)正式集成及支持WebRTC。

2019年10月22日,W3C WebRTC 工作组(Web Real-Time Communications Working Group)发布 WebRTC 可伸缩视频编码(SVC)扩展(Scalable Video Coding (SVC) Extension for WebRTC)的首个公开工作草案(First Public Working Draft)。 文档定义了 WebIDL 中的一组 ECMAScript APIs 来扩展 WebRTC 1.0 API,以允许用户代理支持可伸缩视频编码(SVC)。

2022年3月15日,W3C媒体工作组发布自动播放策略检测(Autoplay Policy Detection)规范的首个公开工作草案。该规范为开发者提供了一种能力,用以探测在不同情况下是否允许自动开始播放媒体文件。欢迎公众通过 Github 反馈对该文档的意见与建议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ADM实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值