Vprix-VncProxy远程桌面代理组件
VprixVncProxy 是 Golang 实现的 Vnc 远程桌面代理组件,完全解析rfb协议,支持远程桌面代理,rbs文件录屏,rbs文件回放,截图,录制视频。
- 全协议支持的VncProxy。
- 支持Tcp代理
- 支持WebSocket代理
- 支持远程桌面操作保存为rbs文件。
- 支持使用rbs文件作为重播服务,通过vnc客户端连接player服务,回放远程桌面的操作。
-
支持实时录制视频。
-
支持通过rbs文件录制视频
-
支持屏幕截图
组件说明
Proxy
- 启动`server`接受`vnc viewer`的链接.
- 启动`client`连接到指定的`vnc server`.
- 为`vnc viewer`和`vnc server`之间建立起消息转发通道。
- 因为`rfb`协议被完全解析,可以针对通信的消息进行转发处理,产生了后续的功能。
Recorder
1. 启动`client`连接到指定的`vnc server`.
2. 发送帧缓冲区更新消息`FramebufferUpdateRequest`到`vnc server`。
3. 处理`vnc server`回复的界面更新消息`FramebufferUpdate`。
4. 把这一过程以`rbs`文件格式记录下来。
Player
1. 启动`server`接受`vnc viewer`的链接.
2. 读取`rbs`文件,并按格式生成`FramebufferUpdate`消息发送给`vnc viewer`。
3. `vnc viewer`的界面就会回放动作。
Screenshot
1. 支持`Proxy`,`Recorder`和`rbs`文件作为输入源。
2. 把当前的界面视图转换为图片文件。
Video
1. 支持`Proxy`,`Recorder`和`rbs`文件作为输入源。
2. 把`FramebufferUpdate`消息转换为视频文件。
已支持的编码格式
- Raw
- CopyRect
- CoRRE
- rre
- Hextile
- Tight
- TightPng
- ZLib
- Zrle
- CursorPseudo
- CursorWithAlphaPseudo
- DesktopNamePseudo
- DesktopSizePseudo
- ExtendedDesktopSizePseudo
- LedStatePseudo
- CursorPosPseudo
- XCursorPseudo
未支持的编码格式
- -jpeg
- jrle
- trle
评论