[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 14:57:52 EEST 2016
Carl Eugen Hoyos wrote:
> 2016-09-04 10:37 GMT+02:00 Sven C. Dack <sven.c.dack at sky.com>:
>> On 04/09/16 09:25, Carl Eugen Hoyos wrote:
>>>
>>> 2016-09-04 10:16 GMT+02:00 Sven C. Dack <sven.c.dack at sky.com>:
>>>
>>>> $ 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:
>>>
>>> No!
>>
>> *lol* It used to work like this in the past and it still does
>
> Yes but this is a bug and you will most likely not be
> informed when it gets fixed.
Good to know - I had -r pasted away in my notes.
So in terms of benchmarking it seems to replace -r needs use of vsync 2
- it's horrible without when asking for high fps, but current git does
warn to use it.
For me cpus forced to perf I get -
ffmpeg -vsync 2 -framerate 200 -f x11grab -s 1920x1080 -i :0.0 -vframes
1000 -f null -
frame= 1000 fps=138 q=-0.0 Lsize=N/A time=00:00:07.24 bitrate=N/A speed=
1x
ffmpeg -vsync 2 -framerate 200 -f x11grab -s 1920x1080 -i :0.0 -vframes
1000 -pix_fmt yuv420p -f null -
frame= 1000 fps= 47 q=-0.0 Lsize=N/A time=00:00:21.27 bitrate=N/A speed=
1x
ffm -vsync 2 -framerate 200 -f x11grab -s 1920x1080 -i :0.0 -vframes
1000 -pix_fmt nv12 -f null -
frame= 1000 fps= 33 q=-0.0 Lsize=N/A time=00:00:30.41 bitrate=N/A
speed=0.999x
Which is a quite low (IIRC I managed to get gstreamer to do 60).
My h/w enc needs nv12 and is capable of 2160p60 real time.
Of course it may do 444 just it's not implemented and I guess doing the
CSC on the GPU would be another way to go.
More information about the ffmpeg-user
mailing list