Pular para o conteúdo
Frame, uma ferramenta de conversão de mídia nativa em Rust

Frame, uma ferramenta de conversão de mídia nativa em Rust

Descubra se o Frame, conversor de mídia baseado em Rust, vale a pena. Veja recursos, desempenho, instalação e comparativo com alternativas.

O Frame é um conversor de mídia nativo desenvolvido em Rust, que oferece uma interface gráfica para operações com o FFmpeg. O objetivo do projeto é proporcionar controle granular sobre vídeo, áudio, imagens, legendas e metadados, combinando um front‑end GPUI‑CE com um núcleo de conversão reutilizável.

Principais funcionalidades

  • Suporte a múltiplos tipos de mídia: vídeo, áudio e imagens, com ampla variedade de formatos de entrada e saída.
  • Codificadores avançados: H.264, H.265, VP9, AV1 (SVT‑AV1), Apple ProRes, além de aceleração por hardware (videotoolbox, NVENC).
  • Controle detalhado: taxa de bits, CRF, resolução, FPS, escala, corte, rotação, sobreposição de imagens, ajustes de GIF, opções de áudio (bitrate, VBR, canais) e manipulação completa de legendas e metadados.
  • Processamento concorrente: gerenciamento de filas de tarefas FFmpeg com limitação de processos simultâneos.
  • Telemetria em tempo real: logs e progresso do FFmpeg são analisados e exibidos na interface.

Interface (UI)

A aplicação utiliza o GPUI‑CE, oferecendo:

  • Barra de título customizada.
  • Áreas de workspace e logs.
  • Painéis de configurações detalhadas para cada tipo de mídia.
  • Diálogos nativos (via rfd) com filtros de extensão, facilitando a seleção de arquivos suportados.

Arquitetura e fluxo de trabalho

  1. Núcleo de conversão (frame-core): gera argumentos para o FFmpeg, valida compatibilidade e realiza inspeção de fontes com ffprobe.
  2. Camada de UI: consome o núcleo e apresenta opções ao usuário.
  3. Execução: tarefas são enfileiradas e controladas por um controlador de tarefas em Rust.
  4. Feedback: progresso e logs são parseados em tempo real, permitindo monitoramento detalhado.

Comparativo rápido

Recurso Frame HandBrake FFmpeg (CLI)
Interface gráfica nativa
Suporte a aceleração HW avançada ✅ (NVENC, videotoolbox) ✅ (NVENC)
Controle de GIFs ✅ (via scripts)
Gerenciamento de filas
Necessidade de linha de comando Não Parcial Sim

O Frame se destaca por combinar a potência do FFmpeg com uma UI moderna, algo que o HandBrake oferece parcialmente, mas sem a flexibilidade de filas e controle de GIFs.

Público-alvo

  • Profissionais de pós‑produção que precisam de conversões rápidas com ajustes finos.
  • Desenvolvedores que desejam integrar um conversor de mídia em pipelines personalizados.
  • Entusiastas de código aberto que preferem ferramentas nativas e escritas em Rust.

Instalação

Binários pré‑compilados
Disponíveis na página de releases: Download Latest Release.

Gerenciadores de pacotes

  • Windows: winget install --id 66HEX.Frame -e
  • macOS: brew tap 66HEX/frame && brew install --cask frame

Compilação a partir do código
Requer Rust e ferramentas de compilação C/C++. Após clonar o repositório, execute:

cargo xtask setup-ffmpeg   # baixa binários FFmpeg/FFprobe
cargo xtask run            # modo desenvolvimento
cargo xtask build --release   # compilação final

Avisos de assinatura

O aplicativo ainda não está assinado com Developer ID (macOS) ou certificado de código (Windows). Em macOS, pode ser necessário remover a quarentena:

xattr -dr com.apple.quarantine /Applications/Frame.app

No Windows, o SmartScreen pode bloquear a execução; escolha “Mais informações” → “Executar mesmo assim”.

Atualizações automáticas

O Frame inclui um atualizador que verifica o manifesto de releases no GitHub, valida assinatura Ed25519 e hash SHA‑256 antes de instalar. As chaves de assinatura são configuradas via variáveis de ambiente FRAME_UPDATE_PUBLIC_KEY e FRAME_UPDATE_SIGNING_KEY nos pipelines de CI.

Pontos positivos

  • Interface fluida e moderna, sem necessidade de linha de comando.
  • Extenso suporte a codecs e formatos, incluindo aceleração por hardware.
  • Controle detalhado de parâmetros de vídeo, áudio e legendas.
  • Gerenciamento de filas permite executar múltiplas conversões simultâneas.

Pontos negativos

  • Falta de assinatura de código pode gerar alertas de segurança.
  • Ainda em fase inicial; documentação ainda limitada.
  • Dependência de binários FFmpeg externos pode gerar incompatibilidades em sistemas sem as versões corretas.

Conclusão

O Frame oferece uma solução robusta e flexível para conversão de mídia, combinando a potência do FFmpeg com uma UI nativa em Rust. Apesar dos alertas de assinatura, a ferramenta é recomendada para usuários avançados que buscam controle fino e integração fácil em fluxos de trabalho de pós‑produção. Para quem precisa apenas de conversões simples, ferramentas como HandBrake podem ser suficientes, mas o Frame se destaca em cenários que exigem automação, múltiplas filas e ajustes avançados.

Download do Frame

Instale o Frame no Linux

Frame está disponível como AppImage

Você pode baixar o AppImage do Frame clicando no botão a seguir:

Download do AppImage do Frame

Não esqueça de habilitar a execução do arquido AppImage que voc6e baixar para poder rodar o aplicativo. Você pode fazer isso pela linha de comando (rodando chmod +x NomeDoArquio.AppImage) ou marcando o arquivo para execução nas propriedades do arquivo, de seu navegador de arquivos. Temos um artigo em que ensinamos como usar arquivos AppImage, se precisar.

Instale o Frame no Windows

Frame está disponível para Windows

Você pode baixar o Frame para Windows no link a seguir:

Download do Frame para Windows

Instale o Frame no macOS

Frame está disponível para macOS

Você pode baixar o .app (ou .dmg) do Frame no link a seguir:

Download do Frame para macOS

Via github.com. Você pode conferir o post original em inglês:

Frame

Por · Última atualização: