网上经常流传着VNC远程桌面时,播放视频是会卡顿的。
我们先看看VNC的通迅协议文档的编码器介绍:
https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#encodings
如下图所示:
从文档看,VNC是支持H264的视频编码,但为什么播放视频时会卡顿呢?
这主要原因是VNC客户端及服务端双方中存在其中一方或双方均不支持H264编码,这是VNC卡顿的重要原因。
当没有实现H264编解码的情况下,双方将会使用大家都支持的编码进行互动。
在众多的编码格式中,除JPEG、H264是需要使用硬件加速外,其它均是软编码,故消耗资源呈波动形状,忽高忽低、忽长忽短,也就明显看到播放视频时卡卡顿顿的情况下。
这也直接说明当前主流的VNC服务端或客户端均是选择性的实现编解码,也许根本没有实现H264的编解码支持。
有哪家实现了VNC的H264呢?有如下两款产品均实现在H264功能。
FeiDesk,内置了VNC客户端和服务端,远程桌面时默认使用H264功能,可在操作界面随意更换编解码。
WoTerm和WoVNCSerser,前者内置了VNC解码器,后者为标准VNC服务器,只有两者同时互通时,才能启用H264功能。