1.微信视频通话
流式交互音频/视频应用为人类提供了使用音频/视频进行远程直接交流的便捷沟通手段。在当今中国,类似微信这种即时通信社交软件提供的“视频通话”或者“语音通话”就是十分典型的流式交互音频/视频应用。
使用微信视频通话,不仅可以提供两人通话,还可以为用户提供进行小规模的多人通话的服务。截至2017年9月,微信日均成功通话次数2.05亿次,月人均通话时长为139 min,月人均通话次数19次。微信通话业务的增长速率比微信用户增长的速率还要快,但是,实现如此大规模的微信视频通话并非易事。
微信视频通话这项应用功能,无论是视频流生成还是最终播放,都是在计算能力相对有限的移动端运行的。这就要求微信的视频通话功能需要执行计算的复杂度要尽可能的低。
视频通话是高实时性的应用,为了追求更短的时延,视频数据一般采用处理简单、便捷的不可靠传输方式。这要求视频传输所采用的应用层协议有一定的鲁棒性,要具有对抗一定量数据包丢失的能力。由于实时通信是没有缓冲机制的,视频数据的发送速度要尽可能稳定。
2012年7月,微信4.2版本首次加入视频通信功能时,由于很多用户还是在3G、4G等移动网络下使用微信,每月能使用的流量也相对较低,所以视频通话数据量要尽可能的低。
此外,在实际使用中,由于用户的网络状况和设备性能差异巨大,所以微信视频通话要能够适应不同的网络和设备,而且,由于用户的微信版本更新步调未必一致,这就需要考虑新技术对旧版本的兼容性。另外,海量并发用户对服务器端造成的带宽成本压力也是必须要考虑的问题。总体来说,互联网视频通话是各种互联网视频应用中约束条件最多、最苛刻,也是实现难度最大的一种互联网视频应用。
作为具有世界顶级影响力的软件应用,微信为视频通话进行了很多的精心设计。为了达到各项苛刻的要求,微信从流媒体采样压缩和解压播放等基础工作入手,设计并研发了多媒体应用综合引擎——WAVE(Wechat Audio&Video Engine)。该引擎负责通信时的视频编码压缩和解码工作,还提供保障通信的服务质量(QoS)以及保障不同性能、特色的端设备彼此适配的机制。
在微信视频通话的过程中,发送端的摄像头采集原始的视频数据,经过视频编码、压缩之后,还要对视频流数据进行容错保护,再发送到网络之上。
在网络中,配置有专为保障微信视频通话质量提供服务的QoS服务器。在QoS服务器上,运行着网络适配算法。以期更合理地为每一对通信分配合适的带宽,以保证每一对视频通话都能有公平的机会,都能拥有足够的数据传输速率。
在接收端,首先要对接收到的视频流进行错误恢复,其次对恢复后的数据进行视频解码。最后经过提高视频质量的处理之后显示在接收设备的屏幕上。
另外,接收端还设置有QoS反馈模块,它会根据收到视频的质量、目标设备的计算能力、目前网络的状况等信息,通过服务器,向发送端进行信息反馈。发送端须根据反馈信息来调整合适的视频编码参数,从而保证实时通信能够适应不同的网络状况和设备计算能力。(www.xing528.com)
2.网络视频会议
网络视频会议也是典型的实时交互音频/视频应用。它的出现相比微信要早得多。其最早甚至可以追溯到1964年贝尔实验室的可视电话。在相当一段时间里,视频会议都需要专门的硬件设备来支持,而且不同厂商生产的设备很难兼容,直到国际电信联盟在20世纪90年代推出一系列的视频会议标准。
网络视频会议主要需要解决的最基本技术问题包括视频的编码、解码技术、QoS技术和组播技术。
(1)视频的编码、解码技术。追求更好的视频质量,尽量减少带宽占用是视频会议系统追求的目标之一,这就需要有优秀的编码解码技术。这一方面的进步是随着新的编解码标准的进步而前进的。21世纪以来,主流的视频会议的编码、解码方案大致经历了从MPEG-4到H.264再到H.265的变化。
(2)QoS技术。视频会议属于交互流式视频应用,对于实时性的要求比较高,对网络传输时延变化、网络抖动比较敏感。因此应该提供QoS保障。视频会议系统的QoS多在应用层进行实现。视频会议的QoS一般采用应用层的实时传输协议(RTP)和实时传输控制协议(RTCP)来帮助实现。通过这些协议实现对传输质量的反馈信息,利用反馈信息来修改传输策略,从而保障服务质量。
(3)组播技术。视频会议需要把每个结点采集的视频信息传输到其他结点上。使用IP组播协议当然是一个有利的选择,但一般需要在特定的专用网络内才能较为方便地做这样的设置。视频会议采用的组播方式和前面介绍的流式实时视频类似,是采用应用层的组播。数据从组内的一个成员传送给其他成员,由一系列的单播实现组播效果。
3.IP电话
IP电话也是一种较早出现的流式交互音频应用。IETF(互联网工程任务组)和ITU(国际电信联盟)都制定过IP电话的应用协议。
从应用效果来说,IP电话与普通的电话的音频信号传输方式类似,只不过传输音频信号的不再是专门的电话线路,而是互联网。打电话时的拨号也不是固定的阿拉伯数字,而是对方注册的用户账号。
想要使用IP电话,双方就需要在服务提供方进行注册。当需要通话时,只要双方都有能接入互联网且支持IP电话的设备就可以进行。
IP电话对服务质量有较高的要求,这是实时性比较强的交互式音频应用的共同特点。除了可以像其他实时流媒体应用那样在应用层保障QoS外,IP电话的服务质量也常由网络设备的QoS设置来保障,在网络中的各个路由器,专门为IP电话数据设置了流量预留,保证IP电话能够稳定地通信。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。