[FFmpeg-user] Best way to record video on a computer with a really bad CPU yet really good GPU?

Andy Furniss adf.lists at gmail.com
Sun Sep 4 12:37:48 EEST 2016

happysmash27 at vmail.me wrote:
> I am attempting to screencast using ffmpeg on my PC, but I have one
> problem: it uses too much CPU, even using `-crf=0`. Does anyone know
> how I can reduce this, either using a REALLY lossy format or using my
> Radeon RX 480? Even if it's not that efficient on my GPU, at least it
> will take some load off my Intel Core 2 Quad Q9450...
> Also, for some reason using `-hwaccel auto` still uses CPU. Have I
> compiled it wrong? Or does it really need to use 100% of it...

Polaris is still quite new and there may be issues around power
management that will currently hurt vce encoding perf.

In addition I don't think ffmpeg has all the vaapi encode stuff in place
yet (needs merging). Even when it does there are some issues that need
sorting for AMD.

ffmpeg omx is not an option as it doesn't work at all for AMD VCE
(doesn't handle nv12).

I too have an older CPU (Phenom II 965 = 4x 3.4GHz) compared to GPU and
doing 1920x1080 at 60fps on CPU for me would need to avoid BGR0 -> YUV
converson, -> nv12 is even slower (which is what I would need for h/w enc)

What sort of screen casting are you wanting to do? I mean other
solutions offered may be enough anyway. If you want to do high fps
complex stuff then using libx264rgb as an intermediate for later
conversion may help.

x11grab on my cpu shows up cpufreq on_demand as being useless so setting
cpus to perf may help.

If other suggestions are not enough post back and I'll find up some old
tests/examples, IIRC there's a "hidden" option for libx264rgb to flag as
full range (though maybe a lot of players/ffmpeg will assume full even
if it's flagged limited).

More information about the ffmpeg-user mailing list