>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Kotlin

Ein einfacher Video-Editor mit Jetpack Compose und Media3 — Ohne Werbung oder Tracker

Jedes Mal, wenn du ein kurzes Video auf Android schneiden oder daraus Audio entfernen musst, wird es zur Odyssee. Auf Google Play verlangen die meisten Editoren sofort ein Abonnement, pappen ein Wasserzeichen auf die halbe Bildschirmfläche oder zwingen dich, Casino-Werbung zu schauen. Eingebaute Galerie-Editoren komprimieren Dateien oft bis zur Unkenntlichkeit.

Kürzlich bin ich auf open-video-editor vom Entwickler devhyper gestoßen. Es ist eine kompakte App unter der GPLv3-Lizenz, die vollständig in Kotlin mit dem modernen Android-Entwicklungsstack geschrieben wurde.

Was die App kann

Das Projekt versucht nicht, mit schwergewichtigen Mobile-All-in-One-Tools wie CapCut zu konkurrieren. Der Fokus liegt hier auf grundlegenden Operationen, die du jeden Tag brauchst:

  • Videos entlang der Timeline schneiden (Trim)
  • Einzelne Frames entsättigen (Grayscale-Filter)
  • Auflösung und Skalierung anpassen (Scale, Resolution)
  • Videos um 90, 180 oder 270 Grad drehen (Rotate)

Telefon-Screenshot 1 Telefon-Screenshot 2 Telefon-Screenshot 3 Telefon-Screenshot 4

Die Benutzeroberfläche ist unkompliziert: Datei aus der Galerie auswählen, Schieberegler anpassen, Speichern-Button drücken. Keine Profile, Registrierung oder versteckte Käufe.

Wie das Projekt intern aufgebaut ist

Für Android-Entwickler ist das Repository vor allem interessant wegen der Art und Weise, wie es die Medienverarbeitungspipeline implementiert.

Früher wurde die Arbeit mit Video auf Android zum Albtraum: Entweder musste man schwere C++-FFmpeg-Builds via NDK einwickeln oder sich mit Low-Level-MediaCodec herumschlagen. Hier hat sich der Autor für Googles offizielle Media3 Transformer-Bibliothek entschieden.

Media3 Transformer übernimmt Hardware-Encoding und -Decoding, Track-Synchronisation und das Anwenden von Grafikeffekten durch OpenGL-Shader. Wenn du dir den Quellcode anschaust, reduziert sich die Videoverarbeitung auf prägnante Aufrufe:

val editedMediaItem = EditedMediaItem.Builder(mediaItem)
    .setEffects(
        Effects(
            listOf(audioProcessor),
            listOf(presentation, rgbFilter)
        )
    )
    .build()

val transformer = Transformer.Builder(context)
    .setVideoMimeType(MimeTypes.VIDEO_H264)
    .build()

transformer.start(editedMediaItem, outputPath)

Die Benutzeroberfläche ist vollständig mit Jetpack Compose aufgebaut. Der Code ist sauber, ohne Abstraktionsschichten oder Legacy-XML-Layouts. Es ist eine gute Referenz, wenn du einfache Videoverarbeitung zu deinem Projekt hinzufügen möchtest und nicht das Rad neu erfinden willst.

Woher bekommen und wie ausführen

Das Projekt wird über F-Droid, IzzyOnDroid, Google Play und als APK-Releases auf GitHub verteilt.

Wenn du in den Code eintauchen oder das Projekt lokal bauen möchtest, reicht ein einfaches Klonen:

git clone https://github.com/devhyper/open-video-editor.git

Das Projekt lässt sich in der neuesten Android Studio öffnen und baut ohne spezifische externe Abhängigkeiten oder geschlossene API-Keys.

Für wen das Projekt nützlich ist

Wenn du ein leichtgewichtiges Tool ohne Tracker für dein privates Handy brauchst, deckt open-video-editor grundlegende Anforderungen beim Videoschneiden und -drehen ab.

Wenn du für Android entwickelst, dient das Projekt als anschauliches Beispiel für die Arbeit mit Jetpack Media3 Transformer. Die offizielle Dokumentation von Google enthält oft überladene Beispiele, aber hier kannst du funktionierenden Produktionscode aus einer kleinen, vollständigen Anwendung betrachten.

Ähnliche Projekte