Codificação Two-Pass no FFmpeg
Escolha o tamanho alvo, transforme-o em bitrate e rode os dois passes. Exemplo: um vídeo de 10 minutos que precisa caber em 100 MB: 100 × 8.000 ÷ 600 s ≈ 1.333 kbps no total; descontando 128 kbps de áudio, sobram cerca de 1.200 kbps para o vídeo.
ffmpeg -y -i input.mkv -c:v libx264 -preset medium -b:v 1200k -pass 1 -an -f null /dev/null— passe 1 (apenas análise). No Windows, escrevaNULem vez de/dev/null.ffmpeg -i input.mkv -c:v libx264 -preset medium -b:v 1200k -pass 2 -c:a aac -b:a 128k output.mp4— passe 2 (a codificação real).
Os dois passes precisam usar as mesmas configurações de vídeo. O FFmpeg grava a análise em ffmpeg2pass-0.log na pasta atual; o passe 2 lê esse arquivo, e você pode apagá-lo depois.
A Diferença Fundamental
CRF e codificação two-pass resolvem o mesmo problema — equilibrar qualidade e tamanho de arquivo — mas por caminhos opostos:
- CRF (Constant Rate Factor): "Quero este nível de qualidade. Use o tamanho de arquivo necessário para atingi-lo." Você controla a qualidade; o tamanho de arquivo é a variável.
- Two-pass: "Quero este tamanho de arquivo (bitrate alvo). Dê-me a melhor qualidade que caiba nele." Você controla o tamanho; a qualidade é a variável.
| Característica | CRF | Two-Pass |
|---|---|---|
| Você controla | Nível de qualidade (número CRF) | Bitrate alvo / tamanho de arquivo |
| Variável | Tamanho de arquivo | Qualidade |
| Passes | 1 (passe único) | 2 (análise + codificação) |
| Velocidade | 1x (referência) | ~2x mais lento |
| Previsão do tamanho de arquivo | Imprevisível | Previsível |
| Consistência de qualidade | Qualidade constante por frame | Distribuição ótima de bits |
Como o CRF Funciona
A codificação CRF é um processo de passe único. O codificador processa cada frame e pergunta: "Quantos bits preciso para atingir este nível de qualidade neste frame específico?"
- Frames de alta complexidade (explosões, movimento rápido) recebem mais bits
- Frames de baixa complexidade (cenas estáticas, cartelas de título) recebem menos bits
- A qualidade permanece constante; o bitrate flutua
O resultado é um arquivo VBR em que cada frame recebe exatamente os bits de que precisa — sem desperdício em cenas simples, sem carência em cenas complexas. Por isso o CRF produz a relação ótima entre qualidade e tamanho para codificação offline.
Como o Two-Pass Funciona
A codificação two-pass processa o vídeo duas vezes:
- Passe 1 (Análise): O codificador percorre o vídeo inteiro sem produzir saída. Ele constrói um mapa de complexidade frame a frame — quais cenas são simples, quais são complexas, onde ocorrem cortes.
- Passe 2 (Codificação): Com base na análise do passe 1, o codificador distribui o bitrate alvo de forma ótima entre todos os frames. Cenas complexas recebem mais do orçamento de bits; cenas simples recebem menos.
O resultado: um arquivo que atinge com precisão o bitrate alvo enquanto distribui a qualidade da forma mais uniforme possível entre todas as cenas.
Comparação de Qualidade
Com configurações razoáveis, CRF e two-pass produzem qualidade quase idêntica. As diferenças são sutis:
- Vantagem do CRF: Cada frame recebe exatamente os bits necessários. Nenhum frame fica sem recursos. O CRF pode produzir qualidade média ligeiramente superior porque não está limitado por um orçamento de bitrate.
- Vantagem do two-pass: Melhor distribuição de bits para conteúdo extremo (vídeos longos com complexidade muito variável). O passe de análise ajuda o codificador a se preparar para cenas complexas que virão.
Na prática, a diferença de qualidade entre CRF e um encode two-pass bem calibrado é desprezível para a maioria dos conteúdos. Seria necessária uma análise VMAF frame a frame para detectar diferenças.
Comparação de Velocidade
A diferença de velocidade é direta:
- CRF: 1x de tempo de codificação (passe único pelo vídeo)
- Two-pass: ~1,7–2x de tempo de codificação (o primeiro passe é rápido por não produzir saída, mas ainda assim consome tempo)
Para um vídeo de 10 minutos em 1080p em uma CPU moderna:
- CRF medium: cerca de 10 minutos a uma velocidade de codificação de ~30 fps (18.000 frames ÷ 30 fps = 600 s)
- Two-pass medium: cerca de 17–20 minutos, já que o primeiro passe roda mais rápido que o segundo. Um preset mais rápido encurta os dois passes; nosso guia de presets do FFmpeg: velocidade vs tamanho de arquivo mostra essa troca.
Quando Usar CRF
CRF é a melhor escolha para quase todos os cenários comuns:
- Conversão de arquivo: MKV para MP4, MOV para MP4 e qualquer conversão de formato em que você queira a melhor qualidade
- Arquivamento pessoal: Armazenar sua biblioteca de vídeos com qualidade consistente
- Upload para a web: YouTube, redes sociais e a maioria das plataformas aceitam arquivos de bitrate variável
- Compartilhamento: Quando o tamanho do arquivo não precisa ser exato, o CRF oferece qualidade ótima
- Processamento em lote: Uma única configuração (CRF 23) funciona bem para todos os tipos de conteúdo
Por isso nosso conversor usa CRF — ele produz a melhor qualidade sem exigir que os usuários calculem bitrates alvo.
Quando Usar Two-Pass
A codificação two-pass é a melhor escolha quando o tamanho do arquivo precisa ser previsível:
- Autoria de DVD/Blu-ray: O conteúdo precisa caber em uma capacidade específica de disco
- Streaming com restrição de banda: Streaming de bitrate adaptativo (HLS/DASH) exige bitrates alvo precisos para cada nível de qualidade
- Limites de tamanho de arquivo: Plataformas com limites rígidos de upload (Discord 10 MB sem Nitro, e-mail 25 MB) onde você precisa garantir que a saída caiba
- Transmissão profissional: Pipelines de broadcast frequentemente exigem CBR ou targets VBR precisos
O Melhor dos Dois: CRF com Limite (Capped CRF)
Existe uma abordagem híbrida chamada capped CRF (qualidade restrita) que combina as vantagens de ambos os métodos:
ffmpeg -i input.mkv -c:v libx264 -crf 23 -maxrate 4000k -bufsize 8000k -c:a aac output.mp4
Isso instrui o codificador: "Mire na qualidade CRF 23, mas fique em cerca de 4 Mbps ou menos (na média do buffer de 8.000 kbits, cerca de 2 segundos)." Na prática:
- Cenas simples: codificadas com qualidade CRF 23 (bem abaixo de 4 Mbps)
- Cenas complexas: codificadas com qualidade CRF 23, exceto se isso ultrapassar 4 Mbps; nesse caso, a qualidade é levemente reduzida para permanecer dentro do limite
O capped CRF é ideal para aplicações de streaming em que você precisa de previsibilidade de banda sem abrir mão da abordagem quality-first do CRF.
VBR de 1 Passe vs 2 Passes no Premiere Pro, Media Encoder e HandBrake
- Premiere Pro e Adobe Media Encoder: nas configurações de exportação H.264, Codificação da taxa de bits oferece CBR, VBR, 1 passagem e VBR, 2 passagens. O VBR de 2 passagens demora mais e costuma distribuir melhor os bits para o mesmo alvo.
- HandBrake: na aba Video, troque de Constant Quality para Avg Bitrate (bitrate médio) e ative o two-pass (chamado 2-Pass ou Multi-Pass Encoding, conforme a versão).
- Regra prática: com bitrates generosos, 1 passe e 2 passes ficam iguais; o segundo passe compensa quando o bitrate é apertado para o conteúdo.