Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the frame rate of screen record

Tags:

android

adb

I am using then adb screenrecord functionality to record a video of my game. I know that the default bitrate is 4Mbps. But what about the frame rate?
How can I know what is the frame and how to change it?

like image 278
Snake Avatar asked Apr 09 '15 18:04

Snake


2 Answers

It is not possible to force frame rate value at the time the screen is being recorded. However, a lot of software have trouble in handling variable frame rate. The workaround I stumbled across is to use the ffmpeg command line utility and do something like this:

ffmpeg -i "test.mp4" -c:v libx264 -preset ultrafast -crf 15 -r 30 -threads 8 -c:a copy "test_new.mp4"

This will convert test.mp4 video into test_new.mp4 with a fixed frame rate of 30 fps. I know the original question is quite old but maybe it will help someone.

like image 65
Couitchy Avatar answered Sep 25 '22 06:09

Couitchy


The frame rate is variable, not fixed. Every time the screen is updated, one frame is recorded. If the screen is not updated, no frame is recorded. Therefore there is no setting for the frame rate, because it's determined by how quickly the system updates the screen.

On most devices this will be a maximum of 60fps. If you want to record at a lower rate, or have a fixed-rate video, you will need to use something like ffmpeg to convert it.

Some more information can be found on the bigflake page.

To see this in action, you can enable the --bugreport flag in screenrecord v1.2 (first shipped in Android 5.0 "Lollipop"). This gives each individual frame a number and a timestamp. You can see it in action in this video.

like image 45
fadden Avatar answered Sep 26 '22 06:09

fadden