〓【球友会】分享IT计算机各类电子书,包括各类编程语言,人工智能,机器学习、深度学习以及各类大数据、算法等内容的电子书
WebRTC标准之父:让每个程序员都能进行实时通信开发
WebRTC标准之父:让每个程序员都能进行实时通信开发

WebRTC标准之父:让每个程序员都能进行实时通信开发

2016年10月28日-29日,在北京长城饭店,由声网Agora.io和美国最大的IT行业协会TMC合办的第二届实时互联网大会将盛大召开。实时互联网大会聚焦于实时通信技术从技术与人的思想中,释放更专业的能量来构建沟通的影响力。届时来自国内外实时领域的技术和行业超级大咖,以及Google、阿里、百度、Intel、陌陌等众多演讲嘉宾将齐集讨论,以此洞悉未来互联网新趋势和商业的新机会。

距实时互联网大会召开还有2天。据透露,大会请来了一位重量嘉宾,有”WebRTC之父之称”的WebRTC技术标准作者Daniel C. Burnett。近日,Daniel C. Burnett接受了CSDN的专访。Daniel在计算机标准领域已经工作了十年有余,作为Peer Connection和get UserMedia W3C WEBRTC规范的编辑者,以及国际互联网工程任务组(IETF)的参与者,Daniel从一开始便投身于这个激动人心的新领域中。他所编写的W3C标准目前广泛应用于大部分自动交互式语音应答(IVR)系统之中。

WebRTC标准之父Daniel C. BurnettCSDN:感谢您接受CSDN的专访,请您介绍一下您的主要职责以及WebRTC在去年的发展情况。Daniel:我是WebRTC标准规范的第一位编辑,而且最资深的一位编辑,大家都称我为”WebRTC标准之父”。我还是在任时间最长的”媒体捕获和流媒体规范”编辑,这是WebRTC以外的另一个主要标准文档。我与其他编辑一起,负责审核并应用GitHub获取用户需求,在许多情况下,这用于修复开发人员提出的规范文本问题。去年,我们的工作重点是添加新的低级别控制功能。添加这些功能非常简单,但若要让它们稳定流畅地运行下去并不容易。CSDN:WebRTC技术开发人员侧重于处理哪些问题?您对这些问题有何看法?Daniel:我不知道您所指的是使用WebRTC的Web开发人员还是WebRTC标准的开发人员,所以我会分别解答。使用WebRTC的Web开发人员的重点不是创新,而是侧重于如何在他们的WebRTC应用程序中再现传统固定电话网络的可靠性。一个简单好用的API对于WebRTC初学者来说,一开始很重要,但是一旦他们掌握了如何使用API之后,开发人员将不会过多关注API本身。例如,之前,单个对等连接支持多个音频频流的复用之前,开发人员会创建多个对等连接连接,每个对等连接都会有单个的音频轨和视频轨。开发人员将面临的挑战,比如:事先了解能否呼叫成功;尽快启动呼叫;开发者需要了解网络的带宽和延迟的情况,在带宽不足或者延迟比较大的情况下,开发者在应用程序端中需要做出一些干预(例如关闭视频窗口);了解网络何时将完全掉线。这些问题都很重要,尤其是对于那些想要完全取代传统或者无限呼叫的应用程序而言。现在,对于制定WebRTC标准的我们来说,问题在于如何最有效地解决我刚才提到的挑战。我们采取的方法是,提供少量的信令和控制,让开发人员可以通过自己的分析进行调整。虽然这也许能充分解决问题,但也可能让事情变得更复杂,原有简单API的诸多优势也将不复存在。所有标准到最后都会成为折中方案,但我仍认为,我们制定的这一折中方案比先前的互联网电话(VoIP)方法更易于使用,也更加可靠。CSDN:WebRTC技术在哪些领域最具价值?在实际项目中是否遇到了挑战?您认为,这些挑战是否有更好的解决方案?Daniel: WebRTC在已具有社区或基于Web的交互的情形中最具价值。美国的知名实际项目包括:Amazon的Mayday视频支持服务,在Amazon Kindle Fire上按一下帮助按钮即可访问这一服务;Facebook的视频聊天功能,这一功能建立在现有文本聊天功能的基础之上。在这两个案例中,提供商和客户若要拨打电话或进行视频通话,可以停留在现有应用程序中,而不必切换到第三方,这非常实用。但为什么WebRTC的使用范围不太广泛?我认为主要问题在于前面所说的质量预测与质量保证的挑战。由于WebRTC本身是基于浏览器集成,在传输方面并没有太多的标准和建议,仅使用传统的P2P点对点协议,当用户出现复杂的本地环境(例如手机信号不稳定)或跨地区跨时区跨国的传输时,WebRTC会无法进行软件编码优化,这也就是为什么,开发者使用WebRTC实现Demo很容易,可是在实际过程中却碰到很多问题。同时,由于WebRTC无法使用硬件编码,因此受制于移动终端设备的cpu性能限制,在商用过程中往往难以实现。现在有不少无质量保证的免费应用程序,人们往往会先尝试这些应用程序,但在首次失败后仍转而使用PSTN/VoIP,WebRTC的应用程序如要在数量上超过这些传统应用程序,基于互联网的实时通信应用的质量和稳定性必须在总体上有所提升。CSDN:据说WebRTC标准不够稳定,存在一些错误。您对此有何看法?对于在将来开发WebRTC技术有何计划?Daniel:任何标准在完成之前都不稳定,更何况WebRTC尝试为之建立标准的功能尚未在任何地方实施,这是个巨大的挑战。这一标准此时最需要的是浏览器能按照规范进行实施,尤其是Google浏览器。这当然也适用于WebRTC源生库。正是由于WebRTC标准本身的不确定性,以及存在通话质量很难保证的问题,所以我们需要根据项目实际需要来评估和选择正确的解决方案 (WebRTC只是其中一种)。CSDN:WebRTC技术能否满足移动互联网时代的需求?WebRTC能否给现在热门的直播平台带来启发?Daniel:有大量工作用于确保WebRTC在移动实时环境中正常运行。现在的首要问题是网络接口发生变化时的稳定性,尤其是从WiFi切换到移动运营商网络时。目前来看,要WebRTC在此环境下发挥作用,还需要一些用户级别的编程。尤其是面对复杂的网络环境的情况下,需要更多的技术和解决方案来应对这个问题。WebRTC 1.0之后的下一版本会讨论将更多用户级别编程自动化。对于直播,则有不同的方法。近几年来,有些公司专注于构建点对点的内容分发网络,这种网络使用群组进行单向媒体分发,并完全通过用户级别代码来搭建。API新增同时分发的功能,这不是广播,但有助于视频选择分发单元(SFU)的带宽管理,进而改善大规模分发。直播技术方面,声网Agora.io的实时全互动直播主要满足的超低延迟和互动的场景,在全球构建了软件实时定义虚拟网(SD-RTN)实现高质量、高清晰度、稳定可靠的全交互直播,希望从根本上解决传输的问题。CSDN:WebRTC和RTC之间有何联系?它们在未来会如何发展?Daniel: RTC表示实时通信,WebRTC只是实现浏览器实时通信的一项技术。其他技术还包括基于SIP的传统IP语音,当然还包括原有的PSTN,也就是分组交换电话网络。如果您问的是WebRTC和ORTC(对象RTC),这的确曾是个问题,因为ORTC在最初是作为WebRTC的替代品而构建的。不过,在一年多前,这两家公司决定合作,结果是所有新的低级别控制功能结合到WebRTC之中,我们现正在进行整理和充实。ORTC充当一个“孵化器。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注