I see people have asked if it is possible to create a screen recorder using Kodular. The practical answer still is:
However, what if you wanted to achieve a real screen recorder using just the components available in Kodular 1.4B.1? Yours truly did just that.
Spoiler Alert: Youâd get better FPS running Crysis on a Nokia 3310.
A locked FPS would be a bad idea for this project, so the recorder instead makes use of Variable Refresh Rate. Beware, your internal storage will get messy.
This is not a template, just a demonstration. Functionality may change dramatically in any future release (if any; let me know if you guys enjoy this kind of project) and will almost certainly not be compatible with previous releases.
NOTE: Recordings are overwritten. Also, do yourself a favour and donât playback the previous recording while you are recording the screen, since variables are reused.
Screenshots are taken as rapidly as possible, with a metadata storing the timestamp for the VRR to work. The playback utilizes the metadata to properly show the screenshots.
It makes use of the fact that even PowerPoint can be made to show videos if you were to show 24 slides every second (except that the average phone will manage a 4 FPS video using Screen Rekorder).
Good idea!
I was thinking, if you save only a canvas image, then someone makes an extension that can take a list of image files and turn it into a gif, you could make a cool animator!
Youâre absolutely correct. However I merely chose a Canvas to show that changes are indeed recorded by Rekorder. It will work with whatever is on the screen (barring some components like Circular Progress Bar, which vanish magically).
Something to note: Rekorder doesnât need the Canvas; itâs just a way to create large noticeable changes between subsequent frames. The actual Recording would happen irrespective of what components are being shown.
Thought I would have a play with this and built this up over on AppInventor, using @Taifun 's Screenshot extension. Took a different approach and used a clock to fire the screenshots (the main reason being when I ran your blocks in my genymotion emulator I was getting 60 fps!), added a timer selector, and some stats after stopping. I also added a delete images, to help clean up the sdcard Uploaded to Kodular and it works just as well. I am finding on devices I am getting between 4.5 and 7 fps, would like to see it up nearer 10 but the shotter just canât go any quicker!
Screen Rekorderâs first prototype actually used a Timer to lock FPS at 25. I had to implement VRR to improve the stability.
Iâm intrigued by your test results to say the least (itâs GREAT to see others join my outlandish projects! ) and will see what framerates I get on Android Studio. Btw Screen Rekorder R2 has an Average FPS meter.
A Canvas Recorder is infinitely more simple (and efficient) than a Screen Recorder. You can have basically 100% efficiency on a Canvas Recorder, due to the different implementation. A Screen Recorder though⌠Oof.
Btw, A Pixel 3 VM (API 29) on the Android Studio Emulator bags me a whopping 5 FPS (on a decent laptop mind you), so Iâm guessing GenyMotion has some serious optimization. Too bad it has no free version.