Phone cameras have changed a lot in just a few years. Not too long ago, we were all recording VGA-resolution movies to send to friends and family, and now many flagship phones are capable of recording at 4K resolution and at higher frame rates. Android's camera application still won't save videos larger than 4GB, splitting long recordings into multiple files in the process, but that might finally be fixed.
As highlighted by XDA Developers, a commit in the Android Open Source Project (AOSP) reveals that Google is getting rid of the 4GB splitting behavior. The commit description mentions that the 32-bit file size limitation in recording videos is being removed, so recordings can expand to fill all available space on a phone:
Use 64bit offset in mpeg4writer. Allows us to compose/mux files more than 4GB in size. [...] fallocate() is used to pre-allocate space for MOOV atom dynamically during run time. If required space couldn't be allocated, then recording is stopped and moov atom would be written to the file successfully.
Google has successfully tested saving a file around 32GB in size, and in another test, the company was able to fill up the entire internal storage of a phone with a single recording. It's possible that the completed MediaRecorder API (or the Camera apps made by OEMs) will set an upper limit, but the new limit would likely be much higher than 4GB.
I can't believe videos shot on Android are still artificially split into 4GB chunks, requiring manual stitching. It's almost 2020, yet Android can't test if the fs supports >4GB?
This 4K video cut off and started a new file after only 11 minutes on a Pixel 4, for example. pic.twitter.com/5p9qJXbBwi
— Artem Russakovskii (@ArtemR) November 24, 2019
This could open the door for more phones — like Google's own Pixels — to support recording at higher resolution and frame rates. There might still be hardware limitations to overcome, but at least the software is no longer a bottleneck in the process.
- XDA Developers