Record EVE sessions in Linux: what use?


(Kropotkin) #1

What are people using to record EVE sessions when running in Linux?

I am using Xubuntu.

In Xubuntu 16.04, I used RecordMyDesktop successfully.

In Xubuntu 18.04, EVE itself works, but RecordMyDesktop has been making my mouse not work in EVE.


(elitatwo) #2

Try OpenBroadcast or Kazam.


(Lock Smith) #3

Try SimpleScreenRecorder.


(Ravow) #4

I use to use simplescreenrecorder.

But if your Mesa is up to git date, then OBS (Open Broadcasting) is way better.


(Whitehound) #5

I’m using ffmpeg for almost everything video-related.

So do I use the following to create a screen capture:

#!/bin/bash -f

file=capture.mkv

input="-f x11grab -video_size hd1080 -framerate 60 -i :0.0"
input+=" -f pulse -i alsa_output.pci-0000_06_00.0.analog-stereo.monitor"

video="-bufsize 64M -b:v 4M -qmin:v 15.0"
video+=" -preset:v slow -profile:v main -level:v 6.2 -tier:v high"
video+=" -rc:v vbr_hq -rc-lookahead:v 8 -spatial_aq:v 1"
video+=" -c:v hevc_nvenc"

audio="-ac 2 -b:a 96k -c:a libopus"

subtl="-sn"
meta="-map_metadata -1"
ofmt="-f matroska"

exec ffmpeg -v info $input $video $audio $subtl $meta $ofmt -y $file

The main part of this is that it uses Nvidia NVENC, which encodes it in hardware on the GPU and with X.265 and doesn’t burden the CPU.


(Kropotkin) #6

Thanks to all who responded!

Trying OBS, seems to be working well so far.

ffmpeg suggestion that encodes in GPU hardware rather than CPU is attractive, but am using AMD, not NVIDIA.

Looks like OBS also provides access to GPU encoding hardware, both NVIDIA and AMD:


(Whitehound) #7

When it’s done on the GPU then it captures the screen in full 1920x1080 HDTV resolution at 60 fps and only uses about 5% CPU. This is most useful for capturing 3D graphics like games, because a game’s performance remains almost untouched and doesn’t result in fps drops due to the video encoding.

ffmpeg also allows video streaming (i.e. to www.twitch.tv) when given the proper parameters.


(Ravow) #8

The advantage with OBS is that if you have decent drivers, you can use Window Capture (XComposite) with is way faster than x11grab, at lease in 4K. I think it capture from the backbuffer directly.


(Whitehound) #9

ffmpeg’s old x11grab used to be different, but it was updated a while ago.


(Ravow) #10

Well, I did try to use x11grab about two month ago.

There is a very high amount of skipped frame while I don’t have the issue with OBS (could be not related to x11grab, might try your script). Note that I don’t compress my video stream during recording as even my overclocked Ryzen7 CPU is not enough to live compress 4K properly. It seam that I can only use Hardware video compression for 2K with my RX 480.


(Whitehound) #11

Well, whatever OBS does can also be done in ffmpeg simply because OBS is build on top of the ffmpeg libraries (just as ffmpeg is build on top of many external libraries itself).

When you then see skipped/dropped frames then its because the encoder cannot process them all fast enough. So the input gets dropped of course. That’s just how it works. A 4K screen at 60HZ should produce about 2 GB of data per second (assuming 32-bit per pixel) and it needs to be handled somehow.

You may have to record the session first and encode it later. Or you can also try setting the framerate of x11grab and scale the image down to limit the amount of input to the encoder in the first place.

OBS tries to figure these things out for you and when it gets it right may you get a nicely working app. But in theory should you be able to do exactly the same with ffmpeg. Only with ffmpeg does one have to go through heaps of documentation in order to find the one, single command line switch to get it right. On the other hand does the wealth of options of ffmpeg, which OBS tries to shield you from, allow you to access features you may not even know you have.

I’m simply used to ffmpeg due to the time I’ve been using it. There just wasn’t anything like it back then and ffmpeg still works nicely for all video-related purposes. It sets the standard for many video apps. That said, I did switch from VLC to MPV as my video player, because MPV managed to bring simplicity back (and it’s based on the ffmpeg libraries, too, lol).