>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Kotlin

Prosty edytor wideo z Jetpack Compose i Media3 — bez reklam i śledzenia

Za każdym razem, gdy musisz przyciąć krótki film na Androidzie lub usunąć z niego dźwięk, zamienia się to w uciążliwe zadanie. W Google Play większość edytorów natychmiast wymaga subskrypcji, wkleja znak wodny na pół ekranu lub zmusza do oglądania reklam kasynowych. Wbudowane edytory galerii często kompresują pliki do niepoznania.

Ostatnio natknąłem się na open-video-editor autorstwa dewelopera devhyper. To zwięzła aplikacja na licencji GPLv3, napisana w całości w Kotlinie z użyciem nowoczesnego stosu deweloperskiego Androida.

Co potrafi aplikacja

Projekt nie próbuje konkurować z ciężkimi mobilnymi narzędziami all-in-one jak CapCut. Skupia się na podstawowych operacjach, których potrzebujesz codziennie:

  • Przycinanie wideo na osi czasu (Przytnij)
  • Desaturacja klatek (filtr czarno-biały)
  • Zmiana rozdzielczości i skalowanie (Skala, Rozdzielczość)
  • Obracanie wideo o 90, 180 lub 270 stopni (Obróć)

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

Interfejs jest prosty: wybierz plik z galerii, przesuń suwaki, naciśnij przycisk zapisu. Bez profili, rejestracji ani ukrytych zakupów.

Jak projekt jest zorganizowany wewnątrz

Dla deweloperów Androida repozytorium jest przede wszystkim interesujące tym, jak implementuje potok przetwarzania mediów.

Wcześniej praca z wideo na Androidzie była prawdziwym bólem głowy: trzeba było opakowywać ciężkie kompilacje C++ FFmpeg przez NDK lub zmagać się z niskopoziomowym MediaCodec. Tutaj autor postawił na oficjalną bibliotekę Google Media3 Transformer.

Media3 Transformer obsługuje sprzętowe kodowanie i dekodowanie, synchronizację ścieżek oraz nakładanie efektów graficznych przez shadery OpenGL. Jeśli spojrzysz na kod źródłowy, przetwarzanie wideo sprowadza się do zwięzłych wywołań:

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)

Interfejs jest w całości zbudowany z Jetpack Compose. Kod jest czysty, bez warstw abstrakcji czy starszych układów XML. To dobre źródło referencyjne, jeśli chcesz dodać proste przetwarzanie wideo do swojego projektu i nie chcesz wymyślać koła na nowo.

Gdzie pobrać i jak uruchomić

Projekt jest dystrybuowany przez F-Droid, IzzyOnDroid, Google Play oraz jako wydania APK na GitHub.

Jeśli chcesz zagłębić się w kod lub zbudować projekt lokalnie, wystarczy standardowe clone:

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

Projekt otwiera się w najnowszym Android Studio i buduje bez specyficznych zewnętrznych zależności lub zamkniętych kluczy API.

Dla kogo ten projekt jest przydatny

Jeśli potrzebujesz lekkiego narzędzia bez śledzenia na swój prywatny telefon, open-video-editor zaspokaja podstawowe potrzeby przycinania i obracania wideo.

Jeśli tworzysz aplikacje na Androida, projekt służy jako klarowny przykład pracy z Jetpack Media3 Transformer. Oficjalna dokumentacja Google często zawiera przeładowane przykłady, ale tutaj możesz przejrzeć działający kod produkcyjny z małej, kompletnej aplikacji.

Powiązane projekty