Sobre o projeto
Astrofox é um programa de motion graphics projetado para transformar áudio em vídeos visuais. Ele é distribuído como um projeto open-source sob a licença MIT e pode ser executado tanto como uma aplicação web quanto como uma aplicação desktop offline.
Fluxo de trabalho principal
Os projetos são abertos e salvos como arquivos .afx locais. O README observa que projetos .json e projetos .afx legados compactados com gzip ainda podem ser abertos. A aplicação é descrita como um app Next.js no lado do cliente, e nenhum backend ou serviço de autenticação é necessário para o desenvolvimento.
Execução a partir do código-fonte
O README documenta um fluxo de trabalho baseado em pnpm: clone o repositório, instale as dependências com pnpm install, compile com pnpm build e inicie com pnpm start. Para desenvolvimento, pnpm dev executa o app.
Implantação web
Os commits são implantados através da Vercel usando o script padrão pnpm build. O README avisa para não alterar este script para o empacotamento desktop.
Desktop (Electron, offline)
O desenvolvimento usa pnpm dev:desktop, que combina um servidor de desenvolvimento Next com um shell Electron. O empacotamento de produção usa pnpm package, que realiza uma exportação estática com BUILD_TARGET=desktop para out/, e então empacota electron/ mais out/ com electron-builder. Os instaladores são gravados em release/. Variantes específicas de plataforma e não empacotadas estão disponíveis via pnpm package:dir, package:mac, package:win e package:linux.
Entrada/saída de arquivos
Web e desktop compartilham os mesmos seletores de navegador, usando a API File System Access com fallbacks de entrada/download. A ponte Electron é reservada para o chrome da janela, arquivos temporários e exportação ffmpeg, usando caminhos absolutos apenas quando necessário. Mais detalhes estão em docs/desktop-capabilities.md.
Exportação de vídeo
Na web, a exportação usa o MediaRecorder do navegador (WebM, ou MP4 quando suportado). No desktop, a exportação realiza uma renderização de frames offline e então usa um binário ffmpeg incluído para produzir MP4 (H.264/AAC). Os comandos de empacotamento baixam o binário da plataforma e o incluem em bin/.
Comunidade e suporte
O README contém links para um vídeo de demonstração, o site do projeto, um chat Discord, um fórum Reddit e um rastreador de problemas no GitHub para relatórios de bugs.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.