安装 Guacamole 实现nvc远程控制并进行视频录制

13 阅读2分钟

1、概述

本文档说明如何配置Apache Guacamole以确保VNC连接可以进行视频录制。 本次基于代码参考:github.com/flcontainer…

2、启动容器:该容器已经包含guaca 和pg库。可一键启动

docker run -d    --name guacamole1   -p 8081:8080  -p 4822:4822  -v D:/Desktop/gmd/config:/config   -v D:/Desktop/gmd/recordings:/recordings  flcontainers/guacamole

可用扩展列表:

  • auth-duo: Duo 双因素认证
  • auth-header: HTTP 头认证
  • auth-jdbc-mysql: MySQL JDBC 认证
  • auth-jdbc-postgresql: PostgreSQL JDBC 认证
  • auth-jdbc-sqlserver: SQL Server JDBC 认证
  • auth-json: JSON 文件认证
  • auth-ldap: LDAP/Active Directory 认证
  • auth-quickconnect: 快速连接功能
  • auth-sso-openid: OpenID Connect SSO
  • auth-sso-saml: SAML SSO
  • auth-sso-cas: CAS SSO
  • auth-totp: TOTP 双因素认证
  • vault-ksm: KSM 密钥管理
  • history-recording-storage: 历史记录存储

注意: 多个扩展使用逗号分隔,不要有空格。

检查. 录制扩展必须生成

 tree
 config/guacamole/extensions-available/guacamole-history-recording-storage-1.6.0.jar
 config/guacamole/extensions/guacamole-history-recording-storage-1.6.0.jar

配置VNC录制

在文件:D:\Desktop\gmd\demo\config\guacamole\guacamole.properties添加以下配置

recording-search-path: /recordings
recording-name-format: ${GUAC_DATE}-${GUAC_TIME}-${GUAC_USERNAME}-${GUAC_CONNECTION}
enable-session-recording: true

删除容器,重新执行--》启动容器

三、在 Guacamole 里添加 VNC 连接(Windows 桌面)

前提:
① 已完成上文 “一、安装 Guacamole”
② 已完成 “二、安装 TightVNC Server” 并确认 IP:5900 能在局域网用 VNC-Viewer 正常连接。

1. 登录 Guacamole 管理界面

浏览器访问 http://<Guacamole-IP>:8080/guacamole
默认账号 guacadmin / guacadmin

2. 创建新连接(Connections → New Connection)

字段填写值备注
NameWin10-VNC任意英文名
ProtocolVNC下拉选择
Hostname192.168.x.xWindows 主机 IP
Port5900与 TightVNC 监听端口一致
Password(刚才设置的 VNC 密码)明文保存,Guacamole 会自动提交
Color depth按需选 24/32 位默认即可
CursorRemote本地光标更流畅

会话录制配置(在连接设置中找到录制相关选项):

  • Recording path: ${HISTORY_PATH}/${HISTORY_UUID}
  • Recording name: ${GUAC_DATE}-${GUAC_TIME}
  • Automatically create recording path: ✓ 勾选

其余保持默认,Save 即可。

3. 授权给用户

同一页面切到 Permissions → 把 guacadmin(或新建用户)拖到 "Current users"Update

4. 立即访问

回到 Home → 点击刚创建的 Win10-VNC 卡片 → 秒进 Windows 桌面。

四、视频提取

docker run -v D:/Desktop/gmd/demo/recordings:/recordings -it litios/guacenc

docker 容器执行

cd /recordings
guacenc -f 20251124-021831

windows下执行 或利用docker 转码

ffmpeg -i  20251124-021831.m4v 20251124-021831.mp4

  docker run -v D:/Desktop/gmd/demo/recordings:/recordings -it jrottenberg/ffmpeg:ubuntu   -i /recordings/4c78c580-88e8-3a2d-b47e-34863e7b5f07/20251124-021933.m4v   -c:v libx264 -preset medium -crf 23   -c:a aac -b:a 128k   /recordings/4c78c580-88e8-3a2d-b47e-34863e7b5f07/20251124-021933.mp4

20251124-021831.m4v 20251124-021831.mp4 均可以在windows下运行