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?

4
  • 1
    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. Commented Feb 2, 2023 at 9:39
  • (The script does not record audio.) Commented Feb 2, 2023 at 11:26
  • Thanks @AlexG - x11grab would capture the entire client desktop, forcing me to crop the remmina output afterwards (or I could run remmina full-screen, but I need it windowed, since I need to pay attention to other stuff on the client desktop); though neat trick with /dev/shm, gave me an idea for a different problem (to save desktop capture at a network location through a mounted nfs directory) Commented Apr 12 at 4:08
  • The script linked above only grabs the application window that you click on when starting the recording session. Commented Apr 12 at 13:59

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.

1
  • Thanks @symcbeam - the world may have moved on, but apparently not far enough to allow easy recording of an RDP output :) In any case, I don't even want to MITM, I just want to save pixels of the transmitted desktop as a video. Screen recorders on the RDP client would capture the entire client desktop, forcing me to crop the remmina output afterwards (or I could run remmina full-screen, but I need it windowed, since I need to pay attention to other stuff on the client desktop). Commented Apr 12 at 4:11

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.