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?
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With