I have just learned about RDP, and have successfully used
remmina on my Ubuntu machine to connect to a remote Windows PC.
Now, I would like to record that remote desktop session as video from the client (Ubuntu) side - however I have difficulty finding what I can use for that on Linux; I have found https://github.com/rdp/screen-capture-recorder-to-video-windows-free but that seems to be for Windows. The only thing relevant I could find is https://www.jedi.be/blog/2010/08/30/capturing-the-screen-of-your-virtual-machines-using-x-vnc-rdp-or-native/ from 2010, which recommends:
Recording a video:
The only way (I found) is to capture the RDP session as a video is to use ffmpeg as explained in the X-session, with rdesktop displayed in Xvfb session.
I cannot really tell if
rdesktop - but I've found https://github.com/muflone/remmina-plugin-rdesktop so it probably doesn't. In any case, I could probably open
remmina in an Xvfb session instead, and otherwise follow that approach - that is, use
ffmpeg to grab the virtual desktop/Xvfb session.
But, what I'm thinking is:
remmina (or a program it calls) must at a certain point "render" the pixels, that I'm seeing as the end result of the RDP connection - so ultimately, I'd like those original pixels saved as files; otherwise there is overhead of rendering those pixels on screen, and then having another tool (
ffmpeg) grab them back again, and compressing them as a video frame.
I'd expect the captures of "original pixels" to be uncompressed frames of pixels, that is, file sizes of a capture will be huge - but then, I'd have proper source material to encode as a video as I wish (in a separate
ffmpeg encoding pass).
So, is there an already existing tool (like
xfreerdp which I haven't tried yet) that would save the uncompressed/original pixel frames of an RDP remote desktop session - or possibly, encode those frames as video in real-time (so you don't have to use another tool to re-grab the pixels from screen in order to screen capture a video)?
I was also thinking - if none of these tools can capture frames of video from the RDP session, maybe there is some proxy that can be used? I know there is https://github.com/ribasushi/rfbproxy "a record/replay proxy for RFB (used by VNC)" which can act like that for VNC: you run
rfbproxy to connect to a VNC server; and with your VNC client you connect to the
rfbproxy instead; then
rfbproxy saves the "original" frames of the VNC remote desktop session in its own format. Is there something like that for RDP on Linux?