历经6年长跑,WebRTC终于在去年迎来了1.0标准(candidate recommendation)的发布,而它也将成为2018年视频通信商业应用场景爆发的主要技术推动力。一站式WebRTC通信技术提供商Zealcomm公司创始人、CEO冯昶对WebRTC在国内外发展历程、行业趋势、技术难点和未来发展做了详细的分析。本文是『WebRTC-互联网音视频新标准?』系列的第三篇,如果您对WebRTC技术的未来有分析和洞见,欢迎联系 contribute@livevideostack.com。

文 / 冯昶

策划 / LiveVideoStack

2018年有可能成为是WebRTC 大规模商用的元年。WebRTC 从谷歌2011年开源到1.0标准落地花了六年多时间 ,中间经过了一个典型的新技术早期起跑(technology trigger)— 热炒 (peak of inflated expectation) — 失落 (trough of disillusionment) — 趋于实用 (slope of enlightenment) 的发展过程。2017年是一个转折点,2018年我们会看到视频通信商业应用场景的大爆发,而WebRTC将成为主要的技术推动力。

WebRTC的前世今生

2011年5月谷歌发布了一个浏览器内嵌的实时音视频通信工具的开源项目,它的核心音视频技术来自谷歌此前收购的两家公司:一家是瑞典VOIP技术公司GIPS,另一家是免版权(royalty free)的美国视频编解码器技术公司ON2,这就是WebRTC 的开始。通常我们所讲的WebRTC标准其实由两部分组成:一个是其核心的流媒体协议栈规范,这个工作是由IETF的RTCWEB Working Group在做;另一个是浏览器API的标准化,这个是由W3C来做。

WebRTC 到目前的发展过程大致可分为4个阶段。第一阶段是从2011年发布到2012年,这个阶段从开始一些工程师对这项新技术的好奇,到geek 圈开始动手做一些好玩的试验项目,WebRTC在很多领域、特别是音视频通信技术界得到的关注迅速升温。第二阶段是2013-2014年的hype期,大家讨论的话题都是WebRTC的颠覆性,在这段时期也出现了不少关于WebRTC的行业会议并且出席率都不错,而很多WebRTC的创业公司也在这个阶段成立。第三阶段是2015-2016年,这个阶段很有意思,一方面我们看到行业巨头们开始进场,比如WhatsApp和Facebook messenger都开始使用WebRTC 作为核心的音视频通信技术;另一方面大多数WebRTC初创公司在商业模式上陷入了困境,其中的原因基本可以总结为两点:一是技术本身商业化还不够成熟,二是市场条件还没到位。

2017 年,我认为是WebRTC作为可商业化技术的里程碑。这主要是源于这一年发生的几件事:一是在11月发布了WebRTC 1.0的标准(candidate recommendation),亲自动手跟过WebRTC的开发者都会有这种体会——谷歌每一版Chrome的发布都需要马上修改自己的code,这其实是一件比较痛苦的事情。二是苹果宣布了对WebRTC的支持,至此也完成对WebRTC 的全平台支持覆盖。三是AOM (Alliance for Open Media) 的完善,随着FB 和 Apple (2018)的加入,AOM已涵盖基本所有互联网高科技领军企业,而AOM从设计上就支持RTC的应用场景, 保证了WebRTC和媒体编解码技术的同步进展。

WebRTC,在国内

国内对WebRTC 的兴趣应该是从2015年开始有比较快的发展。目前开发者大致分为几个层次:最初级的是开发者使用开源代码(客户端)很方便的搭一个P2P的方案,这个基本是没有商用价值的。往上一层则是一些解决方案会加入服务器端功能,来协调多路流的传输和提高稳定性,在这个层面作为一个技术解决方案是可以的,团队的音视频技术积累决定了通话质量和稳定性的好坏,毕竟1-1好做,越多点则难度也会越大,那么媒体服务器就成为其中的关键技术,如果走公网,在网络传输层就需要有很多的实战经验。再往上则是一个平台的产品形态,它需要支持包括管理、分析、API等等的功能,并且在整个平台及网络的设计和运维上达到所谓的运营商级别,这就包括高可用性、可管理性、弹性扩容、安全性等等,而平台功能的高可定制性和支持私有化部署也是相当大的需求。最上层在我看来是生态圈的层面,也就是如何在实时视频的流量上形成一个开放的商业环境,当然这需要一个基于WebRTC的开放的平台作为基础。

WebRTC最佳行业实践

有人统计过在去年年初一共有超过1000个WebRTC项目,再往前的就很难统计,主要因为会嵌入在各个应用场景中。但其实现在已经很少能听到大家专门提到WebRTC,因为如果业务场景有音视频通信的需要时,它基本已经成为默认的解决方案。在视频客服、远程医疗、远程控制等各垂直领域都有比较成熟的解决方案和一些专注的创业公司在开拓。而关注点也已经不再是音视频通信的本身,而是在已经具备音视频通信能力的基础上如何提供高度场景化的客户体验。

那么在WebRTC 解决了互联网音视频通信的技术门槛问题后,有哪些行业能最大或者最快地体现它带来的市场价值。目前可以看到的是,国内的互联网尤其是移动互联网上基于视频互动的各种泛娱乐应用创新层出不穷,并且我相信这一领域还会继续有令人耳目一新的实践应用涌现出来。此外,我个人更偏向关注视频通信在商用场景里的发展,这里除了通常提到的在线教育、在线医疗都还有非常大的想象空间外,企业信息和业务流程的智能视频化是一个趋势,我也非常期待在这些领域看到不断出现好的创新。

特别一提的是,在教育领域WebRTC目前的应用场景其实是很直白的,特别是在线教育和网上虚拟课堂都是典型的强交互性场景,也有不少方案供应商在做专门针对教育领域的通用、专用解决方案。即便如此整个教育行业机会依旧还很大,根本原因是教育资源的空间分布的极度不均衡,它需要有一些技术手段和解决方案消除掉这种“空间障碍”,而WebRTC因其开放性和标准性,是不二的技术选择。可以预见的是,未来随着一些基本通信问题的解决,随之而来的必然是用户体验需求的提升——更高的视频分辨率、更低的端到端延时以及更生动的视频画面呈现就变得更急迫,我相信VR/AR与WebRTC结合的机会、以及基于人工智能的多媒体呈现体验改进将会是行业的热点和突破点。

WebRTC与Codec

WebRTC在对主流编解码的支持上还并不是很好,尤其对于H.265的支持,这里其实牵涉到两个问题。一个是传统的主流视频编解码器大多是针对比较固定的应用场景设计并优化的,应用于码率、帧率、甚至分辨率可根据网络状况实时自适应的RTC应用场景不是很匹配;反观VP8、VP9,包括新一代的AV1编解码器都是在设计上就把RTC 的应用场景考虑在内了。

第二点是版权费的问题。WebRTC的宗旨就是开放和透明,为最大限度地推广这个技术,终端用户必须不被昂贵的编解码版权费所限制。还记得当年谷歌花了很大力气解决了VP8 的版权问题,其目的也是为了除去这个障碍,而我们也看到了MPEGLA很快就宣布H.264(Baseline Profile)免费使用,思科和微软Edge浏览器也宣布了对H.264的支持,其实从某种意义上来说,WebRTC最终还是完成了实际意义上对H.264的支持。对于H.265,我猜想基于VP9和AV1的压力,它有可能会开放免费使用,最起码是在一些限定的应用场景,这其中很有可能就包括WebRTC。对于大家比较期待的AV1而言,目前包括谷歌、微软、英特尔等众多主流厂商参与制定的bitstream格式基本已经完成,因此很可能会在2018年集成到WebRTC中来。

WebRTC与QUIC

QUIC(Quick UDP Internet Connections)协议是一种全新的基于UDP的web开发协议。相比较TCP+TLS,它具有时延低、效率高、灵活性强等优点。Google作为其主要开发和倡导者,已经在Chrome浏览器上试用多年,并取得了较好的效果。将QUIC用于实现WebRTC数据通道(data channel)是比较容易想象的,用它来做实时音视频流媒体的传输则是很有创意的想法,目前还处在可行性讨论的阶段。

从技术角度的匹配似乎很容易可以看到,需要考虑的包括:首先QUIC本身还不是一个IETF标准,其次WebRTC 标准本身的向后兼容不能被破坏,以及把控制过多曝露给上层应用是否会影响到兼容性。比较安全的做法——也是目前主流的意见,是WebRTC会将通信层做得相对独立,在保留现有的通信架构的基础上增加对QUIC的支持。

WebRTC在路上

WebRTC从最初让人激动的发布到现在1.0的落地,花费了六年的时间。在这期间,互联网通信不管是从底层技术,媒体终端,还是应用场景都有很快的发展。回头看看,WebRTC其中一些技术的选择已经显得有点保守了,比如其终端媒体能力描述的形式过度依赖于SDP协议,但反过来讲,要想能制定一个标准就不能老是变。总体而言,能将1.0 定版就是很好的一个成就。而前面也提到,WebRTC最大的成就不在于它的核心技术比其它私有的技术构架有多么了不起的优势,而是在于大大降低了提供音视频通信功能的门槛以及互通互联的开放性。对WebRTC 1.0以后的发展,业界已经开始有不少有意义的反思和建议,包括前面提到对QUIC的讨论,以及在不破坏标准兼容性的前提下如何能给开发者有更多的自由度等等。

那么在探讨它未来发展之前,我们一起看下在开发基于WebRTC的应用的过程中的主要难点,大体可以分为两个方面:客户端侧和服务器侧。客户端侧的问题主要是非浏览器环境的支持,特别是在各种Android盒子和嵌入式设备上调试其多媒体系统,由于终端形态和运行环境的差异,定制化需求比较多,往往每个典型环境的音视频pipeline和媒体优化参数都要做一遍,是比较繁杂的工作。而服务器侧的主要问题在于面对大并发量的使用场景,要有一套优雅、合理的媒体处理框架设计才能保证服务侧系统的高可连接性、可靠性和可扩展性。当然这些问题并不是所有WebRTC用户都会遇到,用户可以尽量根据自己应用场景的要求选择恰当的客户端侧和服务器侧方案,在解决特别复杂的终端环境和实用场景下的问题时,最好是利用第三方经过验证的成熟的方案,避免重复掉到别人摔过的坑里。

回到WebRTC在2018年发展趋势的话题,伴随WebRTC 1.0标准的落地,可以预见各家浏览器厂商和平台厂商未来一年会在稳定性和兼容性方面有持续改进,为开发者提供可靠的应用环境和顺滑的互操作性。同时也会进入前面所提到的最上层的发展趋势,也就是围绕WebRTC 商用的生态圈开始成形。而基于WebRTC的技术和方案提供商则将会进一步细分化、专业化,比如有专注于媒体服务器的、有提供WebRTC媒体网络平台运维监控的、有提供客户端个性化解决方案的。不过从整个行业来看,我们还只是刚刚开始而已。

WebRTCon 2018 7折报名最后一天

除了本文分享,冯昶还将在WebRTCon 2018大会上担任“测试监控和服务保障”专题出品人并做分享,曾担任全球社交类App ooVoo公司CTO,让他积累了超过10亿分钟多点高清视频通话平台经验,并拥有多项视频通信领域国际专利,在WebRTC国内外发展、技术研发难点、平台搭建以及未来趋势有着独到的见解,相信他将为我们呈现一场精彩的专题论坛,一同探讨如何提升音视频服务的保障能力,提升产品鲁棒性?

本专题我们还在积极邀请包括英特尔、阿里巴巴、爱奇艺、哒哒英语的技术大咖。更多详情扫描下图二维码或点击阅读原文

展望2018:WebRTC大规模商用元年相关推荐

  1. 展望2018音视频技术:AV1,AI,区块链,WebRTC

    编者按:音视频技术的历史可能要追溯到19世纪末--特斯拉与爱迪生的伟大时代.直到今天,他们的发明依然伴随我们生活的每时每刻.2018年音视频技术将有哪些突破?来自学霸君的资深架构师袁荣喜从编解码器.客 ...

  2. Google Cloud大规模宕机;中国正式进入 5G 商用元年!苹果发布SwiftUI |开发者周刊...

    CSDN开发者周刊:只为传递"有趣/有用"的开发者内容,点击订阅! 本周热门项目 苹果发布SwiftUI(戳标题查看完整内容) 苹果在 WWDC 上发布了全新的 UI 框架--Sw ...

  3. CSDN周刊:Google Cloud大规模宕机;中国正式进入 5G 商用元年!苹果发布SwiftUI

    CSDN开发者周刊:只为传递"有趣/有用"的开发者内容,点击订阅! 本周热门项目 苹果发布SwiftUI 苹果在 WWDC 上发布了全新的 UI 框架--SwiftUI.跟据官网介 ...

  4. 5G商用元年!最新鲜热辣的使用指南看这里

    请记住今天, 6月6日, 中国发放5G商用牌照! 请记住今年,2019年 中国正式进入5G商用元年! 刚刚, 工信部向中国电信.中国移动. 中国联通.中国广电 发放5G商用牌照. 华为发声: 全力支持 ...

  5. 机器人4.0时代来临!四大核心技术助推大规模商用部署

    来源:北京物联网智能技术应用协会 当前,全球机器人市场规模持续扩大,工业机器人市场增速稳定,服务机器人增速突出.2018 年,全球机器人市场规模达 298.2 亿美元, 2013-2018 年的平均增 ...

  6. 回顾2017,展望2018

    时光如水,一不小心就从指尖流过.真是不知不觉间2017年就要过去了. 这一年可以说经历了各种各样不同的事情,也有着各种不同的目标,有些已经完成了,有些却遗憾的没有达成. 软考网工就是一个我2017年的 ...

  7. 微软公有云Azure落地中国,全面大规模商用

    微软公有云Microsoft Azure已经落地中国,官方网址:http://www.windowsazure.cn/. Microsoft Azure in China简介: 1.2个分别位于上海和 ...

  8. 中国正式进入 5G 商用元年!

    作者 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 6月6日,人民日报公众号发了一篇仅有13字的文章,即"工信部今日发放5G商用牌照." 网友表示,"开启一个 ...

  9. 引领云原生发展浪潮 阿里云开启云原生大规模落地元年

    12 月 23 日,由阿里云主办的 "2020 云原生实战峰会" 盛大开幕,此次峰会以"原生加速·数创升级"为主题,峰会主论坛上德勤中国合伙人刘俊龙.阿里云云原 ...

最新文章

  1. IE8下不识别indexOf的问题
  2. nanopore测序技术专题(六):测序错误率太高无法使用?
  3. python 是什么类型的语言-为什么说 Python 是强类型语言?
  4. 哲学家就餐问题--信号量和互斥量预防死锁
  5. Mathematics for Computer Graphics
  6. MySQL忘记root密码重置密码(5.7版本)
  7. 缓存学习中未命中的缓存情况的处理
  8. DSB2017第一名代码尝试运行(记录自用)(三)
  9. springboot 静态资源访问
  10. HTTP的报文(详解)
  11. 猜数字游戏PYS60版代码分享啦
  12. android密码设成星号,如何将密码字段更改为星号而不是点
  13. 微信输入法,终于来了。。。
  14. 自定义view实现涂鸦(画板)功能
  15. 【IPFS周报-101】查看胡安、V神,诸多大佬的峰会演讲
  16. 1224. 交换瓶子
  17. 20172304 2018-2019-1 《程序设计与数据结构》课程总结
  18. ROS学习笔记(十三):Using Stamped datatypes with tf::MessageFilter
  19. Portapack应用开发教程(十八)NavTex接收 B
  20. 基于微信小程序的实验室管理的postmortem

热门文章

  1. vc6静态库的生成和调用
  2. dlib 怎么安装vs2017_VS2017(Visual Studio2017) 搭建QT5开发环境
  3. 计算机在幼儿园美术区域的应用,让幼儿在美术区域活动中快乐成长!
  4. linux diff 补丁文件夹,LINUX下制作补丁文件 diff,patch
  5. 【java】兴唐第十节课知识点总结
  6. Solr 中遇到的问题
  7. 使用version遇到的那些坑
  8. 前后端交互,网络请求
  9. [微信小程序]手指触摸动画效果(完整代码附效果图)
  10. Swift 教學:如何使用iOS Charts API 製作漂亮的圖表