Video Processing on Android
summary
Android native MediaCodec provides encoding/decoding primitives but no cropping/scaling/overlay helpers, so the work uses ffmpeg executable (20+ minute per-architecture compile), or ffmpeg shared object via JNI; spawning the exe costs ~15–20s per short clip, JNI build drops to ~8–10s. Licensing and a ~30 MB library size are real costs. A lightweight Java alternative mp4parser supports fast concatenation/trimming/mux/demux (sub-2s for a 30s Big Buck Bunny demo) but cannot re-encode or apply filters.
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:48COMMON FEATURES
- 5:14ANDROID SUPPORT
- 7:43FFMPEG ON ANDROID
- 8:56DEPENDENCIES
- 9:40GETTING STARTED
- 11:22CONFIGURING
- 14:10COMPILING
- 15:31CHANGE PERMISSIONS
- 16:01PROCESS BUILDER
- 17:31FILTER CHAINING
- 18:24PERFORMANCE
- 19:38SETUP FOR FFMPEG.SO
- 22:54NDK MAGIC
- 23:32LOAD SHARED LIBRARY
- 25:25License Compliance Checklist The following is a checklist for LGPL compliance when linking against the FFM
- 27:56FFMPEG PROS
- 28:50FFMPEG CHALLENGES
- 30:09MP4PARSER FEATURES
- 30:37MP4PARSER USAGE
- 33:59RESOURCES
related talks
19mVideo Editing On Android With Media3
18mVideo Editing on Android with Media3
38mRendering Video: A Detailed Look at Video Playback on Android
11mFrom Artifacts to Art: A Data-Driven Guide to Android Video Encoding
47mRewind and Resolve: A deep dive into building Session Replay for Android
13mWhat's new in Android Media
33mNext-gen video codecs and HDR formats in Android Multimedia
43mWhen MediaProjection Isn't Enough
