Figuring out how to render timelapses into video on Android. Thankfully there are some FOSS apps that allow you to render a video from individual frames.
Figuring out how to render timelapses into video on Android. Thankfully there are some FOSS apps that allow you to render a video from individual frames.
I was able to get ffmpeg up and running via termux and was able to convert it into webm! Unfortunately there seems to be no way that I can figure to point Krita at it so that I can handle the rendering in-app, but it’s better than nothing.
I learned how to render a video with ffmpeg on termux!!!

Took 20 minutes to render this though

Guess I better think twice before I go to create a feature length film on this crusty old tablet of mine
For Android users who may be very interested in doing this, can you give links to the ffmpeg and termux sources and any information or tutorial types of articles about them?
VERY IMPORTANT TO DO THIS FIRST: Make sure to change the recording directory on the Recorder docker BEFORE recording or else Krita will save the images to your root directory and you’ll have to use a file explorer cabable of viewing root folders to copy them to your home directory!
ffmpeg can be installed on termux pretty easily. It’s just
pkg install ffmpeg
Although I did run into a dependency error when I first tried it, that was also easily fixed with
pkg upgrade -y
At first, I used an app called TimeLapse I installed from F-Droid to turn the images into an mp4, and then converted to webm with ffmpeg.
ffmpeg -i example.mp4 example.webm
But after looking around in the documentation on the ffmpeg website I found in the examples how to convert a set of images to a video file.
So basically all I do is cd to the directory and then type the command
ffmpeg -framerate [X] -i %07d.png -s [width]x[height] example.webm
The first -framerate sets how many fps the images will be displayed in.
-i tells ffmpeg that the next filepath is the input.
“%07d” basically tells the program to look for a 7-digit string of numbers, which is what we need as Krita saves the frames that way, and it will start at the lowest number (unless that number is greater than 4, in which case you have to add the argument “-start_number x-1”, for example “-start_number 150-1”. Just remember that arguments go BEFORE the -i for input). If the filenames are formatted as example-0000.png for instance, you would type “example-%04d.png” as the filenames are prefixed with “example” and then have a series of four digits after them.
-s sets Width x Height (for example, -s 1920x1080), the reason it took so long to render the first time was because I didn’t reduce the resolution at all.
And the “example.webm” is the name if the output that you want.
So how I rendered this one here
was by going to the directory of the recorded snapshots of the timelapse I wanted to render and typing
ffmpeg -framerate 10 -start_number 208-1 -i %07d.png -s 877x1240 thumbsup.webm
The reason I had to add the -start_number was because the timelapse I recorded was recorded on the same canvas as the previous, which meant I had to move the relevant files to a new directory.
Of course if you’re not concerned with the format or the specifics, then the aforementioned TimeLapse will do the job much easier than fiddling with ffmpeg on termux.