25 pontos por GN⁺ 2025-04-13 | 3 comentários | Compartilhar no WhatsApp
  • VERT é uma ferramenta local de conversão de arquivos baseada em WebAssembly que converte arquivos diretamente no navegador, sem usar a nuvem
  • Para reforçar a privacidade, os arquivos são processados no dispositivo do usuário, e no caso de arquivos de vídeo, a conversão por servidor também está disponível opcionalmente
  • Desenvolvido com Svelte e TypeScript, oferece uma UI rápida e intuitiva
  • Não há limite de tamanho de arquivo e há suporte a diversos formatos
  • Oferece um ambiente de implantação fácil com Docker e Bun

VERT: ferramenta de conversão de arquivos baseada em WebAssembly

VERT é uma ferramenta que usa a tecnologia WebAssembly para converter arquivos dentro do navegador do usuário. Como a conversão acontece sem upload para a nuvem, os destaques são a proteção da privacidade e a velocidade de processamento. A demonstração oficial pode ser vista em vert.sh.

Principais recursos

  • Conversão local de arquivos com uso de WebAssembly
  • Sem limite de tamanho de arquivo
  • Suporte a diversos formatos de arquivo
  • Interface de usuário intuitiva baseada em Svelte
  • Funciona localmente por padrão, mas arquivos de vídeo também podem ser convertidos no servidor, e com self-hosting é possível ter processamento totalmente local

Como começar com o projeto

Pré-requisitos

  • É necessário instalar o runtime Bun

Processo de instalação

  • Clone o repositório Git e instale as dependências com o comando bun i

Executando o servidor local

Build de produção

  • Depois de criar o arquivo .env, faça o build do site estático com o comando bun run build
  • O resultado do build é gerado na pasta build e pode ser servido por um servidor web como o nginx
  • Um arquivo de exemplo nginx.conf é fornecido junto
  • É necessário manter a configuração de cross-origin isolation

Ao usar Docker

  • Após clonar o repositório, faça o build da imagem Docker:
    • docker build -t VERT-sh/vert ...
  • Execute o container Docker:
    • docker run --restart unless-stopped -p 3000:3000 -d --name "vert" VERT-sh/vert
  • Ou use o arquivo docker-compose.yml:
    • Gerencie com docker compose up e docker compose down
    • É possível reconstruir a imagem com a opção --build
    • É possível executar em segundo plano com a opção -d

Licença

  • Distribuído como open source sob a licença AGPL-3.0

3 comentários

 
laeyoung 2025-05-12

Parece bom.

 
lifelectronics 2025-04-13

É a primeira vez que deixo um comentário. Vou ficar no aguardo das próximas novidades também.
O fato de funcionar no dispositivo/localmente é impressionante, e a interface é intuitiva, o que é ótimo. Vou experimentar um pouco.

 
GN⁺ 2025-04-13
Comentários do Hacker News
  • ffmpeg é um software excelente e indispensável na internet
  • Existe o ditado: "se você não paga pelo produto, você é o produto"
    • Parece estranho hospedar gratuitamente a parte de conversão de vídeo do servidor usando placa de vídeo etc.
    • Se não houver outra forma de coletar dados além do Plausible, parece difícil sustentar isso no longo prazo
    • Fico me perguntando se há algum outro ponto que explique essa situação
  • Recentemente foram descobertos casos de sites de "conversão gratuita de arquivos" inserindo malware
    • Eu queria montar algo assim em um servidor para a minha família
    • Este projeto corresponde exatamente ao que eu estava procurando
  • O código-fonte está aberto e disponível para uso
    • A licença AGPL é adequada para este produto
    • A AGPL tem uma cláusula de uso em rede, então é preciso divulgar o código-fonte quando o software é usado pela rede
    • Mesmo ao usar um produto SaaS, o código-fonte deve ser compartilhado
  • O projeto é ótimo e útil, mas as informações de analytics com participação automática deveriam estar na página principal
    • Usar Plausible é bom, mas esconder isso no rodapé da tela de configurações reduz a confiança
    • É possível auditar o código-fonte, mas esse não é o ponto principal
    • Espero que este comentário seja recebido como sugestão/feedback
  • Este projeto usa o seguinte
    • libvips (wasm): conversão de imagem
    • ffmpeg (wasm): conversão de áudio
    • ffmpeg (remoto, via vertd): conversão de vídeo, com opção para o host usar ffmpeg wasm
    • Pelo que vi no GitHub, os formatos ausentes normalmente se devem à dificuldade de vincular bibliotecas ao wasm libvps/ffmpeg
  • É uma ótima UI para ffmpeg
    • Seria bom mencionar isso na landing page
  • O Vert é uma versão simplificada de <a href="https://ffmpeg-web.netlify.app/" rel="nofollow">https://ffmpeg-web.netlify.app/</a>;?
  • Vou adicionar este projeto aos favoritos
    • Enquanto a conversão de vídeo exigir upload para um servidor de trabalho, talvez seja melhor chamar ffmpeg diretamente
    • O tempo de upload e download de arquivos grandes pode ser um problema
    • Se a conversão de vídeo puder rodar inteiramente em WASM, esse problema pode ser minimizado
  • Outro projeto: ConvertX