On 04/09/16 07:46, happysmas...@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...

The first thing you can do is to reduce the frames that get grabbed per second. try this:

$ ffmpeg -f x11grab -s 1920x1080 -i :0.0 -f rawvideo /dev/null
(I.e. 30fp/s, 2gbit/s)

This will tell you how fast you can grab at the most. Here the screen size is set to be 1920x1080. Then reduce it with the "-r" option:

$ ffmpeg -f x11grab -s 1920x1080 -r 10.0 -i :0.0 -f rawvideo -y /dev/null
(I.e. 10fp/s, 600mbit/s)

You can then scale the video down to reduce the amount of data further to give the encoder less work:

$ ffmpeg -f x11grab -s 1920x1080 -r 10.0 -i :0.0 -s 1280x720 -f rawvideo -y /dev/null
(I.e. 10fp/s, 300mbit/s)

Then put it through the encoder:

$ ffmpeg -f x11grab -s 1920x1080 -r 10.0 -i :0.0 -s 1280x720 -c:v libx264 -crf 15 out.mkv
(i.e. 10fp/s, 1000kbit/s)

I am not sure if the "-crf" value has much impact on the CPU usage. Try using the "-preset" parameter instead:

$ ffmpeg -f x11grab -s 1920x1080 -r 10.0 -i :0.0 -s 1280x720 -c:v libx264 -preset fast -crf 15 out.mkv

You can try "fast", "faster", "veryfast", "superfast". See the encoder options for more detail. There should also be some documentation about screen grabbing in general at the ffmpeg web site.

Sven

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to