Skip to content

Latest commit

 

History

History
281 lines (219 loc) · 15.8 KB

File metadata and controls

281 lines (219 loc) · 15.8 KB
Logotipo do EncodeX

O poder do FFmpeg. Sem a linha de comando.

EncodeX — a interface gráfica FFmpeg gratuita e de código aberto para Windows, macOS e Linux.

Baixar · Site · Documentação

Ask DeepWiki CI License Release Downloads Stars Forks Watchers Issues Pull Requests Last Commit Contributors Repo Size Languages Top Language TypeScript Electron React Vite MUI FFmpeg Vitest Node.js PRs Welcome

👋 Introdução

O EncodeX é a interface gráfica gratuita e de código aberto do FFmpeg que leva todo o seu poder para uma interface de desktop moderna e intuitiva. Ele permite converter mídia entre formatos, extrair áudio, cortar vídeos e comprimir imagens — tudo por meio de uma interface limpa e responsiva, com fila em lote, aceleração de hardware, modo CLI e internacionalização completa.

Quer que um assistente de IA faça o trabalho? O EncodeX também vem com um servidor MCP integrado, para que ferramentas como Claude Desktop, Cursor, VS Code e agentes personalizados possam converter e gerenciar sua mídia por você por meio do Model Context Protocol — ainda 100% na sua própria máquina.

Por que o EncodeX?

  • ✅ Gratuito para sempre — código aberto (MIT), sem tier pago
  • ✅ 100% privado — seus arquivos nunca saem da sua máquina
  • ✅ Sem conta, sem cadastro, sem rastreamento
  • ✅ Sem marcas d'água, sem limite de tamanho de arquivo, sem anúncios
  • ✅ Powered por FFmpeg — 51 codecs de vídeo, 27 codecs de áudio, 56 formatos de pixel
  • ✅ Aceleração de hardware — NVIDIA, Intel, AMD, Apple Silicon para encodes rápidos
  • ✅ Processamento em lote — converta pastas inteiras de uma vez
  • ✅ Servidor MCP pronto para IA — controle o EncodeX a partir do Claude, Cursor, VS Code e agentes personalizados
  • ✅ Multiplataforma — Windows 10+, macOS 11+, Linux
  • ✅ 35+ idiomas com suporte a RTL

✨ Recursos

  • 🔄 Conversão de mídia — 51 codecs de vídeo, 27 codecs de áudio, 56 formatos de pixel com controles de codec/bitrate/escala/qualidade
  • 🌀 Rotação e espelhamento — Gire vídeos e imagens em 90°, 180° ou 270° no sentido horário e espelhe-os horizontal ou verticalmente; na cópia de fluxo MP4/MOV/MKV, a rotação é salva como metadados sem perda
  • 🎛️ Perfis de conversão — mais de 140 predefinições em 8 categorias (YouTube, Instagram, TikTok, Apple, Android, ProRes, HLS e mais) com criação de perfis personalizados e rastreamento de uso recente
  • ⚡ Aceleração de hardware — NVIDIA NVENC, Intel QSV, AMD AMF, VAAPI, Apple VideoToolbox, Media Foundation
  • ✂️ Corte de vídeo — Corte preciso por frame com reprodutor integrado (pipes de rawvideo + PCM, Canvas + Web Audio) e linha do tempo com zoom (forma de onda + montagem de miniaturas)
  • 📋 Fila em lote — Processamento paralelo (até 4 tarefas simultâneas) com progresso em tempo real, erros por tarefa, pausar/retomar, reordenação por arrastar e soltar, edição de opções da tarefa, filtros de status, exportação/importação JSON e ações de energia ao concluir (desligar/suspender/hibernar)
  • 🖼️ Compressão de imagens — JPEG/PNG/WebP/BMP/GIF/TIFF com qualidade/escala, visualizador de EXIF, histogramas RGB/luma
  • 🎵 Extração de áudio — Qualquer um dos 27 codecs de áudio a partir de qualquer arquivo de vídeo
  • ℹ️ Informações de mídia — Análise completa por stream: codec, perfil, resolução, metadados de cor, taxa de quadros etc.
  • ⌨️ Modo CLI — Scripts sem interface (headless) com subcomandos (convert, info, capabilities, compress, extract-audio, batch)
  • 🤖 Servidor MCP — Servidor Model Context Protocol integrado: 13 ferramentas principais, 3 recursos e 4 prompts via stdio (encodex --mcp), além de um endpoint HTTP localhost integrado que adiciona 6 ferramentas com paridade com a GUI (fila ao vivo, prévia, linha do tempo, informações do sistema, atualizações). Execute conversões únicas ou gerencie tarefas assíncronas a partir do Claude Desktop, Claude Code, Cursor, VS Code ou de qualquer cliente MCP
  • ⚙️ 3 núcleos de transcodificação — API do FFmpeg (fluent-ffmpeg), CLI do FFmpeg (child_process), Framework BMF
  • 🌍 56 localidades — 35 idiomas com suporte a RTL (árabe, hebraico)
  • ⌨️ Atalhos de teclado — Mais de 60 atalhos em todas as páginas com diálogo de ajuda integrado (Ctrl+/)
  • 🔔 Indicadores de atividade — Indicadores de navegação ao vivo com popovers ao passar o mouse mostrando o progresso de cada tarefa de relance
  • 🛡️ Confirmação de fechamento — Avisa antes de fechar a janela enquanto há tarefas em execução
  • 🎉 Easter eggs — Logotipos do app com temas de feriados em datas especiais
  • 🔄 Atualizações integradas — Verifica os lançamentos no GitHub, baixa o instalador da plataforma, progresso em tempo real
  • 🛡️ Tratamento de erros — 16 códigos de erro tipados, snackbar global, banners inline, error boundaries do React
  • 🌗 Tema claro/escuro — Acompanha o sistema com alternância manual e preferências persistentes

Consulte a Referência de recursos para ver o detalhamento completo dos recursos, os formatos suportados e as listas de codecs.

📸 Capturas de tela

Painel Inicial

🏠 Painel Inicial

Conversão de Mídia
🔄 Conversão de Mídia
Extração de Áudio
🎵 Extração de Áudio
Corte de Vídeo
✂️ Corte de Vídeo
Compressão de Imagens
🖼️ Compressão de Imagens
Fila em Lote
📋 Fila em Lote
Informações de Mídia
ℹ️ Informações de Mídia

📌 Pré-requisitos

  • Node.js 22+
  • FFmpeg — incluído via ffmpeg-static; usa o ffmpeg do sistema caso o binário incluído não esteja disponível

📥 Downloads

Instaladores pré-compilados estão disponíveis na página de Releases.

macOS

O EncodeX não possui assinatura de código (sem conta Apple Developer). O Gatekeeper do macOS bloqueará o app na primeira abertura.

Opção 1 — Clique com o botão direito para abrir:

  1. Clique com o botão direito (ou Control-clique) no app EncodeX e selecione Abrir
  2. Clique em Abrir no diálogo de confirmação

Opção 2 — Remova a quarentena via Terminal:

xattr -cr /Applications/EncodeX.app

Windows / Linux

Baixe o instalador .exe (Windows) ou .AppImage (Linux) na página de Releases e execute-o.

🚀 Instalação (a partir do código-fonte)

npm install

🧑‍💻 Desenvolvimento

# Start Vite dev server + tsc watch (no Electron window)
npm run dev

# Full dev environment with Electron window
npm run electron:dev

# Quick start (build then launch)
npm run dev:start

O comando npm run dev inicia dois processos em paralelo:

  1. Vite — serve o renderer React em http://localhost:5173 com HMR
  2. tsc — observa e compila o TypeScript do processo principal para dist/main/

O comando npm run electron:dev aguarda o Vite ficar pronto, compila o processo principal e o preload, e então inicia o Electron com a flag --dev apontando para a URL do servidor de desenvolvimento do Vite. As DevTools abrem automaticamente.

🔨 Build

# Production build (renderer + main + preload)
npm run build

# Package for current platform (no installer)
npm run pack

# Create distributable installer
npm run dist
Script Descrição
npm run dev:renderer Somente o servidor de desenvolvimento do Vite
npm run dev:main tsc -p tsconfig.main.json --watch
npm run build:renderer Build de produção do Vite — gera saída em dist/renderer/
npm run build:main tsc -p tsconfig.main.json — gera saída em dist/main/
npm run build:preload tsc -p tsconfig.preload.json — gera saída em dist/preload/
npm run build Os três em sequência
npm run start Inicia o app compilado a partir de dist/ via electron .
npm run electron:dev Ambiente de desenvolvimento Vite + Electron
npm run dev:start Compila e depois inicia
npm run format prettier --write em todo o TypeScript/JSON de src
npm run format:check prettier --check em todo o TypeScript/JSON de src
npm run pack Build + electron-builder --dir
npm run dist Build + electron-builder (NSIS/DMG/AppImage)

💻 Uso do CLI

Compile primeiro e depois invoque via encodex:

encodex convert input.mp4 output.avi --video-codec libx265 --audio-codec aac
encodex info input.mp4 --json
encodex compress photo.png -f jpg -q 30
encodex extract-audio input.mp4
encodex batch 'videos/**/*.mov' --concurrency 2 --output-dir converted

# Executa como um servidor MCP para assistentes de IA e automação
encodex --mcp

Consulte o Uso da CLI para ver todos os subcomandos, opções e exemplos.

🧪 Testes

npm test           # Run all 123 test files / 1603 tests
npm run test:watch
npm run test:coverage
npm run test:unit
npm run test:integration
npm run test:e2e   # Requires build

Consulte Testes para o detalhamento completo da suíte de testes, a configuração dos testes e as especificações E2E.

📚 Documentação

Documento Descrição
Referência de recursos Recursos, formatos de mídia suportados, tabelas de codecs, utilitários de validação
Uso da CLI Uso do CLI, subcomandos, todas as tabelas de opções, códigos de saída
Servidor MCP Catálogo de ferramentas do servidor MCP, configurações de clientes, servidor HTTP integrado, segurança
Testes Suíte de testes, configuração dos testes, especificações E2E
Canais IPC Canais IPC, ponte electronAPI, todos os métodos e eventos
Estrutura do projeto Árvore de diretórios completa com anotações
Visão geral da arquitetura Visão geral da arquitetura interna e links para análises aprofundadas
Processos da arquitetura Modelo de processos, sistema de build, sequência de inicialização, modo CLI
Transcoders (arquitetura) Abstração de transcoder, núcleos FFmpeg/BMF, aceleração de hardware
Renderer (arquitetura) Árvore de render, páginas, stores, fila, player, i18n, temas
Gerenciador de atualizações Detalhes de implementação do gerenciador de atualizações integrado
Wiki Wiki da comunidade (espelha a documentação em formato navegável)
Site de documentação Site VitePress com tour de recursos, guias e blog de lançamentos
Contribuir Diretrizes de contribuição
Segurança Relato de vulnerabilidades
Código de conduta Código de conduta

🧰 Stack de tecnologias

Stack de tecnologias do EncodeX

🤝 Contribuindo

Consulte Contribuir para as diretrizes. Todas as contribuições são bem-vindas — abra uma issue primeiro para mudanças significativas.

Este projeto é regido por um Código de conduta.

🔒 Segurança

Relate vulnerabilidades de segurança aos mantenedores do projeto pelo processo de security advisory. Consulte Segurança.

📄 Licença

MIT