从游戏语音到视频社交,一文详解2017实时互联网最热技术

2017 已过大半,从年初盛起的《王者荣耀》、《狼人杀》却依然是最火爆的游戏产品,其共同特性都在于集成了实时语音功能,前者左手走位右手技能,语音自然也就成为了非常必要的属性,而后者更不用说,本就是纯粹依靠实时语音进行下去的游戏。

而从游戏到直播、在线教育/医疗以及 VR/AR、AI 等互联网垂直行业及创新技术,这样的例子还有很多。比如转型做直播的陌陌在最新的 8.0 版本中推出了“快聊”、“狼人杀”、“派对”等实时视频社交玩法;小米在新发布智能音箱中也集成了实时语音云服务。随着互联网服务越来越廉价易得,诸如网络电话、视频通话、全互动直播等实时场景已然成为用户的普遍需求,越来越多的规模化应用基于使用模式及场景集成了实时音视频功能,“实时”俨然已是互联网最热的标签词之一。

从互联网发展历程看 —— 实时通信和互联网交叉融合所带来的改变

但实际上,始建于上世纪 60 年代的互联网本身并非为“实时”所设计,受限于当时的应用场景和技术,再加上不同国家、运营商之间人为制造的屏障,通信技术在实时传输、质量保证等各方面都可谓差强人意。

也正因如此,从互联网诞生之日起,一代又一代的技术人便在对通信技术进行不断地更新升级。1989年,还在欧洲粒子研究中心(CERN)的 Tim Berners-Lee 研制出了三项突破性的数字通信技术:可用于排列文本文件的 HTML 语言、连接文件的 HTTP 系统以及用来对特殊节点信息进行定位的 URL。这三项创新改变了整个通信系统,使得信息能够更容易地穿越计算机网络。而在1993年,Berners-Lee 更是建立起万维网联盟(World Wide Web Consortium,简称 W3C),负责 Web 相关标准的制定。浏览器的普及和 W3C 的推动,使得 Web 上可以访问的资源逐渐丰富起来,然而此时 Web 的主要通信还是浏览器向服务器请求静态 HTML 信息。

不过,同在 1993 年,CGI(Common Gateway Interface,通用网关接口)的出现带动了 Web 上动态信息服务的蓬勃兴起。CGI 定义了 Web 服务器与外部应用程序之间的通信接口标准,Web 服务器可以通过 CGI 执行外部程序,让外部程序根据 Web 请求内容生成动态的内容。

到了 1995 年,NetScape 公司设计的 JavaScript 被用作浏览器上运行脚本语言为网页增加动态性,不仅能够做出非常酷的页面动态效果,还可以减少与服务器端的通信开销,而十年后,也就是 2005 年,当 Google 的崛起掀开了 Web 2.0 的大幕,应运而生的 AJAX 更使得 javascript 再次大放异彩。

我们知道,在 Web 应用中,用户提交表单时就向 Web 服务器发送一个请求,服务器进行接收处理,并返回一个新的网页,前后两个页面中的大部分 HTML 代码往往是一样的,由此也就造成了返回时带宽资源的浪费。而 AJAX 应用仅向服务器发送并返回必要的数据,且在客户端采用 JavaScript 处理来自服务器的响应,更新页面的局部信息。这样不仅让浏览器和服务器的数据交换大大减少,且客户端也可以更快速地响应用户操作。

而到了移动互联网时代,通信技术标准化也就成为了水到渠成的自然现象。在《苹果终于入伙 WebRTC,新一代移动 Web 应用爆发路上还有哪些坑?》一文中,我们曾谈到的 WebRTC 标准便是典型案例之一。

在 2011 年以前,浏览器之间要想实现实时通信,需要私有技术,其中大部分都是通过插件和客户端来安装使用。对于许多用户而言,插件的下载、安装和更新是一个复杂、繁琐和容易出错的操作。而对于开发人员来说,插件的调试、测试、部署、错误修复和维护同样困难重重,且不提还涉及到一些受版权保护的技术,整合相当复杂。再者,很多时候,服务提供商很难说服用户去安装插件。

但这一两头吃力还不讨好的局面就这样被 Google 将 WebRTC 项目开源所打破。2011 年,WebRTC 基于 BSD 协议开源,同年,W3C 启动 WebRTC 计划,让 WebRTC 成为了 HTML5 标准的一部分(目前,该规范还在开发中)。

另一方面,在移动互联网创业大潮涌动之时,不少创业者选择从移动 SDK 切入,将实时通信工具化,开发者及团队无需顾及实时通信背后繁琐的技术原理与逻辑实现,只需在应用开发中集成相应的 SDK 即可轻松实现实时通信功能。这方面的代表性企业可见声网 Agora.io,其提供了一个极简 SDK,让开发者接入 SD-RTN™ 实时虚拟通信网,在任何 App 和网站实现高质量的音频通话、视频通话、全互动直播。

同时,随着网络基础设施到位、硬件配件发展成熟,以及 4G、Wi-Fi 的普及,用户开始对更丰富的功能、场景有了更多的需求。譬如在当前人工智能如火如荼之时,诸多智能设备都集成了实时音视频的功能,前文提到的小米 AI 音箱即是其中之一。

对此,声网 Agora.io CEO 赵斌如此总结道:

中国互联网发展迅猛,基础云服务、开源技术、html5、移动 SDK 等技术,让中国的开发者能最快速地开发移动和网页 App,与世界比肩。下一个风口,一定会是融合了实时通信技术的应用。

那么,在风口之上,实时通信还存在哪些技术难点尚待完全攻克?

接下来,我们进行具体分析。

  • 网络传输:现存的互联网作为冷战时代的产物最早其实是为了用于保障美国通信网络,其在网络传输方面的种种局限也直接导致了现在的互联网在大文件传输、实时传输方面的窒碍难行。而语/视频通信、直播连麦对实时性要求非常高,要求延迟低至几百毫秒,因此,现存的互联网并不能满足这种新型的实时应用场景。
  • 编解码:传统的编解码算法,也非应用于复杂的互联网实时场景的良选,就导致卡顿、模糊等不可用的情况发生。
  • 硬件适配:在音视频通话中,除了延迟,还有一个严重影响用户体验的问题 —— 回声。所谓“回声”,即是指自己的声音传到远端再通过远端的麦克风录音传回来。我们需要通过信号处理算法来进行回声消除,但由于手机的音量控制是非线性的,不同的手机材质、手机壳会导致声音传导性有差异,设备种类差异导致算法不能普适。且Android 手机碎片化严重,也就直接导致了移动端适配工作量庞杂。
  • QoE 质量保障: 来自北欧的实时通信数据测试公司 Callstats.io 曾分享过欧美市场实时通信行业现状的调研数据,基于公网的 WebRTC 通话中有 16% 通话质量不可接受。而实际情况中,类似东南亚、中东这些基建不发达地区会糟糕得多。如何保障 RTC 服务的高连通性、高质量,也就成为了 RTC 领域的一大技术难点。

想要从根源上解决这些问题,还需要先对 RTC 整个技术栈做个了解。

RTC 从功能流程上来讲,包含了采集、编码、前后处理、传输、解码、缓冲、渲染等诸多环节,下图是一个 RTC 通信的粗略流程,每一个细分环节还有更细分的技术模块。比如在前后处理环节,有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有 VP8、VP9、H.264 等。

在这里,来自声网的技术专家分享了他们的实践:

  • 通过专为内容实时传输而设计的网络架构 SD-RTN 解决网络传输问题。在互联网上不同地区的数据中心放置软件组网单元,相互连接互相调度,在现有的公共互联网基础上构建一层新的虚拟网络;
  • 针对互联网信道的实时一对一、多人通讯设计了专门的私有编解码,以适应互联网丢包、抖动、延迟等问题;

  • 将“免”适配和适配相互配合,依靠线上数据的反馈,判断“免”的效果;
  • 基于大数据开发了可供开发者 7*24 查看的“实时数据监控平台”。开发者可以查看的每个用户的通话质量情况,包括网路分布、设备分布、质量分布、通话质量、接通率、通话分钟数等。

值得一提的还有,不少开发者直接将 RTC 和 WebRTC 划上了等号。实际上,WebRTC 是 Google 的一个专门针对网页实时通信的标准及开源项目,只提供了基础的前端功能实现,包括编码解码和抖动缓冲等,开发者若要基于 WebRTC 开发商用项目,需要自行做服务端实现和部署,信令前后端选型实现部署,以及手机适配等一系列具体工作。除此之外,还要在可用性和高质量方面进行大量的改进和打磨,对自身开发能力的门槛要求非常高。而一个专业的 RTC 技术服务系统,除了涵盖上述的通信环节外,实际上还需要有解决互联网不稳定性的专用通信网络,以及针对互联网信道的高容忍度的音视频信号处理算法。当然,常规云服务的高可用、服务质量的保障和监控维护工具都只能算是一个专业服务商的基本模块。

那么,当实时通信无处不在之时,我们该怎么做?

当各式智能硬件、移动应用以及 Web App 中的许多模块都越来越依赖于音视频技术,实时通信已然成为了所有行业的一大基础设施,不仅仅是在直播、游戏这些泛娱乐行业,更渗透到在线医疗、教育、金融等领域。在不同场景下,推动着人们沟通互动方式的改变。

但是,就是这样一个已与各个垂直行业进行深度融合需求庞大的技术领域,却仍然匮乏核心技术高端人才。RTC 核心技术最需求的是通信工程相关专业的人才,而这些专业的应届毕业生此前就业一般集中于华为、爱立信等传统通信行业厂商,也不具有 RTC 的经验,一般都是工作后二次学习。开发者需要对实时通信有更深层次的理解,建立起 RTC 技术体系,帮助自己在各个行业开拓创新的可能。



最后,对于想要进入 RTC 领域的开发者,推荐即将于 9 月 21 -22 日在北京万豪酒店举行的 RTC 2017 实时互联网大会,主要有两点:一是在于集结了实时通信领域非常重量级的大咖,比如 WebRTC 标准之父、IETF 的参与者 Daniel C. Burnett,还有来自Google、声网、Slack、Houseparty、Atlaissian、陌陌、花椒、熊猫等公司的技术专家,可以在现场收获实时通信最新的第一手资源,同时也与讲者们进行更深入的沟通交流。其次,这一会议的分会场设置完全围绕 RTC 技术栈来,从底层到前端,从架构到编解码,从移动开发到行业技术实践,能够帮助所有想要学习 RTC 的开发者建立起学习架构体系。

http://blog.csdn.net/Byeweiyang/article/details/77164940

时间: 2024-07-30 08:46:32

从游戏语音到视频社交,一文详解2017实时互联网最热技术的相关文章

各种音视频编解码学习详解

各种音视频编解码学习详解 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等.最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了.所以豆丁上看不出所以然,从 wiki上查.中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版

atitit.mp4 视频文件多媒体格式结构详解

atitit.mp4 视频文件多媒体格式结构详解 1. 一.基本概念1 2. MP4文件概述2 3. mp4是由一个个“box”组成的,2 4. 典型简化mp43 5. Fragments5 6. ref6 7. 具体列表6 8. Ref29 MP4文件格式详解(ISO-14496-12/14) Author:Pirate Leo Email:[email protected] 1. 一.基本概念 1. 文件,由许多Box和FullBox组成. 2. Box,每个Box由Header和Data组

(1)h264 ,mpeg4 ,aac 等音视频格式及其基础详解

以下一系列文章均来于网络,其目录如下: h264 ,mpeg4 ,aac 等音视频格式及其基础详解 codec类型 mpeg系列——mpeg1和Mmpeg2 mpeg系列——mpeg4 mpeg系列——aac音频 H26x系列 容器(上) 容器(下) 一 基本概念 1 编解码 编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序.这里指的变换既包括将信号或者数据流进行编码(通常是为了传输.存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流

LNMP编译安装之nginx关联php--图文详解

LNMP编译安装之nginx关联php--图文详解 1.前言 之前已经介绍了nginx,php,mysql的编译安装过程,但nginx和php的关联没有涉及,导致网页不能正常使用php功能,所有本编介绍如何将nginx和php进行关联,使*.php文件可以正常在浏览器访问. 2.准备步骤 2.1.修改php-fpm配置文件 cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.confcp /usr/loc

HTML video 视频标签全属性详解

HTML 5 video 视频标签全属性详解 现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE 9.Chrome),都不支持的(IE6.7.8).好吧,现在让我们从技术层面来认识HTML 5的视频,包括video标签的使用,视频对象可以用到的媒介属性和方法,以及媒介事件. Video标签的使用 Video标签含有src.poster.preloa

一文详解达观数据知识图谱技术与应用——技术直播回顾

讲师 | 桂洪冠来源 | AI科技大本营在线公开课 本文根据达观数据桂洪冠在"达观杯"文本智能处理挑战赛期间的技术直播分享整理而成,内容略有删减. ▌一.知识图谱的概述 我们先直观的来看一下什么是知识图谱,下面有一张图,从这张图里可以看到,这个图里圆圈是节点,节点之间有一些带箭头的边来连成,这个节点实际上相当于知识图谱里的实体或者概念,边连线表示实体之间的关系. 知识图谱本质上是一种大型的语义网络,它旨在描述客观世界的概念实体事件以及及其之间的关系.以实体概念为节点,以关系为边,提供一

flex4+fms3.5+cs4开发实时音视频直播及点播详解

开发工具及环境: 1)flash builder4 2)flash cs4 3)flash media server3.5 fms部分 fms是adobe的流媒体服务器,不过是收费的,价格大概是oracle的一半,不过还是觉得挺贵的.adobe提供控制连接数的开发人员版,除了这点具体和完全版一样.服务器的配置网上很多,大家一搜就一大把. 其中关键的是: 由于需求是不仅要提供直播,而且还能点播历史音视频.而as的NetStream的publish方法提供的录制功能是将录制的视频放在直播的同一个文件

HTML 5 video 视频标签全属性详解

现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE 9.Chrome),都不支持的(IE6.7.8).好吧,现在让我们从技术层面来认识HTML 5的视频,包括video标签的使用,视频对象可以用到的媒介属性和方法,以及媒介事件. Video标签的使用 Video标签含有src.poster.preload.autoplay.loop.control

果园农场种植游戏复利拆分模式app系统开发详解

330复利拆分果园游戏app系统开发(苏公子.188.1414.7927)皮皮果游戏开发,玫瑰庄园游戏开发,复利拆分游戏开发,330模式开发,330果园系统开发,复利拆分农场系统开发,英伦果开发,皮皮果游戏介绍,地点的移动.由于移动互联设备小巧的外形,它天生具有可以移动的特征,人们可以拿着它随时随地随身的查询信息.办公.娱乐.购物等,在快节奏的生活方式中,可以随时移动和携带终端设备,在公交车.地铁.火车等特殊场合也可以随时接入网络,接受信息,提高了人们的办事效率,加快信息传播的速度. 果园复利拆