I've been trying off and on for the past few weeks to figure out how to record my 1920x1080 monitor. The recording is going to be some music videos for a friend. Originally, it was just going to be a single background image for the whole video then I had the idea of using [cava](https://github.com/karlstav/cava) in a transparent terminal on top of the background. This didn't work at all because it actually kept freezing when I tried to record it. So I tried switching to [ncmpcpp](http://ncmpcpp.rybczak.net/) visualiser. This still had horrible lag. So I've been puzzling over how to use ffmpeg to *losslessly* record my second monitor. I finally figured it out and have pasted the command below.
If you do *not* want the cursor recorded, add `-draw_mouse 0` directly after `x11grab` like I did in the first command.
My video was 470mb for a ~13 minute video. If you're going to archive the recording or are concerned about file size, re-encode it losslessly but with a slower preset. As the initial recording was lossless and the re-encode is lossless too, there will be no absolutely no loss is quality . . . *anywhere*. I also highly recommend using this as a general purpose screen recorder if you have a low-end system. Previously, I was using OBS and the lag in the video was incredible but with ffmpeg, it's smooth as butter. The command for re-encoding is below: