因为疫情的发生,远程办公成为了很多企业的日常工作方式,也让远程控制、远程桌面软件逐渐变成了大家常用的工具之一。
远程控制软件只要简单几步操作,就能让远程电脑秒变“云主机”,实现近似本地电脑的桌面体验。但是,看似简单的背后其实蕴藏着众多技术,想用远程控制软件实现接近本地电脑的操作体验并不容易,清晰度,画面流畅性、延迟等方面都会影响用户的体验,不同软件的表现也各有差异。
通过对比发现,市面上3款免费版远程控制软件:向日葵、TeamViewer以及ToDesk在画面流畅性、延迟等方面均有不同。
在高配置电脑中,使用3款软件同时远控另一台高配置主机,ToDesk画面中的计时器数字最小,说明传输画面出现了滞后,对比向日葵、TeamViewer,平均大约慢了100毫秒,画面也不够连贯。向日葵和TeamViewer则是非常接近,差异只有20~50毫秒,很难让人感知出两款软件之间的区别。
画面延迟高的远控软件,办公时很容易出现鼠标不跟手的情况,移动鼠标后,画面中的指针明显会慢上一拍,影响办公心情,如果用于3D建模、CAD设计那就容易影响工作效率,甚至造成项目进度滞后,无法胜任企业远程办公所需。
远程控制软件为何存在差异?贝锐CTO张小峰解答背后的原因
那么为何同为远程控制软件,实际使用时的画面流畅性却会存在差距呢?为了探究其中的原因,我们有幸联系并采访了贝锐CTO张小峰。
在上述对比测试中,表现突出的向日葵远程控制正是贝锐旗下产品。贝锐从2006年至今已有5000万以上注册用户、3.2亿接入设备,并服务了70多万家企业客户,旗下向日葵称得上是国民远控。
作为国内远程控制行业老牌玩家,向日葵拥有大量领先技术,不止是低延迟、高清画面,甚至实现了业内少有的144帧高帧率。
远控软件的算法是关键,向日葵拥有自研算法SADDC
张小峰认为,向日葵远程控制之所以可以始终保持大幅技术领先,是因为软件使用的相关算法拥有很高的壁垒。其中之一是向日葵不同于大部分远程控制软件,并没有采用通用或开源视频编解码算法,而是拥有一套自研算法——Sunlogin Advanced Desktop Dynamic Codec(简称:SADDC)。
我们也了解到,SADDC是业内为数不多,甚至可能是国内唯一专门针对远程控制场景自研的视频编解码算法。
为何视频编解码算法是远程控制软件的核心技术之一,也是实现低延迟、高流畅度、高帧率的关键,其实和这类软件的工作原理密不可分。
要在本地电脑上操作和显示另一台电脑,简单来说,就需要将本地电脑的操作指令发送给远程电脑,并将远程电脑的画面进行实时回传。
由于操作指令本身涉及的数据量较小,因此影响远程控制软件画面延迟的因素主要集中体现在图像传输方面。这一过程往往要涉及软件对远程电脑画面的实时采集、数据压缩,并将压缩后的数据通过网络,传回本地电脑之后再进行解码,才能最终呈现画面。所以,当网络条件基本相同时,主要性能差距体现在图像压缩、解码环节的算法上。
另一方面,远程控制场景不同于播放在线流媒体,在远程办公过程中,整个画面并不会同时变化。比如:用户远程编辑文档时,除了部分菜单、输入法候选框、鼠标移动位置,其余画面可能类似静态图片,长时间都不会有改变。
如果远程控制软件使用通用的视频编解码压缩画面,被控主机的每一帧画面都要整体进行计算,不仅对算力要求较高,而且会产生大量冗余数据,对网络传输造成较大的压力,往往每秒30帧左右就已经很难兼顾画质和数据量。
此外,大多数通用视频编解码算法为了实现更高的数据压缩率,会将多个被压缩帧标记为I、P、B帧,共同组成GOP后才能顺利完成压缩和解码。这一方式如果用于远程桌面场景就会产生一些问题,不仅无法实现单帧高效率压缩,这类多帧“打包”的计算方式,也带来了较高的延迟,无法实现低延迟画面传输。
SADDC算法为何能够实现低延迟、144高帧率?
向日葵自研的SADDC算法,不同于通用的视频编解码算法,针对远控桌面环境做了大量优化。首先,SADDC会对画面进行智能切片、分区,根据画面复杂程度甚至可以细化到1000~2000个区块,并智能判断画面变化情况,仅对画面有变化的区块进行重新计算、压缩,并进行传输。如此一来,解决了通用编解码算法压缩整个画面会产生大量冗余数据的问题,并大幅降低了算力需求。
此外,SADDC算法不仅能将画面智能切片压缩、计算,而且还会智能判断画面的变化幅度,如果画面中不存在大幅运动物体,会和部分手机屏幕(例如iPhone13 Pro)的动态刷新率类似,自动降低帧率,最低可无感调节至1帧或是暂停画面刷新。例如:用户没有任何操作时的静态桌面就会采用1帧、普通办公场景可能是15帧,视频播放、游戏时则是30~60帧,确保流畅度的同时,进一步降低了传输数据量。
不过,要想实现更高的144帧远控,光靠上述这些技术还不够。在主机配置足够的情况下,向日葵可以充分利用GPU的强大算力,并在GPU“内部”直接实现画面的计算和压缩,并不会将数据转存至系统内存再进行计算,不会产生额外的延迟。同时,由于直接从GPU内部获取图像数据,不仅这一过程几乎不存在延迟,甚至可能先于显示器获得画面。
用技术优化用户体感,进一步提升远控体验
当然,针对不同用户的实际使用需求,除了高帧率,向日葵还进行了极具用户体感的优化。比如:针对目前笔记本、手机等小尺寸高像素屏幕,向日葵会根据屏幕PPI或是系统缩放比例,自动调节分辨率匹配设备屏幕,节省传输数据量的同时,确保画面细节清晰,达到最佳显示效果。
除了最核心的图像算法,为了优秀的操控体验,向日葵在网络传输层面也做了优化。对于鼠标指令的传输,向日葵的通过相关算法来匹配画面,实现精确同步,从而避免了鼠标指针和实际移动轨迹不同步,也就是不跟手的情况。
所以,对于一款远程控制软件来说,要想同时实现低延迟、高帧率的画面传输,其实并不容易,这一背后往往会涉及大量的算法,非常考验厂商的技术实力。
贝锐在技术上永远追求极致
最后,值得一提的是,采访临近尾声时,张小峰还透露了贝锐选择自研SADDC算法的另一个原因。他告诉我们说,之所以会有SADDC算法,也是出于一种对技术的极致追求。
成立于2006年的贝锐,刚推出国民远控向日葵时,市面上几乎没有同类产品,而且通用视频算法也不如目前这么丰富、完善,甚至当时的CPU也不具备足够的算力,无法实时编码H.264、H265这样的视频编解码算法。同时,当时的电脑算力也不像如今这么强大,要想实时处理整个画面,达到流畅的体验是非常困难的。为了解决这些看似无解的难题,实现更为完美的远控体验,贝锐只能选择自研,几乎从零开始自主研发了SADDC算法,从而为当时的用户提供了优秀的远控服务。
正是贝锐经年累月在技术上的坚持不懈和极致追求,以及对技术细节的不断打磨,才使得贝锐能够不断突破技术瓶颈,造就如今向日葵在远程控制、远程连接技术上的优势,拥有低延迟的流畅画面和业内难以达到的144帧高帧率,远远超越了国内同行,甚至称得上领导了国内整个行业的发展。
本文属于原创文章,如若转载,请注明来源:贝锐CTO张小峰:向日葵自研核心远控技术 造就行业领先http://net.zol.com.cn/794/7940131.html