WebRTC:被浏览器藏了15年的实时通信底牌,正在重构整个产业的成本结构

去年帮一个做远程医疗的客户搭系统,一开始找了三家云厂商的实时音视频SDK,一年服务费报了120万。我当时翻账单翻到凌晨三点,突然想起来十年前第一次写WebRTC demo的时候,连个专门的媒体服务器都不用买,就能跑通跨地域的1对1高清通话。

浏览器里跑了15年的“隐形管道”

很多人对WebRTC的印象停留在“免费开源的音视频SDK”,错得离谱。WebRTC本质上是浏览器内核原生内置的实时传输栈——你打开Chrome的开发者工具,在网络面板里翻半天,都找不到它传数据的HTTP请求,因为它根本不跟传统的HTTP服务器打交道。 从2008年Google把Gtalk的实时通信代码捐给W3C开始,这套技术就已经在所有主流浏览器的内核里悄悄迭代。核心逻辑其实很简单:不需要装插件,不需要下载客户端,只要打开一个网页,就能调用摄像头、麦克风,通过P2P直连的方式,把实时的音视频流传给对面的人。
WebRTC端到端传输链路架构示意图
WebRTC端到端传输链路架构示意图
最妙的是那个NAT穿透的设计。你和你朋友隔着两层家用路由器,按照传统的网络逻辑,两台设备根本找不到对方的公网地址。WebRTC就靠一个公开的STUN服务器问一圈,拿到双方的公网映射端口,直接把音视频包从你家路由器甩到对方家路由器,中间连个中转服务器都不用过。P2P直连的传输模式可以把端到端延迟压到200毫秒以内,比当年QQ的视频通话还快。 我第一次跑通那个demo的时候,盯着屏幕里对面的人脸,延迟比打运营商的视频电话还低,当时真的觉得浏览器要把所有实时通信的活全干了。

为什么免费的东西,最后卖得比付费的还贵

很多人刚接触WebRTC的时候,都会有个错觉:既然开源免费,那为什么市面上还有那么多公司在卖实时音视频服务? 说白了,原生WebRTC的能力,只够跑通1对1的理想场景。真到了真实的产业环境里,坑多到能把人埋了。 比如NAT穿透的成功率。在国内的网络环境下,三大运营商的NAT层级能做到三四层,还有大量企业内网把所有UDP端口封死,这时候STUN服务器根本拿不到有效的公网映射,P2P直连直接失败。按照公开的测试数据,国内网络环境下,原生WebRTC的P2P直连成功率最高也就60%,剩下的40%必须靠TURN服务器中转,带宽成本是实打实的钱。
国内三大运营商网络环境下WebRTC穿透成功率统计图表
国内三大运营商网络环境下WebRTC穿透成功率统计图表
还有浏览器的兼容性问题。2017年我帮一个在线教育客户做双师课堂,一开始图省事直接用原生WebRTC,结果学生用苹果电脑上课,每次老师连麦,对面要么没声音,要么延迟卡成PPT。前后花了三周调试,最后还是接了某大厂的RTC SDK,问题直接解决。 亏不亏? 但反过来想,这也是整个产业的机会。当前国内主流RTC服务商的底层代码均基于WebRTC开源版本二次开发,他们在原生能力之上,加了弱网对抗、大规模SFU集群、跨端兼容、内容审核这些原生WebRTC没有的能力,把原本只能跑1对1demo的技术,做成了能支撑万人在线会议、百万级直播连麦的商业服务。你现在用的腾讯会议、Zoom、抖音的直播连麦,底层追根溯源,全是WebRTC的代码改出来的。

现在的WebRTC,早就不只是用来打视频电话了

最近两年我跑了很多产业场景,发现WebRTC的应用边界,早就超出了“视频通话”的范畴。 比如远程医疗场景。之前那个客户最后选了基于WebRTC的轻量化方案——患者不用下载APP,打开个微信里的链接,就能和医生高清连麦做复诊,对不会操作智能手机的老年人太友好了。整个系统的成本,比之前对接的云厂商方案降了80%。 再比如工业互联网场景。现在很多长三角的制造工厂,给一线巡检工人配了AR眼镜,第一视角的设备画面通过WebRTC实时传到后台的专家端,专家不用跑几百公里的现场,就能远程指导工人排查设备故障。上个月去苏州看一个做工业AR的团队,他们说靠这套方案,一年能帮合作的工厂省几千万的差旅和运维成本。
工业AR远程运维WebRTC实时回传场景实拍图
工业AR远程运维WebRTC实时回传场景实拍图
当然,这套技术的风险也从来没消失过。最开始是IP泄露的漏洞——很多用户挂着VPN上网,结果WebRTC会直接拿到用户的真实公网IP,把VPN的伪装拆得一干二净。我第一次发现这个漏洞的时候,正在给一个做跨境电商的客户搭独立站,查后台数据的时候,看到每个用户的真实IP,后背都凉了。合着用户花了钱挂VPN看网站,我们这边直接把人家真实IP记下来了,这要是被监管查到,整个站都得封。 还有更现实的问题。WebRTC的P2P传输因为是端到端加密,中间服务器看不到传输的内容,很容易被恶意网站滥用——之前就有过恶意站点,偷偷在用户的浏览器后台开WebRTC连接,把用户的电脑当成P2P节点跑流量,用户根本毫无察觉。按照现在国内对实时音视频的监管要求,所有公开的连麦场景都需要做实时的内容审核,端到端加密的特性,反而成了合规落地的障碍。

未来3年,WebRTC要啃下的三块硬骨头

我对未来3-5年的WebRTC生态,其实没有那么乐观,但也绝对不悲观。 第一块硬骨头是标准收敛。现在Google自己维护的WebRTC开源代码,已经加了几百个私有优化,根本没进到W3C的正式标准里,其他浏览器厂商想兼容,就得跟着抄代码。如果未来3年标准收不住,整个生态就会变成各家各玩各的,最后所有开发者都要为兼容成本买单。 第二块硬骨头是和端侧AI的融合。现在的WebRTC传的是原始的音视频流,未来它要传的是经过端侧AI处理的实时流——比如你打开一个网页开线上会议,摄像头拍的画面直接在本地做背景虚化、语音转写、会议纪要生成,所有处理都在你的电脑上完成,不用把内容传到云端,WebRTC就是连接这些本地AI模块的高速通道。 第三块硬骨头是合规落地。现在国内的监管要求和WebRTC原生的隐私设计,其实是有冲突的。未来肯定会出现一套符合国内监管要求的合规WebRTC方案,在保障用户端到端隐私的基础上,加一个可控的内容审核节点,平衡隐私保护和公共监管的要求。 前几天翻到2015年第一次写WebRTC demo的代码,满屏幕的注释写的是“要让浏览器成为万能的实时通信终端”。快10年过去了,这个目标其实已经实现了一大半。很多人说开源的技术没有商业价值,但是WebRTC偏不——它把实时通信的门槛从百万级的研发成本,压到了几千块的服务器成本,现在哪怕是一个刚毕业的学生,花一下午时间,就能在自己的博客里加一个1对1的在线咨询功能。 这种东西,你说它没有价值? 才怪。

作者|fawen

排版|fawen

审核|小准

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:WebRTC:被浏览器藏了15年的实时通信底牌,正在重构整个产业的成本结构
文章链接:https://lfdjt.com/info_23_31114.html