this post was submitted on 27 Feb 2024
2 points (100.0% liked)

Linux Questions

7 readers
1 users here now

A place to ask Linux-related questions, post advice and suggestions, etc. Any questions pertaining to Linux from novice to greybeard level are welcome. ---- ### Asking Questions: Please provide enough info to for people to actually help you. While there are some things that are generally the same, there is no one "Linux" - every distro has some things they do different and you'll get better answers if you provide some info. And remember the people here are helping you purely out of their own good will - so be nice! If you are encountering a problem, please include: 1. Which distro you are using 2. A brief summary of the problem 3. Any steps you have attempted 4. Relevant details such as hardware specs (see below), application versions, etc. ---- ### Capturing System Specs In almost all cases, posting output from inxi -Fmz - either as in a code block, as a linked file, or as a screenshot - will be appreciated. Some distros may pre-install inxi but on others (such as Fedora), you may need to install it yourself. But we understand that there will be times when you are unable to provide this info (such as with boot problems). The output from inxi info should be safe (especially with the -z option)... But in general,**YOU SHOULD ALWAYS REVIEW OUTPUT AND REMOVE ANY PRIVATE DATA BEFORE POSTING ONLINE** (e.g. replace "Your Name" with `` or something similar - this helps in preventing doxxing, identity theft, and similar issues). - Some common graphical screenshot apps:gnome-screenshot, ksnip, shutter, and flameshot . There are also terminal-based ones like maim and scrot.

founded 1 year ago
 

Well, my issue is simple to explain, but I tried everything to solve it without success.

I like recording gameplays, just for fun. The game I currently make recordings for is not resource heavy (it's Doom 2 through GZDoom). I'm using Lubuntu 22.04.

So, here is the command I've just used:

ffmpeg -f x11grab -draw_mouse 0 -framerate 30 -probesize 42M -video_size 1920x1080 -i :0 -f pulse -i default -c:v libvpx-vp9 -r 30 -g 90 -quality realtime -frame-parallel 1 -qmin 4 -qmax 48 -b:v 4500k -c:a libvorbis prueba.mkv

The issue is, if I record without including the audio, then the video plays smoothly after being recorded. But if I record including the audio, no matter what parameters, codecs, bitrate or anything I use, then the video is barely watchable, with lots of choppiness, and even with delay between audio and video, apparently.

SimpleScreenRecorder works fine, but sometimes there are few frames dropped and I don't like it much. OBS is very heavy for my hardware (Mac Mini 2016, Intel Core i5 1.4 GHz 4260U, Intel HD Graphics 4000, 4 GB RAM).

I also tried VAAPI, with same results as above.

And the thing is that I remember recording some years ago, with no issues at all.

I don't know what to do. Any tip or solution?

top 3 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 8 months ago (1 children)

Your hardware is not powerful enough for the task you're attempting to ask of it, especially due to the weaker CPU and lack of RAM and no GPU. If you're having problems capturing the stream with OBS you won't solve them by shifting to using the terminal instead with ffmpeg as the task is still essentially the same. At a minimum you need 8GB of RAM and a dedicated GPU that can actually encode (Intel graphics are generally not dedicated) otherwise this is a lost-cause goal.

At best you can lower your captured resolution to 720 but I doubt it'll help much without adding a graphics card.

[–] [email protected] 1 points 8 months ago

Then how is it possible that, recording with no sound, my videos run smoothly, with no choppiness or other caveats?

[–] [email protected] 1 points 7 months ago

I'd definately would encode to x264 and use ffmpeg's Intel QuickSync support to save power. Encoding vp9 must be a hard workload for your small machine. Probably the video only doesn't stutter due to interlacing. If you'd want to go hardcore, you could try to profile your task with minimal overhead by using perf record.