Registrarse

[Herramienta] 🎬 GBA Video Studio | Editor Visual y Compilador Avanzado de Video para GBA

CompuMax

Discord: CompuMax#0425
Miembro insignia


GBA Video Studio
Editor Visual y Compilador Avanzado de Video para Game Boy Advance

✨ Introducción
GBA Video Studio es una potente aplicación de escritorio diseñada para preparar, optimizar y adaptar activamente cualquier material audiovisual al ecosistema técnico de la Game Boy Advance. A diferencia de los encoders tradicionales por línea de comandos, este proyecto ofrece un entorno visual completo tipo "Studio", permitiéndote importar videos, editarlos y exportarlos una ROM independiente reproducible en hardware y como recursos binarios listos para proyectos de descompilación.

🚀 Características Principales
  • Arquitectura Híbrida Qt: Motor inteligente que detecta de forma automática tu entorno para ofrecer la interfaz de usuario más óptima en tiempo de ejecución (PySide6 o PySide2).
  • Editor y Preview Visual Inteligente: Cuenta con controles de reproducción completos, línea de tiempo integrada y previsualización exacta a resolución nativa de GBA (240×160) aplicando transformaciones como Crop (recorte), escalado o Letterbox.
  • Control Fino de Compresión (11 Parámetros): Equilibra perfectamente calidad, peso y consumo de memoria ajustando el tamaño del libro de códigos VQ, iteraciones K-means, compensación de movimiento e intervalo de fotogramas I. Incluye presets listos para usar y la capacidad de guardar tus propias configuraciones.
  • Audio de Alta Fidelidad sin Desincronización:
    - Modo PCM: Audio mono con signo de 8 bits (6500–44100 Hz) con soporte completo de búsqueda.​
    - Modo ADPCM: Compresión IMA ADPCM de 4 bits que reduce el espacio al 50% con frecuencias matemáticamente ajustadas al hardware para evitar tirones por remuestreo y desincronización A/V.​
  • Doble Flujo de Exportación Profesional:
    - ROM Independiente: Genera un archivo .gba funcional con reproductor integrado que incluye controles en tiempo real (Pausa, Silenciar, Avance/Retroceso rápido y Bloqueo de controles).​
    - Integración en Decompilación: Produce código limpio (video.c, video.h) y recursos binarios optimizados listos para inyectarse directamente en proyectos pret (pokeemerald, pokefirered).​
  • Métricas en Tiempo Real: El sistema calcula y muestra de forma detallada el impacto técnico del video final en la memoria ROM, IWRAM y EWRAM de la consola.
  • Cero Acumulación de RAM: Motor optimizado mediante procesamiento GOP en paralelo y matrices de mapeo de memoria (memmap) respaldadas por disco para procesar videos largos sin consumir la memoria del PC.
  • Multilingüe: Interfaz con soporte dinámico para 18 idiomas, intercambiables al instante sin reiniciar la aplicación.

🖼 Capturas de Pantalla


Interfaz visual en español con línea de tiempo y configuración de parámetros.


Resultado final con métricas de memoria.

🎬 Demostraciones
En este video les muestro el flujo completo de trabajo y el resultado de la conversión.
Y a continuación el resultado en pokefirered y pokeemerald-expansion

📦 Requisitos y Descarga
La herramienta se distribuye en instaladores clásicos y ahora también en un formato portable en archivo ZIP (Standalone) que no requiere instalación ni permisos de administrador:

  • Edición Moderna (Instalador): Diseñado para Windows 10/11, Linux y macOS (requiere Python 3.10+ y PySide6 si se ejecuta desde el código fuente).
  • Edición Legacy (Instalador): Soporte completo y optimizado mediante un instalador dedicado para Windows 7, 8 y 8.1 (vía Python 3.8 y PySide2).
  • Edición Portable (Archivo .7z): La misma potencia de la versión Legacy pero empaquetada en un archivo comprimido listo para descomprimir, llevar en un pendrive y ejecutar al instante en Windows 7+.
  • Herramientas externas requeridas: Gracias a la inclusión interna de imageio-ffmpeg, ya no necesitas configurar el PATH de FFmpeg. Solo requiere tener instalado el paquete gba-dev de devkitPro si deseas compilar las ROMs de forma automática; de lo contrario, el programa generará igualmente los archivos de salida listos para usar con los proyectos decompilados de pret.

🛠 Guía Rápida
1. Carga: Abre cualquier archivo de video (Ctrl+O) y ajusta el segmento de tiempo deseado en el timeline.​
2. Filtra: Define si usarás Letterbox o Recorte y pulsa "Aplicar Filtros" para ver la preview de GBA.​
3. Configura: Selecciona un perfil de codificación predeterminado o personaliza los FPS nativos de GBA y el formato de audio (PCM/ADPCM).​
4. Compila: Elige la ruta de salida y presiona "Construir ROM". ¡Tu archivo GBA_Video.gba y tus recursos para decompilación estarán listos en minutos!​

🎮 Controles del Reproductor (ROM GBA)
BotónEfecto en PCMEfecto en ADPCM
START / APausar / ReanudarPausar / Reanudar
BSilenciar / Activar sonidoSilenciar / Activar sonido
DERECHAAvance rápido (3s)No disponible (Limitación ADPCM)
IZQUIERDARetroceso rápido (3s)No disponible (Limitación ADPCM)
SELECTBloquear / Desbloquear controlesBloquear / Desbloquear controles

🤝 Créditos y Agradecimientos
Proyecto open-source bajo licencia GPL-3.0. Inspirado en el reproductor de video GBA de Ausar (ArcheyChen) y las bases conceptuales del códec 8ad de Damian Yerrick (PinoBatch).

☕ Apoya el Proyecto
Si esta herramienta te resulta útil y deseas apoyar mi trabajo, ¡invítame a un café!


🚀 ¡Únete a la comunidad en Discord!

¿Dudas técnicas o quieres mostrar tus avances? ¡Te esperamos en CompuMax Dev's!

Soporte bilingüe y comunidad de desarrollo GBA.

Desarrollado con ❤ por CompuMax
 
Última edición:

M_Alighieri

Dirigente Total del Imperio Kaktiácero
Miembro del equipo
Redactor/a
Miembro de honor
Se agradece mucho el soporte hacia versiones antiguas de Windows como la 7 y la 8, y el resultado obtenido es alucinante para ser GBA, resulta extraordinario que hayas traído algo así.

Sin duda alguna, hemos llegado muy lejos y esto puede abrir las puertas a proyectos muy potentes y a conceptos que apenas hemos explorado todavía.

¡Mil gracias!
 

Xiros

¡Creador de Pokémon Omega!
Miembro del equipo
Administrador
Staff
Miembro de honor
Buenísimo! Me alegra mucho que hayas publicado esto. Es algo que tiene mucho potencial y ahora es problema nuestro pensar como explotarlo para sacar cosas novedosas!
 

Manurocker95

Doctorando en Ingeniería Biomédica & Game Dev
Miembro insignia
¡Mis absolutos 10! Solo puedo decir que es simplemente CINE.


Como detalles (QoL) que me habría gustado así tener de primeras:

- Añadir a las releases una versión "portable" (básicamente sin el setup) por comodidad.
- Añadir la opción a la toolbar File > Build Rom
- File > Select video te lleva siempre a Documents por defecto en vez de la última ruta seleccionada.
- Poder establecer el nombre de la rom final. Me es más útil que las opciones de "when done" las cuales ninguna incluyen "open the build folder" o "open the rom".
- Porcentaje de progreso mientras buildea la rom (para sabeer cómo va). He hecho la prueba con un cap de 25 minutos y no sabía por donde iba tras 5-10 minutos Encoding Video...
- Cuando salta un error/excepción, no se para el Encoding video... En este caso, me imagino que es algo de FFMPEG pero sí que lo tengo linkado en variables de entorno (y ni que decir que tengo DKP).

1782453387710.png


1782453509371.png


1782454463895.png
 
Última edición:

CompuMax

Discord: CompuMax#0425
Miembro insignia
¡Mis absolutos 10! Solo puedo decir que es simplemente CINE.


Como detalles (QoL) que me habría gustado así tener de primeras:

- Añadir a las releases una versión "portable" (básicamente sin el setup) por comodidad.
- Añadir la opción a la toolbar File > Build Rom
- File > Select video te lleva siempre a Documents por defecto en vez de la última ruta seleccionada.
- Poder establecer el nombre de la rom final. Me es más útil que las opciones de "when done" las cuales ninguna incluyen "open the build folder" o "open the rom".
- Porcentaje de progreso mientras buildea la rom (para sabeer cómo va). He hecho la prueba con un cap de 25 minutos y no sabía por donde iba tras 5-10 minutos Encoding Video...
- Cuando salta un error/excepción, no se para el Encoding video... En este caso, me imagino que es algo de FFMPEG pero sí que lo tengo linkado en variables de entorno (y ni que decir que tengo DKP).
Saludos bro!
Este es el tipo de feedback que se espera.
Actualmente estoy trabajando en una actualización, ya que he tenido muchos reportes de "fallos" y se deben casi en su totalidad a la falta de FFmpeg o devkitPro. Así que estoy estudiando la posibilidad de integrar el FFmpeg en el build o buscar alternativas con librería de Python.
Añadir una versión Portable es totalmente posible aunque tendría que ver como manejar el updater en ese caso.
Poner nombre a la ROM final y Agregar la opción File > Build Rom es totalmente posible, así como agregar "open the build folder" o "open the rom" al "When done:" y hacer que recuerde la última ruta abierta durante la sesión aún con la opción Remember File Path desactivada.
Respecto al porcentaje de progreso tendría que ver como implementarlo, ya que sí, para videos largos o de muchos fotogramas puede tardar mucho la fase de Encoding video... que se encarga de extraer todos los fotogramas para poder procesarlos. Se me ocurre también mostrar alguna advertencia para proceder o cancelar dependiendo de los parámetros de conversión, ya que por ejemplo, procesar un video de 25 minutos es casi imposible que entre en una ROM de 32MB y termine fallando tras una larga espera.
El error que muestras solo lo he tenido si no tengo linkeado el FFmpeg en las variables de entorno, por lo que me parece raro que te haya salido. Igualmente estoy preparando un videotutorial para instalar desde el FFmpeg (si sigue siendo necesario en la próxima versión) hasta el devkitPro y la herramienta en sí.
Lamentablemente tras los terremotos del día 24 de junio aquí en Venezuela el internet y la electricidad han estado fallando bastante y no me ha permitido avanzar en la actualización.
Así que les pido un poquito de paciencia y en tu caso específico puedes estar seguro de que tus recomendaciones serán tomadas en cuenta.
:)
 

CompuMax

Discord: CompuMax#0425
Miembro insignia
¡Saludos! Tras el lanzamiento de la primera versión estable, hoy les traigo la primera gran actualización de GBA Video Studio (v1.1.0), cargada de mejoras de rendimiento y calidad de vida.
El objetivo de esta versión es hacer el flujo de trabajo muchísimo más rápido y eliminar dolores de cabeza de configuración.

🚀 Novedades de la versión v1.1.0
⚡ Sistema de Compilación Incremental (¡Más rápido!)

Se acabó el tener que renderizar todo desde cero si solo te equivocaste en un detalle. El motor ahora detecta qué ha cambiado exactamente:
  • ¿Modificaste solo parámetros de video? El programa reconvierte el video y reutiliza el audio que ya tenías procesado.
  • ¿Modificaste solo el audio? Reutiliza el video previo y solo procesa el nuevo audio.
  • Solo procesará todo desde cero si cambias el archivo de origen, la duración o el segmento seleccionado.
🧰 Adiós a la configuración de FFmpeg (Zero-Setup)
Olvídate de estar instalando FFmpeg en Windows y lidiando con las variables de entorno del PATH. He reemplazado la dependencia externa por imageio-ffmpeg integrado en el propio paquete. Ya no requiere intervención del usuario ni instalaciones externas. Solo devkitPro si vas a compilar la ROM.

🎨 Mejoras en la GUI y Control de Hardware
  • Progreso detallado: Ahora la interfaz muestra el porcentaje de progreso real de cada fase de conversión.
  • Alerta de hardware (32MB): Si los parámetros de compresión que elegiste estiman que el archivo final superará los 32MB (el límite físico de un cartucho de GBA), la interfaz te mostrará una advertencia para proceder o cancelar antes de perder tiempo compilando.
  • Nombres personalizados: Ya puedes elegir el nombre de la ROM de salida directamente en el proceso.
  • Automatización "When done": Se añadieron las opciones de "Abrir carpeta de salida" o "Abrir ROM" de forma automática al terminar el proceso.
  • Menú clásico: Añadida la opción File > Build ROM mapeada para los que prefieren usar atajos de teclado.
📦 ¡Ahora también en versión Portable!
Además del instalador clásico, a partir de esta versión distribuyo una versión Portable (Standalone). Ideal para llevarla en un pendrive o ejecutarla en cualquier lado sin necesidad de instalación ni permisos de administrador.

🔧 Correcciones importantes
  • Protección contra borrados: Se corrigió un comportamiento en Windows donde, si no detectaba devkitPro, podía limpiar la carpeta output/ por error. Ahora tus archivos temporales y assets de video/audio en C se quedan a salvo.
  • Compatibilidad .exe: Parcheado el bug de rutas que afectaba la compilación de la ROM cuando se ejecutaba desde la versión empaquetada de Windows.
  • Traducciones al 100%: Añadidas las cadenas faltantes y adaptadas a los 18 idiomas del programa.

🔄 ¿Cómo actualizar?
Si ya tienes instalada una versión anterior, puedes actualizar la aplicación directamente sin descargar todo de nuevo. Solo ve al menú Ayuda > Acerca de y presiona el botón Buscar actualizaciones.

 
Arriba