>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

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

Un semplice editor video costruito con Jetpack Compose e Media3 — Nessuna pubblicità o tracker

Ogni volta che hai bisogno di tagliare un breve video su Android o rimuoverne l'audio, si trasforma in una quest. Su Google Play, la maggior parte degli editor richiede immediatamente un abbonamento, appone un watermark su metà schermata, o ti costringe a guardare pubblicità di casinò. Gli editor integrati nella galleria spesso ricomprimono i file oltre il riconoscibile.

Recentemente ho scoperto open-video-editor di developer devhyper. È un'app concisa sotto licenza GPLv3, scritta interamente in Kotlin usando lo stack moderno di sviluppo Android.

Cosa può fare l'app

Il progetto non cerca di competere con strumenti pesanti mobile all-in-one come CapCut. Il focus qui è sulle operazioni base di cui hai bisogno ogni giorno:

  • Taglio video lungo la timeline (Trim)
  • Desaturazione dei fotogrammi (Filtro grayscale)
  • Cambiamento risoluzione e scaling (Scale, Resolution)
  • Rotazione video di 90, 180 o 270 gradi (Rotate)

Phone screenshot 1 Phone screenshot 2 Phone screenshot 3 Phone screenshot 4

L'interfaccia è diretta: seleziona un file dalla galleria, sposta i slider, premi il pulsante salva. Nessun profilo, registrazione, o acquisti nascosti.

Come è strutturato il progetto internamente

Per gli sviluppatori Android, il repository è principalmente interessante per come implementa la pipeline di elaborazione media.

In precedenza, lavorare con video su Android si trasformava in un mal di testa: dovevi o wrappare build C++ pesanti di FFmpeg tramite NDK, o combattere con API di basso livello MediaCodec. Qui, l'autore ha optato per la libreria ufficiale Google Media3 Transformer.

Media3 Transformer gestisce encoding e decoding hardware, sincronizzazione tracce, e applicazione di effetti grafici tramite shader OpenGL. Se guardi il codice sorgente, l'elaborazione video si riduce a chiamate concise:

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)

L'interfaccia è interamente costruita con Jetpack Compose. Il codebase è pulito, senza strati di astrazione o layout XML legacy. È un buon riferimento se hai bisogno di aggiungere semplice elaborazione video al tuo progetto e non vuoi reinventare la ruota.

Dove scaricarlo e come eseguirlo

Il progetto è distribuito tramite F-Droid, IzzyOnDroid, Google Play, e come release APK su GitHub.

Se vuoi approfondire il codice o buildare il progetto localmente, un clone standard è sufficiente:

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

Il progetto si apre nell'ultima versione di Android Studio e builda senza dipendenze esterne specifiche o chiavi API chiuse.

A chi è utile questo progetto

Se hai bisogno di un'utilità leggera senza tracker per il tuo telefono personale, open-video-editor copre le esigenze base di taglio e rotazione video.

Se sviluppi per Android, il progetto serve come esempio chiaro di lavoro con Jetpack Media3 Transformer. La documentazione ufficiale di Google spesso ha esempi sovraccarichi, ma qui puoi guardare codice di produzione funzionante da un'applicazione piccola e completa.

Progetti correlati