概述
本文章主要介绍如何临时解决当前 JumpServer 版本存在录像缺失,无法播放的问题?当前 JumpServer 版本超长时间录像数据超过 500M 以后,Web 端历史会话回放录像时间缺失,离线播放器无法播放。
解决思路
1、转换文件格式
JumpServer 的录像文件为 replay 文件。可以将 replay 文件转换为 MP4 格式,在本地播放器中进行播放。
缺点:该方案的缺点是转换效率较低,分辨率较低,同时,该方式只能支持 Web Termina 录像数据,不支持 Razor 的 RDP 客户端的录像数据。
2、借助第三方视频解析工具
此方案可以解决 RDP 客户端的大录像文件离线播放的问题。可参考:https://github.com/glyptodon/glyptodon-enterprise-player
在线播放工具
该方案提供了在线播放工具:(https://player.glyptodon.com/)
将录像文件从 Web 页面或者后台服务器中下载到本地 PC 机上,解压两次。
导入解压好的文件,既可以进行播放。
录像回放。
此方案可能会带来敏感数据上传公网泄露的风险或者可能会受限于网络因素,效率不高。
配置静态文件在 Web 服务器中
此开源项目中提供页面静态文件可部署在私有 Web 服务器中使用,但需要提前准备 Web 服务器并配置静态文件,操作较麻烦。
此方案需要提前准备一台部署有 Docker 服务的 Linux 机器,或者可以直接部署在 JumpServer 本机中。
①、下载该离线播放器的压缩包
该压缩包为重新构建了 Nginx 镜像将 glyptodon 网页播放器的静态文件,直接打包进 NG 镜像中。该网页暂时无法上传。企业客户可寻找售后进行获取。
②、导入离线播放器的 Docker 镜像
[root@jumpserver ~]# docker load < glyptodon-session-recording-player.tar.gz
43b3c4e3001c: Loading layer [==================================================>] 83.87MB/83.87MB
4553dc754574: Loading layer [==================================================>] 62.04MB/62.04MB
d7783033d823: Loading layer [==================================================>] 3.072kB/3.072kB
f931b78377da: Loading layer [==================================================>] 4.096kB/4.096kB
243243243ee2: Loading layer [==================================================>] 3.584kB/3.584kB
abc66ad258e9: Loading layer [==================================================>] 7.168kB/7.168kB
4a6b5d6d6c36: Loading layer [==================================================>] 19.25MB/19.25MB
Loaded image: glyptodon-session-recording-player:1.0
③、运行离线播放器容器应用
[root@jumpserver ~]# docker run -p 8081:80 --name myplayer --privileged=true -d glyptodon-session-recording-player:1.0
6d80f1216c6b008b93b1bc5593ba8c92ba275269a87fd085ca78a87babe79b97
④、打开浏览器访问
访问 http://IP:8081,上传文件就可以播放