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