Sobre el proyecto
Astrofox es un programa de gráficos en movimiento diseñado para convertir audio en videos visuales. Se distribuye como un proyecto de código abierto bajo la licencia MIT y se puede ejecutar como una aplicación web o como una aplicación de escritorio sin conexión.
Flujo de trabajo principal
Los proyectos se abren y guardan como archivos .afx locales. El README señala que los proyectos .json y los proyectos .afx heredados comprimidos con gzip aún se pueden abrir. La aplicación se describe como una aplicación Next.js del lado del cliente, y no se requiere ningún servicio de backend o autenticación para el desarrollo.
Ejecución desde el código fuente
El README documenta un flujo de trabajo basado en pnpm: clonar el repositorio, instalar dependencias con pnpm install, compilar con pnpm build e iniciar con pnpm start. Para desarrollo, pnpm dev ejecuta la aplicación.
Despliegue web
Los commits se despliegan a través de Vercel utilizando el script estándar pnpm build. El README advierte no cambiar este script para el empaquetado de escritorio.
Escritorio (Electron, sin conexión)
El desarrollo utiliza pnpm dev:desktop, que combina un servidor de desarrollo Next con un shell de Electron. El empaquetado de producción utiliza pnpm package, que realiza una exportación estática con BUILD_TARGET=desktop en out/, y luego empaqueta electron/ más out/ con electron-builder. Los instaladores se escriben en release/. Las variantes específicas de plataforma y desempaquetadas están disponibles a través de pnpm package:dir, package:mac, package:win y package:linux.
Entrada/salida de archivos
Las versiones web y de escritorio comparten los mismos selectores del navegador, utilizando la File System Access API con alternativas de entrada/descarga. El puente de Electron está reservado para el chrome de la ventana, archivos temporales y la exportación con ffmpeg, utilizando rutas absolutas solo cuando es necesario. Más detalles se encuentran en docs/desktop-capabilities.md.
Exportación de video
En la web, la exportación utiliza el MediaRecorder del navegador (WebM, o MP4 cuando es compatible). En el escritorio, la exportación realiza una renderización de fotogramas sin conexión y luego utiliza un binario ffmpeg incluido para producir MP4 (H.264/AAC). Los comandos de empaquetado descargan el binario de la plataforma y lo incluyen en bin/.
Comunidad y soporte
El README enlaza a un video de demostración, el sitio web del proyecto, un chat de Discord, un foro de Reddit y un rastreador de problemas de GitHub para informes de errores.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.