Architecture de l'éditeur (domaine SceneGraph + moteur Media3) et implémentation Compose
Éditeur vidéo Android — trim, overlays et export sans FFmpeg
Éditeur type statut : Media3 Transformer + Effect (GPU) pour trim, texte/stickers/dessin et export accéléré matériel — stack 100 % Apache 2.0.
- 0
- dépendance FFmpeg
- GPU
- overlays à l'export
- Apache 2.0
- stack libre
Contexte
Besoin d'un éditeur vidéo léger (trim, overlays, export) sur Android, sans dépendance à un wrapper FFmpeg devenu indisponible / non maintenu.
Le problème
FFmpegKit a été retiré de Maven Central : plus de binaires fiables, et un pipeline FFmpeg logiciel est lourd en batterie. Il fallait une stack libre, maintenue, avec accélération MediaCodec.
L'approche
- Media3 Transformer pour trim / composition / export (MediaCodec).
- Media3 Effect (OverlayEffect, BitmapOverlay) pour texte, stickers et dessin en GPU à l'export.
- Aperçu WYSIWYG via CompositionPlayer (même Composition que l'export).
- Séparation SceneGraph (domaine pur) / ViewModel / couche Engine Media3.
Pourquoi ce choix
Media3 remplace FFmpeg pour ce cas d'usage précis : une API unique, licences Apache 2.0, accélération matérielle native — sans embarquer de binaires GPL.
Résultat mesuré
- Éditeur fonctionnel : trim + overlays + export
- Aperçu et export sur la même Composition Media3
- Aucune dépendance FFmpeg / SDK commercial d'édition