视频通讯系统的关键技术与挑战

当咱们观看各种直播时,当咱们与家人朋友进行视频通话时,当咱们利用远程监控查看孩子在幼儿园的情况时,咱们所使用的技术就是视频通讯技术。设计模式

随着现代通讯技术和业务的发展,以传送语言视频为一体的视频通讯业务已经成为通讯领域发展的热点,其在视频会议、远程视频医疗、远程视频教育等方面获得愈来愈普遍的应用。而高效稳定的视频通讯系统是开展各种视频通讯业务的基础。服务器

1、如何构建视频通讯系统微信

构建视频通讯系统是一项综合了数据采集、处理和显示技术数据压缩编解码技术和网络传输技术的系统性工程。而一个基础的视频通讯系统过程主要包含如下三个步骤:网络

1)数据发送方采集数据:包括音频、视频以及文本等多媒体数据。性能

2)经过网络将压缩的数据传送到接收方。优化

3)数据接收方接收到数据后,解码获得多媒体数据,进行显示和播放。网络传输协议

可是在平常的业务中,不一样的业务对视频通讯系统的技术要求的侧重点是不同的,例如:对于视频会议,要求双方或多方的视频通讯过程能实时进行,延时尽量低,同时要保持通讯过程流畅不卡顿;而对于视频监控系统,则对视频清晰度要求较高,能保留画面中的重要细节内容,而对延时比较宽容。编码

尽管不一样的业务有不一样的侧重点,构建一个高效稳定的视频通讯系统,一直是视频通讯运营商的追求。设计

(图1. 构建一套视频通讯系统,是一项综合了音视频处理、编解码以及网络传输等技术的综合性工程。)视频

 

2、如何构建高效稳定的视频通讯系统

1. 数据采集技术要求能高效及时地获取到高质量的原始数据

例如:在实时视频通话应用中,对采集到的音频通常要通过预处理,主要有滤除背景杂音,检测并消除回音等;在监控视频中,则会对采集到的视频进行去雾、改善强光干扰、夜间图像加强等处理。

2. 数据压缩技术:数据压缩中的视频压缩技术,是整个视频通讯系统中的核心技术。

因为原始视频的数据量很是大,若是不通过压缩,将会给传输和存储带来极大的压力。而高效的视频编码技术能在知足传输带宽的限制下保持尽量高的质量,或者在保证必定质量的条件下,得到尽量高的压缩率。

在低延时的业务中,对压缩速度的要求也很是高。好比要达到每秒20帧的帧率,就要求压缩每一帧的时间低于50毫秒,同时还要兼顾到压缩的性能。目前主流的视频编码标准H.264/AVC,能够得到不错的性能和速度的折中。下一代的视频编码标准是H.265/HEVC,虽然其码率相比H.264在同等编码质量的状况下能节省45%,可是因为其专利问题和巨大的计算量,目前尚未获得普遍应用。

在屏幕分享和视频通话业务中,要根据不一样的场景设置分辨率。前者须要看清屏幕文字等细节,对分辨率要求很高;后者,因为人脸整体是平坦的,分辨率则能够设置得低一些。若是是闭环的通讯系统,甚至能够根据具体应用开发非标准编解码技术或改进现有的标准编解码技术。

3. 网络传输技术视频通讯系统的关键技术

压缩后的数据须要根据合适的网络传输协议打包,打包后的数据通过网络传输到接收端,接收端再根据网络协议解析出压缩数据。根据业务类型以及传输数据的类型,须要选取不一样的传输协议。最经常使用的两种传输协议是传输控制协议TCP和用户数据包协议UDP:TCP是面向链接的可靠传输协议,可是延时相对较大;UDP是无链接、不可靠的传输协议,可是延时相对较小。

在视频通讯系统中,主要包括多媒体数据(音频、视频、文本等数据)和控制信令数据(登入服务器,用户链接变更等消息)。其中控制信令数据,起到了调度通讯各方的做用,对整个系统的正常运行很是重要,须要稳定的传输,因此通常采用TCP协议,以达到稳定传输的目的。而对于多媒体数据,因为对延时要求高,并且丢包对整个系统的运行影响不大,每每采用UDP协议,以达到及时传输的目的。

可是这样的选择也不是绝对的,好比在对多媒体数据延时要求不高的业务中,也能够采用TCP。或者根据特定场景开发某种协议,好比基于UDP协议开发一种重传机制的协议,在知足低延时的前提下,同时避免数据传输的丢失致使通讯中断。总之,网络传输技术对于通讯稳定流畅的进行相当重要,须要结合业务自己进行合理设计。

4. 多媒体数据的解码播放视频通讯系统的最后一步。

要达到音画同步,同时避免出现花屏的效果。解码时,须要根据解码标准检测是否丢失了数据,对解码失败的视频帧采起不予显示或请求重发等措施,避免出现不完整解码帧,也就是花屏的现象。同时对音视频的播放,要根据时间戳进行同步播放,不然会极大地影响用户体验。对于解码获得的音频,因为采样率变化、压缩失真等影响,每每要通过滤波、自动增益等处理,从而获得圆润而不刺耳的声音效果。固然,在多人通讯中,首先还要对多路音频进行混音。

 

3、构建高效稳定的视频通讯系统的影响因素

传输带宽的不稳定。网络环境复杂多变,尤为是移动网络环境,传输带宽多是实时变化的。在这样的网络环境下要实现视频通讯的流畅进行,须要编码的输出码率能自适应变化。若是一段时间内网络带宽变得紧张,而编码输出码率仍然较高,则没法及时传输数据,接收方就会出现卡顿的现象,对用户体验影响很大;而当网络带宽有很大富余的时候,若是仍是采用低码率进行编码,则是对带宽的浪费,同时接收方的视频质量也较差。

 

4、解决办法

要实现流畅高质量的视频通讯,编码端须要根据实时的网络状态进行压缩率的调整,这能够经过改变量化参数、改变分辨率或改变帧率等方法实现。而对网络状态的实时感知,就须要网络传输模块对网络状态进行统计监测,并将网络的实时状态信息提供给编码端。

(图2. 网络传输模块根据丢包率等统计信息,向编码器反馈网络状态,编码器根据网络状态对编码参数进行调整,改变输出码率。)

固然也能够设计一种编码端和解码端的正、反馈机制来实现码率控制。具体来讲,能够在编码端设计某种检验码,使得解码端收到消息后可以知道是否丢包,从而进行丢包统计。根据统计结果估计出网络状态,而后给编码端发送反馈信息。根据反馈的信息,编码器一方面能够向解码器从新发送丢失的重要数据;另外一方面也能够得知网络状态,及时实施合适的码率控制措施,使得通讯流畅地进行。采用这种设计模式时,编解码系统就构成了一个完整的闭环系统。此时媒体数据对于网络传输是透明的,于是网络传输模块只须要提供传输通路。

(图3. 解码端根据解码失败率估计网络状态,将信息反馈给编码器,一样能起到码率实时控制的功能。此时网络传输模块不须要关心所传输的内容,只是提供了传输通路。)

 

5、总结:

要保证视频通讯系统的稳定流畅运行,除各个技术模块的性能都足够好以外,还须要各个模块之间合理高效的配合。这其中最主要的是编码模块和网络传输模块的配合,以及编码和解码端的正、反馈机制。

总的来讲,构建一个完善高效的视频通讯系统是一项极其复杂的、须要多项关键技术密切配合的系统性工程;同时也是须要根据业务的具体要求合理地开发和优化的工程。

联系咱们,关注图鸭微信公众号

 

相关文章
相关标签/搜索