您当前的位置是:  首页 > 新闻 > 专家观点 >
 首页 > 新闻 > 专家观点 >

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

2016-12-06 15:48:50   作者:   来源:CSDN    评论:0  点击:


  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. Burnett 
  CSDN:感谢您接受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充当一个“孵化器”,其中的工作随后会移交正式的W3C WebRTC工作组以实施标准化。
  csdn:WebRTC支持Chrome、Firefox、Opera等浏览器,但不支持Apple的Safari。您对这种情况有何计划?是否在进行任何兼容性相关工作来解决这一问题?
  Daniel:一些私有公司创建了库,许多工作在WebKit中完成,现在,苹果公司自己明确在实施WebRTC。此外,Apple的互联网媒体负责人出席了我们最近在葡萄牙里斯本举行的多个标准会议。在讨论中,我们询问了我们计划的问题解决方法,该负责人也几次予以确认。预计他们在明年初会进行公开。
  目前,存在的最大的问题就是如何解决兼容性的问题,对于不支持苹果的Safari,据我所知目前并没有非常清晰详尽的计划。
\
  CSDN:这次的实时互联网大会是由声网Agora.io和美国的权威IT机构TMC联合举办的。作为实时互联网大会的引入方,您认为声网Agora.io对实时通信有何贡献?这对开发人员和整个行业有何影响?
  Daniel:声网Agora.io采取了一种截然不同、极富创新精神的方法来提供可靠的互联网实时音视频通信,他们提供的覆盖网络使通信得到改进。因为公共互联网本身并不是为实时业务而设的,所以为了保证实时通信,需要在公共互联网的基础上进行些改造,才能解决质量方面的根本问题。
  声网Agora.io的实时通信SDK和API,在全球构建了软件实时定义虚拟网(SD-RTN)。 这一网络的优势在于,它仅处理一些简单的库调用,应用程序开发人员无需直接确定他们自己的算法来管理网络带宽和拥塞。他们的方法听起来简单,但后台技术却非常复杂。这等于是为开发者解决了最难的技术和音视频传输的问题,就像取自来水一样简单,这种方法为这些应用程序的日常用户带来了更高质量的实时通信体验。可以说,声网Agora.io提供的实时通信SDK是对开发者十分友好的。
  据我所知,无论是在中国国内还是在亚洲欧美等其他市场,声网Agora.io提供的实时技术能够为更多的垂直行业和细分领域所利用,并改变着这些行业。对于这些垂直行业和细分领域而言,声网Agora.io出色的音视频传输技术为这些行业提供了很好的解决方案,行业中都有比较广泛的应用,商用的前景更可期待。
  CSDN:大会召开在即,中国的实时通信技术开发人员很期待您的来访。您想要对中国的实时通信技术开发人员说些什么?
  Daniel:梦想,探索,创新。在开始WebRTC标准化时,Google和我们其他人都有一个愿景,那就是使每个HTML JavaScript编程人员都能进行实时通信开发,而不是只由少数SIP开发人员掌控。可以从WebRTC和其他实时通信API开始,这无需任何花费。我十几岁的儿子可以在他的空闲时间免费构建一个基本WebRTC应用程序。Web和互联网技术彻底改变了我们的生活,多数成功来自于青少年和高校学生的梦想。我确信,实时通信的最佳应用程序即将出现。
  但这就像一个硬币的双面。因为本身WebRTC是一个开源程序,没有真正的商业化的投入的话,这项技术的潜能可能还没有最大化发挥,从这一点来讲,这也可能对于开发人员是一个需要考虑的问题。
  所以,我们有理由期待有更多的实时通信(RTC)技术和应用可以出现,期待更多的像声网Agora.io这样的RTC技术的创新。
  CSDN:能否透露一下您会在10月28-29日在北京召开的第二届实时互联网大会上带来的观点?
  Daniel:当然。去年我们侧重于WebRTC的基础,今年我们将回顾这些基础,然后探究在过去一年中出现的一些变化。具体来说,我们将讨论我之前提到的低级别控制功能,并展示已经实施的一些功能。我们还会留出一段时间详细说明调试以及有助于实际应用程序的内容。最后,我们将详细讨论安全性,并说明预计将纳入WebRTC 1.0实施之中的其他一些功能,最后展望WebRTC 1.0之后版本的未来发展。
  我还将参加大会的一个重要环节,coding训练营,面向参会的开发者们面授各类coding技巧,到时候现场见。

专题