9 votes

Which is the lightest (least memory eating) Screen Recorder for Linux Desktops?

Tags: linux, videos

I know of below four:

  1. Kazam
  2. Vokoscreen
  3. SimpleScreenRecorder
  4. OBS (Open Broadcasting Studio)

My only recording constraints are as follows:

  1. Be able to record the desktop while speaking.
  2. Webcam output containing my little obnoxious face visible in a top/bottom corner.

I don't care about resolutions, etc., even basic 450p/720p is enough for me. I don't care about background music, etc.
But I do care about "light weight", my xubuntu laptop doesn't have very high configuration plus I want to conserve all resources for the actual stuff I'm doing on the desktop.

Which among the above eats the least amount of RAM/CPU while delivering on these two constraints? Based on your experience? I'm not inclined to use OBS as I've heard it's very bloated. Any other suggestions apart from these are also welcome.

1 comment

  1. TintedJellyfish
    (edited )
    Link
    Honestly in my opinion this is probably less about choosing the right software than you might think. On Linux most screen recording software will be using the same piping under the hood (ffmpeg,...

    Honestly in my opinion this is probably less about choosing the right software than you might think. On Linux most screen recording software will be using the same piping under the hood (ffmpeg, gstreamer) And while the UI is definitely not about nothing, its much more important that it lets you set your output encoding settings to something with low enough impact.

    Frankly speaking, I don't have much specific experience using recording software on low-end hardware. This is mostly going to be advice based in theory, pointing you in the right direction, and hoping it still ends up being useful.

    First thing you should do, is find out is if your hardware offers dedicated hardware video encoding. (This link is an article on the Arch Linux wiki, besides package names, it will generally apply to other distributions as well though) Having hardware acceleration means the CPU/GPU has dedicated parts built for video processing, and using them will result in the lowest possible CPU impact.

    Personally I have only ever used OBS, so I know it provides a lot of detailed settings for controlling your recording parameters. I also believe if you turn off the video preview, the impact on performance from OBS itself should be decently low.

    Either way, should you have access to hardware acceleration, make sure to select an appropriate video encoder (most likely VA-API, or NVENC if you have an nvdia gpu) Sadly, in general hardware accelerated recording results in "worse looking" video at the same output size, and has less user facing options to tweak anything. I think it is for this reason, that OBS only shows this option if you select the "Advanced" output mode, and other software may not show it at all. At this point you should ask, or search what the settings you then have available mean, and what impact they may have.

    If you do have to rely on CPU encoding, it might make sense to increase the bitrate which may lower the time spent on reducing the resulting file size. This only makes sense up to a point though, especially if you're not storing the result on an SSD. If the storage can't keep up, Linux will happily use RAM for not-yet written data.

    From here on out I can only recommend you play around with resolution, bitrate and encoder quality settings until you find something that doesn't drop frames, keeps up with your disk, and does not impact whatever stuff you actually want to record. For this I can only recommend at least trying OBS, the "Stats" dock can give quite a good insight into what is happening, and where you might want to tweak your settings further.

    7 votes