2

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 remmina uses 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 remmina, rdesktop, 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?

2
  • For screen recordings, I am using ffmpeg -f x11grab ... in a script that encodes the video on-the-fly to a file in /dev/shm/. It should work with remmina as well.
    – AlexG
    Commented Feb 2, 2023 at 9:39
  • (The script does not record audio.)
    – AlexG
    Commented Feb 2, 2023 at 11:26

1 Answer 1

1

The world has moved on since 2010. AFAIK it's still not possible to MITM an RDP session to create a recording (plenty to steal passwords and NTLM hashes) as can be done with VNC. Bit there are several screen recorders available for Linux. Here's a comparison of some the available screen recorders on Linux. If you are using Gnome desktop, then you already have a screen recorder installed.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .