Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

How do I confirm that my screen recorder recorded correctly?

If none of the specific sub-forums seem right for your thread, ask here.
Post Reply
Message
Author
kerryhall
Posts: 275
Joined: 2008-08-19 11:06
Has thanked: 3 times

How do I confirm that my screen recorder recorded correctly?

#1 Post by kerryhall »

Debian 10.

I'm trying to record a game with simplescreenrecorder.

I'm doing "select window" mode, recording 1080p@60 fps. Codec is H.264, preset is ultrafast, allow frame skipping is off, fps is set to 60.

At least, that is my goal.

My game is getting 200+ fps, using opengl.

When I review the video, it's very choppy. (But ffprobe shows it being 62.5 fps. I don't object to a higher framerate, but it's wierd that it's not 60) So I'm guessing that it did some frame doubling thing or something for the choppiness to happen.

I do have 32 gigs of ram, which I'm hoping is enough of a buffer for 1080p@60 fps. (Or ideally, at some point, 4k)

Three questions here.

1. How do I record my game at 60 fps without it getting choppy?

2. This one is a bit trickier. In the future, how do I verify that the screen recorder is actually recording at 60 fps? I don't want to not notice an issue, then down the road I have someone point out to me "wow, your video is actually closer to 10 fps if you look at the actual content of the frames. My thought is perhaps use some sort of script, maybe a feature that ffmpeg has built in, to confirm that each frame is sufficiently different. (I would assume I provide some "distance" param that I can tune)

3. Why is the output fps higher than what I specified? Shouldn't it be exactly 60 fps?

User avatar
ruwolf
Posts: 640
Joined: 2008-02-18 05:04
Location: Banovce nad Bebravou
Has thanked: 40 times
Been thanked: 29 times

Re: How do I confirm that my screen recorder recorded correc

#2 Post by ruwolf »

I do not know, but maybe SimpleScreenRecorder cannot record and encode it in your required rate?
How does ffmpeg (or vlc) work with similar settings? Or with faster codec?

cuckooflew
Posts: 677
Joined: 2018-05-10 19:34
Location: Some where out west
Been thanked: 1 time

Re: How do I confirm that my screen recorder recorded correc

#3 Post by cuckooflew »

I have no clue about SimpleScreenRecorder, I use ffmpeg myself, but not much, however when started in the terminal it does how the frame rate,
https://youtu.be/7cIhv0nwkc0

Really you should also try some search foo: Used key words:

Code: Select all

Using ffmpeg How do I record my game at 60 fps without it getting choppy? 
https://trac.ffmpeg.org/wiki/ChangingFrameRate
13 Oct 2018 ... ffmpeg can be used to change the frame rate of an existing video, such that ... This is useful when working with, for example, high-framerate input ... Without setting appropriate output quality or bit rate, the video quality ... If the input video was 60 fps, ffmpeg would drop every other frame to get 30 fps output.
Was the first hit, but there are other tutorials as well, I can not read them all and decide for you which one you prefer, you need to do that your self. Below is a simple example though:

Code: Select all

ffmpeg -i <input> -filter:v fps=fps=60 <output> 
That should produce a video 60 fps, where it says <input> is the name of the video you want to change the frame rate... the above link goes into details.
I use this simple line to record at 60 fpm, :

Code: Select all

sleep 5; ffmpeg -y -video_size 1400x900 -framerate 60 -f x11grab -i :0.0+0,0 output.mp4 
There is much more info on the https://trac.ffmpeg.org/wiki

Doing some search foo for you, I found this:https://www.maartenbaert.be/simplescree ... -to-record
Reduce the frame rate of the application that you want to record

If you're recording at 30 frames per second, it doesn't make much sense to run the game that you want to record at 60 frames per second (or even higher). If you use OpenGL recording, you can check Limit application frame rate to make the application frame rate match the video frame rate. Most modern games are frame rate independent (even if you slow down the frame rate, the game world will still run at the same speed), so this works pretty well. It will typically make the video smoother as well, because no frames need to be dropped.
I know, it says reduce the frame rate, but it seems you should be able to reverse the command to increase it, ahh, nooo, I see now there is no CLI used with Simple Screen Recorder,
https://www.maartenbaert.be/simplescreenrecorder/
Image
I see you should be able to ajust the frame rate, but it looks confusing to me, and much more complicated, is there a manual with this software, ? ( I can't find one) The ffmpeg manual, and wiki is pretty straight forward, simple, but any way, you can use ffmpeg to edit and change the frame rates, quickly, I think the problem is you are trying to use to high of a frame rate. Like it says:
It will typically make the video smoother as well, because no frames need to be dropped
Please Read What we expect you have already Done
Search Engines know a lot, and
"If God had wanted computers to work all the time, He wouldn't have invented RESET buttons"
and
Just say NO to help vampires!

User avatar
stevepusser
Posts: 12930
Joined: 2009-10-06 05:53
Has thanked: 41 times
Been thanked: 72 times

Re: How do I confirm that my screen recorder recorded correc

#4 Post by stevepusser »

Are you trying with or without the "record openGL" option?
MX Linux packager and developer

cuckooflew
Posts: 677
Joined: 2018-05-10 19:34
Location: Some where out west
Been thanked: 1 time

Re: How do I confirm that my screen recorder recorded correc

#5 Post by cuckooflew »

by kerryhall > 2. This one is a bit trickier. In the future, how do I verify that the screen recorder is actually recording at 60 fps? I don't want to not notice an issue, then down the road I have someone point out to me "wow, your video is actually closer to 10 fps if you look at the actual content of the frames. My thought is perhaps use some sort of script, maybe a feature that ffmpeg has built in, to confirm that each frame is sufficiently different. (I would assume I provide some "distance" param that I can tune)
Not tricky at all, again use ffmpeg/ffprobe to check the frame rate, if you are not sure. You can use this on any video, it does not matter what program you used to make the video.

Code: Select all

 $ ffprobe -v 0 -of compact=p=0 -select_streams 0 \-show_entries stream=r_frame_rate screen-shot.mp4  
r_frame_rate=60/1
Where I said "screen-shot.mp4" is the name of the video you want to check.
'ffprobe' comes with ffmpeg:

Code: Select all

man ffmpeg 
---snip-----
SEE ALSO
       ffmpeg-all(1), ffplay(1), ffprobe(1), ffmpeg-utils(1),
       ffmpeg-scaler(1), ffmpeg-resampler(1), ffmpeg-codecs(1),
       ffmpeg-bitstream-filters(1), ffmpeg-formats(1), ffmpeg-devices(1),
       ffmpeg-protocols(1), ffmpeg-filters(1 
A script would be possible, but I don't see the need, just keep the command handy, eg: in a file, mine is named "ffmpeg-screenrecord", and it has various commands in it, I just change the video name, or input/output names accordingly. Then copy/paste it into the terminal. As I learn more about ffmpeg, I add new commands to the file. A script would require input, from the user as well, one would need to type in the input file name, and the output file name,...
Another command to look at the actual content of the frames:

Code: Select all

$ ffprobe -show_streams screen-shot.mp4 2>&1 | \grep fps | \awk '{split($0,a,"fps")}END{print a[1]}' | \awk '{print $NF}' 
60
=============================================================
by kerryhall >3. Why is the output fps higher than what I specified? Shouldn't it be exactly 60 fps?
Seems like it should be, if that was what you entered in the frame rate box.
Do you mean when you use this "simplescreenrecorder" ? I don't know, and it seems there is not really any good documentation, manual etc,...Like there is for ffmpeg,...I suppose the devloper has something written into the program that does that, but with out good documentation, the only thing I can think of is ask the author of the program,.or wait, maybe some one will just know , off the top of their head
==========================================
by kerryhall > I don't want to not notice an issue, then down the road I have someone point out to me "wow, your video is actually closer to 10 fps if you look at the actual content of the frames. My thought is perhaps use some sort of script, maybe a feature that ffmpeg has built in, to confirm that each frame is sufficiently different. (I would assume I provide some "distance" param that I can tune)
All though it is basically simple, it can get complex, and there are so many options, etc...everything that can be done with ffmpeg will not fit into a few posts,..but you might find this interesting:
In a nut shell, ffmpeg can be used to generate previews, these would be useful to you maybe.
https://www.binpress.com/generate-video ... ws-ffmpeg/.
Please Read What we expect you have already Done
Search Engines know a lot, and
"If God had wanted computers to work all the time, He wouldn't have invented RESET buttons"
and
Just say NO to help vampires!

Post Reply