在 Linux 上将远程桌面 RDP 会话录制/捕获/抓取为视频?

在 Linux 上将远程桌面 RDP 会话录制/捕获/抓取为视频?

我刚刚了解了 RDP,并成功remmina在我的 Ubuntu 机器上使用它来连接到远程 Windows PC。

现在,我想从客户端 (Ubuntu) 端将远程桌面会话录制为视频 - 但是我很难找到可以在 Linux 上使用的内容;我已经发现https://github.com/rdp/screen-capture-recorder-to-video-windows-free但这似乎适用于Windows。我能找到的唯一相关的是https://www.jedi.be/blog/2010/08/30/capturing-the-screen-of-your-virtual-machines-using-x-vnc-rdp-or-native/从 2010 年开始,建议:

录制视频:

(我发现)唯一的方法是将 RDP 会话捕获为视频,即按照 X 会话中的说明使用 ffmpeg,并在 Xvfb 会话中显示 rdesktop。

我真的无法判断是否remmina使用rdesktop- 但我发现https://github.com/muflone/remmina-plugin-rdesktop所以可能不会。无论如何,我可能可以remmina在 Xvfb 会话中打开,否则遵循该方法 - 即用于ffmpeg获取虚拟桌面/Xvfb 会话。

但是,我的想法是:(remmina或它调用的程序)必须在某个点“渲染”像素,我将其视为 RDP 连接的最终结果 - 所以最终,我希望那些原始像素保存为文件;否则,在屏幕上渲染这些像素,然后使用另一个工具 ( ffmpeg) 再次抓取它们,并将它们压缩为视频帧,就会产生开销。

我希望“原始像素”的捕获是未压缩的像素帧,也就是说,捕获的文件大小将会很大 - 但是,然后,我有适当的源材料可以按照我的意愿编码为视频(在单独的ffmpeg编码通道)。

那么,是否有一个已经存在的工具(例如remmina,我rdesktopxfreerdp没有尝试过)可以保存 RDP 远程桌面会话的未压缩/原始像素帧 - 或者可能将这些帧实时编码为视频(所以您不必使用其他工具从屏幕上重新抓取像素来捕获视频)?

我也在想——如果这些工具都不能从 RDP 会话中捕获视频帧,也许有一些代理可以使用?我知道有https://github.com/ribasushi/rfbproxy“RFB 的记录/重放代理(由 VNC 使用)”,其作用类似于 VNC:运行rfbproxy以连接到 VNC 服务器;并使用您的 VNC 客户端连接到rfbproxy;然后以其rfbproxy自己的格式保存 VNC 远程桌面会话的“原始”帧。 Linux 上的 RDP 有类似的东西吗?

答案1

自 2010 年以来,世界已经发生了变化。据我所知,仍然无法像使用 VNC 那样对 RDP 会话进行 MITM 来创建记录(足以窃取密码和 NTLM 哈希值)。有几种可用于 Linux 的屏幕录像机。这是一个Linux 上一些可用的屏幕录像机的比较。如果您使用的是 Gnome 桌面,那么您已经有一个屏幕录像机安装。

相关内容