>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Kotlin

Un editor de video simple construido con Jetpack Compose y Media3 — Sin anuncios ni rastreadores

Cada vez que necesitas recortar un video corto en Android o eliminarle el audio, se convierte en una odisea. En Google Play, la mayoría de los editores inmediatamente exigen una suscripción, pegan una marca de agua en medio de la pantalla, o te obligan a ver anuncios de casinos. Los editores integrados en la galería frecuentemente recomprimen los archivos hasta dejarlos irreconocibles.

Hace poco me encontré con open-video-editor del desarrollador devhyper. Es una aplicación concisa bajo la licencia GPLv3, escrita completamente en Kotlin usando el stack moderno de desarrollo de Android.

Qué puede hacer la aplicación

El proyecto no intenta competir con herramientas pesadas todo-en-uno móviles como CapCut. El enfoque aquí está en las operaciones básicas que necesitas todos los días:

  • Recorte de video a lo largo de la línea de tiempo (Recortar)
  • Desaturar fotogramas (Filtro de escala de grises)
  • Cambiar resolución y escala (Escala, Resolución)
  • Rotar video 90, 180 o 270 grados (Rotar)

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

La interfaz es sencilla: selecciona un archivo de tu galería, mueve los controles deslizantes, presiona el botón de guardar. Sin perfiles, registro ni compras ocultas.

Cómo está estructurado internamente el proyecto

Para los desarrolladores de Android, el repositorio es principalmente interesante por cómo implementa el pipeline de procesamiento de medios.

Anteriormente, trabajar con video en Android se convertía en un dolor de cabeza: tenías que envolver construcciones pesadas de C++ FFmpeg a través de NDK, o luchar con MediaCodec de bajo nivel. Aquí, el autor optó por la biblioteca oficial de Google Media3 Transformer.

Media3 Transformer maneja la codificación y decodificación por hardware, la sincronización de pistas y la aplicación de efectos gráficos a través de shaders de OpenGL. Si miras el código fuente, el procesamiento de video se reduce a llamadas concisas:

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)

La interfaz está completamente construida con Jetpack Compose. El código es limpio, sin capas de abstracción ni layouts XML heredados. Es una buena referencia si necesitas agregar procesamiento de video simple a tu proyecto y no quieres reinventar la rueda.

Dónde obtenerlo y cómo ejecutarlo

El proyecto se distribuye a través de F-Droid, IzzyOnDroid, Google Play y como lanzamientos de APK en GitHub.

Si quieres profundizar en el código o construir el proyecto localmente, un clon estándar es suficiente:

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

El proyecto se abre en la última versión de Android Studio y se compila sin dependencias externas específicas ni claves de API cerradas.

Para quién es útil este proyecto

Si necesitas una utilidad ligera sin rastreadores para tu teléfono personal, open-video-editor cubre las necesidades básicas de recorte y rotación de video.

Si desarrollas para Android, el proyecto sirve como un ejemplo claro de trabajo con Jetpack Media3 Transformer. La documentación oficial de Google a menudo tiene ejemplos sobrecargados, pero aquí puedes ver código de producción funcionando de una aplicación pequeña y completa.

Proyectos relacionados