Hi all, I want to do some screen recording on my linux desktop. And like a normal-functioning member of society, I decided to do it the hardest way and learn ffmpeg CLI to do it. Why? well, something about using underlying tools and customizing their usage excites me.
I have already started doing this, and I am finding I have to do a lot of trial and error to get things right. Before I dive deeper, I want to ask: Am I limiting myself in doing this? Is there anything I could be missing out on taking this route, or something that ffmpeg could not do on its own that a dedicated solution can?
What will I use this for exactly? well, things like recording a video game as I play it (which I suppose will require hardware acceleration to be of viable quality), or recording a tutorial (requiring voice input from mic), things like that.
I don’t know whether it would be impossible to do, but using OBS would be much easier both on the short and long term
As long as you make yourself some aliases for your common ffmpeg commands including flags I’m sure it’s gonna work out fine. Using something like OBS is gonna make it a lot easier of course.
does OBS just do everything with ffmpeg, or does it introduce extra functionality?
It has more functionality
https://obsproject.com/kb/obs-studio-overview
I guess no Wayland support, which is pretty big
Actually there’s some support for Wayland. Tried it last year, but had to do serious rummage trying to make it work. For starters I can recall it spitted a video but the command throwed an error at the end and could not understand why. Also i seem to recall the video stopped way after finishing the command.
Even had to recompile all of ffmeg to add support for wayland recording (though Gentoo makes this really easy). One thing for certain is that Gentoo’s ffmpeg stable version is fairly behind from upstream’s so that could have had a hand on it too.
what do screen recording softwares for wayland use under the hood then?
They use XDG Desktop Portal, which makes video and audio capture system level instead of application level to enhance security. When a program wants to record your screen you get a pop up to choose which screen/window to share. After that the app can only see that window or screen.
I have this bound to a hotkey for quick screenrecording
I wish you success. I’m happy to use SimpleScreenRecorder(https://github.com/MaartenBaert/ssr).
I don’t know of such limitations and I’ve done some screen recording that way. But yeah the CLI options are confusing. The wiki (trac.ffmpeg.org) and libera irc channel #ffmpeg both help.
GNOME has a screen recorder built in, but I use OBS because it’s a swiss army knife of (screen) recording.
Surprisingly, VLC has a simple screen recording feature in the GUI. Record by screen or by individual app.
VLC also has a very comprehensive cli.
vlc -H
gives almost every possible option with useful descriptions of them You can configure everything to your needs. Inputs, outputs, framerate, audio and video encoders, muxers, filters, network live stream or to file or both, in the background, etc. EverythingGUI
One page of the advanced settings options (using the -H option gives me 60 full pages of options in this portrait format)
I’ve used this with success https://flathub.org/apps/com.dec05eba.gpu_screen_recorder