Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Devfest London- Unlocking Jetpack Media3: Beyon...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for Kubra Kubra
December 16, 2025

Devfest London- Unlocking Jetpack Media3: Beyond Playback

For many Android developers, Jetpack Media3 is synonymous with ExoPlayer and video playback. But Media3 has grown into a powerful, modular toolkit that can handle everything from real-time video previewing to advanced media transformations — and even custom video editing workflows. In this talk, we’ll go beyond playback and explore the hidden capabilities of Media3: - Frame extraction with the new ExperimentalFrameExtractor for high-quality thumbnails and timeline previews - Editing and effects with Transformer and Effect APIs — from speed changes to overlays - Real-time previewing with CompositionPlayer - Understanding when to use preview vs export workflows Whether you’re building a social media app, a sports highlight editor, or simply want to level up your media handling skills, you’ll leave with a toolkit of ideas (and code) to take Media3 far beyond just playback.

Avatar for Kubra

Kubra

December 16, 2025

More Decks by Kubra

Other Decks in Technology

Transcript

  1. Media3 - MediaSessionService Enables your media service to run in

    the foreground, handling: - Notification management - Playback resumption - Service lifecycle and foreground state management - Resource management
  2. Media3 - PastPort demo app AI-powered photo time machine, built

    with Google’s Nano Banana 🍌 Firebase API 🔥
  3. Media3 - Vibe effect demo app - Goal: Let users

    describe a look. Gen AI produce a sequence of video effects to preview instantly. - Key principle: AI does not touch pixels. AI only returns a JSON description of effects. Rendering happens on-device with Media3 + OpenGL.
  4. Media3 - Vibe effect demo app - AI layer: Firebase

    Vertex AI for Android (`GenerativeModel`) calling “gemini-2.5-pro” with a strict JSON schema. - Effect parser: “GenAIEffectParser” turns AI JSON into Media3 `Effect` objects and custom OpenGL effects. - Video engine: Media3 Transformer “CompositionPlayer” plays a “Composition” built from an “EditedMediaItem” + “Effects”. - GPU effects: Media3 “GlEffect”/”GlShaderProgram” for custom GLSL; built-in Media3 effects for common adjustments. Scan for repo!