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".