H.264 · H.265 · VP9 · AV1
VideoForge

Vídeos prontospara o próximoformato.

Conversão desktop com H.265, VP9 e AV1.

Converte vídeo para codecs modernos e mostra o tamanho antes.

App desktopVídeoAutoral

  • Tauri
  • Rust
  • React
  • FFmpeg
H.264 · H.265 · VP9 · AV1
VideoForge

Vídeos prontospara o próximoformato.

Conversão desktop com H.265, VP9 e AV1.

  • Tauri
  • Rust
  • React
  • FFmpeg

Converte vídeo para codecs modernos e mostra o tamanho antes.

App desktopVídeoAutoral

  • Tauri
  • Rust
  • React
  • FFmpeg

PortfólioVideoForge

Antes de converter

Quanto o vídeo vai pesar, antes de apertar o botão.

O programa faz uma conta antes de converter: quanto o vídeo novo deve ocupar e quanto vai economizar. Troque o codec, a qualidade, a resolução e o áudio e veja a faixa encolher.

Codec de vídeo

Resolução

Áudio

Original218 MB
Estimado38,1 MB

Entre 30,4 MB e 45,7 MB.

−83% de tamanho

2.000 + 128 kbit/s × 150 s

A conta é a do programa (App.tsx): cada CRF tem um bitrate de referência em 1080p, o codec multiplica (H.265 metade do H.264, AV1 40%), a resolução escala pelos pixels e o áudio soma; o resultado vira um intervalo de 20% para menos e para mais. O vídeo de exemplo tem 1080p e 12 Mbit/s.

Cena do projeto: a janela do programa com as configurações de conversão ampliadas ao lado, entre rolos de filme

Cada ajuste, sob seu controle.

Codec, resolução, qualidade e recorte em uma interface direta.

Qualidade CRFResoluçãoRecorte por tempo

Por trás dos botões, o programa monta um comando para o FFmpeg, o motor de vídeo que ele chama. Mexa nos ajustes e veja cada pedaço do comando nascer, com a cor do ajuste que o criou.

Codec

Resolução

Quadros por segundo

Áudio

kbit/s

Formato de saída

O comando que vai para o FFmpeg

ffmpeg -y -ss 15 -i entrada.mov -to 100 -progress pipe:1 -nostats -c:v libx265 -preset medium -crf 23 -vf scale=1280:720:force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2 -c:a aac -b:a 128k saida.mp4 

A montagem é a do programa (main.rs): -ss antes da entrada e -to depois; a escala cabe o vídeo na caixa sem distorcer e arredonda para número par; o mesmo -preset e -crf vão para todos os codecs; com "Copy", o vídeo é só copiado. O formato de saída sai da extensão do arquivo.

Cena do projeto: a janela do programa com os ajustes de áudio, uma onda sonora de metal e um botão de play laranja

Do vídeo ao áudio. Uma ferramenta feita sob medida.

Tauri, Rust e FFmpeg com interface em React e TypeScript.

Projeto autoral

Enquanto converte, o FFmpeg não para de escrever. O programa lê só duas linhas desse falatório, o tempo já convertido e a velocidade, e transforma em barra. Inicie e veja.

O que o FFmpeg escreve

-progress pipe:1

Total do recorte: 85 s

Convertido
0.0 s
Velocidade
—

As telas de verdade

As regras são as do programa (main.rs): out_time_ms vem em microssegundos e é dividido por 1.000.000; a porcentagem é o tempo convertido sobre o total, limitada a 100%; com recorte, o total é o fim menos o início. As linhas aqui são de exemplo, no formato real do FFmpeg.

As tecnologias

Do que é feito, peça por peça

Um programa de computador enxuto: a tela é React com Tailwind dentro do Tauri, e o Rust monta o comando, chama o FFmpeg instalado na máquina e lê o progresso, em 3 comandos. Escolha uma peça para ver o que ela faz aqui e em que arquivo está.

8tecnologias, em 2 camadas

Tela

Programa