Posted by Caren Chang – Developer Relations Engineer
The Jetpack Media3 library allows Android apps to construct top quality media apps. As a part of the Media3 library, the Transformer module goals to offer simple to make use of, dependable, and performant APIs for transcoding and modifying media.
For instance, apps can use Transformer to use modifying operations resembling trimming a protracted piece of media file, or making use of results to video tracks. Transformer can be used to transform media information from one format to a different, resembling adjusting the decision or encoding of the media file.
Creating Transformer APIs
As a part of the method to introduce new APIs, our engineering group works intently with Google apps resembling Google Images to check and experiment the brand new APIs. Experimental flags are first launched to allow efficiency enhancements. As soon as the outcomes are profitable and conclusive, these experimental options are then constructed into the default API implementations or promoted to public APIs for all apps to make use of. This strategy permits Transformer APIs to be examined on all kinds of units.
Transformer Adoption in apps
Apps which have been utilizing Transformer in manufacturing noticed in-app efficiency enhancements, much less code to take care of, and higher developer expertise. Let’s take a better have a look at how Transformer has helped apps for his or her media-editing use instances.
One in every of customers’ favourite options in Google Images is reminiscence sharing, the place snippets of your life story which can be curated and introduced as Google Images recollections can now be shared as movies to social media and chat apps. Nevertheless, the method of mixing media gadgets to create a video on gadget is useful resource intensive and topic to vital latency, particularly on low-end units. To cut back this latency and allow the characteristic on a wider vary of units, Images adopted Transformer of their media creation pipeline. Together with different enhancements made, the group discovered that Transformer performed an element in decreasing the median consumer latency for creating reminiscence movies by 41% on high-end units and 27% on mid-range units.
The Images app additionally allows customers to carry out media edits resembling trimming or rotating a video. By adopting Transformer APIs for rotating videos, median save latency was lowered by 79% for relevant movies. The app additionally adopted Transformer’s API for optimizing video trimming, and noticed video save latency lower by 64%.
1 Second On a regular basis is a private video journal that helps you create fascinating montages and timelapses. One of many app’s important consumer journeys is sequentially combining quick movies to create a significant film. After adopting Transformer for this use case, the app noticed that video encoding efficiency was as much as 5x sooner, permitting them to discover enabling 4k and HDR help. The Transformer adoption additionally helped lower related code by 30%, making it simpler for the builders to take care of the code base.
BandLab is the next-generation music creation platform utilized by thousands and thousands around the globe to make and share their music. The app initially used MediaCodecs for his or her video creation use instances, however discovered that the low stage implementation resulted in native crashes that have been troublesome to debug. After researching extra on Transformer, the group made the choice emigrate from MediaCodecs to Transformer. Total, it solely took the group 12 working days for the migration, and this resulted in an easier codebase and extra maintainable pipeline for his or her media creation use instances. As well as, the app noticed that every one beforehand noticed native crashes have been not occurring anymore.
What’s subsequent for Transformers?
We’re excited to see Transformer’s adoption within the developer group, and can proceed including new options to help extra media-editing use instances for the Android ecosystem together with:
- Higher help for previewing media edits
- Enhancing the efficiency and developer expertise for video body extraction
- Simpler integration with AI results
- and rather more
Preserve a watch out on what we’re engaged on within the Media3 Github, and file feature requests to assist form the way forward for Transformer!