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 incluye ejecutables portables independientes que integran su propio entorno según tu sistema operativo:
  • Edición Moderna (Recomendado): Diseñado para Windows 10/11, Linux y macOS (requiere Python 3.10+ y PySide6 si se ejecuta desde código fuente).
  • Edición Legacy: Soporte completo para Windows 7, 8 y 8.1 (vía Python 3.8 y PySide2).
  • Herramientas externas requeridas: Requiere tener instalado FFmpeg en el sistema y el paquete gba-dev de devkitPro para compilar las ROMs de forma automática.

🛠 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:
Arriba