Skip to main content

Codificação VP9: configurações do FFmpeg, CRF e velocidade explicados

VP9 no FFmpeg: o comando libvpx-vp9, CRF com -b:v 0, velocidade cpu-used, row-mt, two-pass, áudio Opus e HandBrake, além das configurações que usamos.

Converter MP4 para WebM

Codificação VP9 com configurações otimizadas

MP4 WebM

Toque para escolher seu arquivo

ou

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Envio criptografado via HTTPS. Arquivos excluídos automaticamente em 2 horas.

Como codificar VP9 com o FFmpeg em 4 passos

  1. Verifique sua build do FFmpeg: execute ffmpeg -encoders e procure libvpx-vp9 na lista. A maioria das builds o inclui.
  2. Escolha uma qualidade: -crf 30 -b:v 0 é um bom ponto de partida para vídeo web em 1080p. Um CRF menor significa qualidade maior e arquivos maiores.
  3. Escolha uma velocidade: -cpu-used 3 ou 4 com -row-mt 1 mantém tempos de codificação razoáveis.
  4. Adicione áudio Opus com -c:a libopus -b:a 128k e salve a saída como .webm.

Modos de codificação VP9

Qualidade constante (CRF + b:v 0)

Nossa abordagem recomendada para conversão de arquivos. Defina um alvo de qualidade com CRF e deixe o codificador decidir o bitrate por quadro. A flag -b:v 0 é necessária para ativar o modo CRF puro (caso contrário o FFmpeg aplica um limite de bitrate padrão).

Comando: ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm

Qualidade restrita (CRF + limite de bitrate)

Combina o alvo de qualidade CRF com um bitrate máximo. Útil para streaming, quando é preciso ficar dentro dos limites de banda mantendo a qualidade.

Comando: ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 2M output.webm

Bitrate variável (VBR)

Aponta para um bitrate médio específico. Usado em broadcast e streaming, quando a banda precisa ser previsível.

Comando: ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 2M output.webm

Valores CRF para VP9

A escala CRF do VP9 vai de 0 (melhor) a 63 (pior qualidade). Números mais altos significam mais compressão e qualidade menor. Para compressão realmente sem perdas, é preciso usar -lossless 1.

Faixa CRF Qualidade Caso de uso
0 Máxima qualidade com perdas Arquivamento (use -lossless 1 para compressão realmente sem perdas)
15–20 Alta qualidade Cópias master, entrega de alta qualidade
30–35 Bom equilíbrio (padrão) Entrega web, uso geral
40–50 Qualidade inferior Prévias, miniaturas
50–63 Qualidade ruim Raramente útil

Nosso padrão é CRF 30, que produz uma qualidade visual aproximadamente equivalente a H.264 CRF 23 com arquivos de 30 a 50% menores.

Configurações de velocidade (cpu-used)

O parâmetro cpu-used controla a relação entre velocidade de codificação e eficiência de compressão. Os valores de 0 a 5 são usados na codificação normal (boa qualidade); valores mais altos pertencem ao modo em tempo real.

cpu-used Velocidade relativa Penalidade de compressão Caso de uso
0 A mais lenta Nenhuma (a melhor) Processamento em lote offline
1 Lenta Muito pequena Codificação de alta qualidade
3 Média Pequena Conversores online (nossa configuração)
5 Rápida Perceptível Prévias rápidas
8 A mais rápida (modo em tempo real) A maior Tempo real / latência mínima

Multithreading (row-mt)

A flag -row-mt 1 ativa o multithreading baseado em linhas, que pode acelerar a codificação várias vezes em sistemas multi-core com pouco ou nenhum impacto na qualidade. É um ganho de velocidade puro e deve estar sempre ativado.

Áudio: configurações do Opus

O WebM combina vídeo VP9 com áudio Opus, que é eficiente em todos os bitrates comuns:

  • 64 kbps: bom para voz e podcasts
  • 128 kbps: transparente para a maior parte do conteúdo (nosso padrão)
  • 192 kbps: alta qualidade para música

Two-pass vs. single-pass

O CRF single-pass (nossa abordagem) produz a melhor relação qualidade/tamanho para conversão de arquivos. O codificador ajusta o bitrate por quadro com base na complexidade, resultando na melhor qualidade possível no CRF alvo.

A codificação two-pass só é necessária quando é preciso atingir um bitrate alvo específico (streaming, broadcast). A primeira passagem analisa o conteúdo e a segunda codifica com alocação ideal de bits.

O pipeline VP9 do nosso conversor

O comando FFmpeg principal que nosso conversor usa (ele também aplica as duas últimas flags da lista abaixo):

ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -cpu-used 3 -row-mt 1 -c:a libopus -b:a 128k output.webm

Flag a flag:

  • -c:v libvpx-vp9 — usar o codec de vídeo VP9
  • -crf 30 — alvo de qualidade (equivalente a H.264 CRF 23)
  • -b:v 0 — modo CRF puro, sem limite de bitrate
  • -cpu-used 3 — velocidade equilibrada para conversão online
  • -row-mt 1 — multithreading baseado em linhas para codificação mais rápida
  • -c:a libopus — codec de áudio Opus
  • -b:a 128k — qualidade de áudio transparente para a maior parte do conteúdo
  • -pix_fmt yuv420p — cor 4:2:0 de 8 bits, que todo decodificador VP9 reproduz
  • -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 — arredonda largura e altura para baixo, para números pares

Configurações sugeridas por resolução

Resolução CRF sugerido Bitrate alvo (VBR)
360p 36–40 200–400 kbps
480p 33–36 500–900 kbps
720p 30–33 1–2 Mbps
1080p 28–32 2–4 Mbps
2160p (4K) 25–30 8–16 Mbps

Codificação VP9 no HandBrake

  1. Abra o vídeo de origem.
  2. Na aba Resumo, defina o formato como WebM.
  3. Na aba Vídeo, escolha o codificador VP9 e defina a Qualidade constante. Assim como no CRF, um número RF mais alto significa um arquivo menor.
  4. Na aba Áudio, escolha Opus e clique em Iniciar codificação.

O HandBrake usa o mesmo codificador libvpx que o FFmpeg, então as recomendações de CRF e velocidade desta página também valem para ele.

VP9 de 10 bits e HDR

Para vídeo de 10 bits, adicione -pix_fmt yuv420p10le -profile:v 2. O HDR também precisa dos metadados de cor, por exemplo -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020nc. O conversor desta página gera 4:2:0 de 8 bits (yuv420p), que todo decodificador VP9 reproduz.

Experimente a codificação VP9

Converta usando nosso pipeline VP9 otimizado

MP4 WebM

Toque para escolher seu arquivo

ou

Supports M4A, WAV, FLAC, OGG, AAC, WMA, AIFF, OPUS • Max 100 MB

Perguntas frequentes

A complexidade de codificação do VP9 é o preço da sua compressão superior. Use cpu-used 3+ e row-mt 1 para acelerar bastante a codificação com um pequeno custo de qualidade.

Para conversão de arquivos, o CRF single-pass (nossa abordagem) oferece a melhor relação qualidade/tamanho. Two-pass só é necessário em cenários de streaming com bitrate alvo.

cpu-used 0 fornece a melhor qualidade de compressão absoluta, mas pode levar horas para um vídeo curto. Na prática, cpu-used 3 a 4 mantém a maior parte da eficiência de compressão em uma fração do tempo de codificação.

Alguns hardwares podem: o Intel Quick Sync dos processadores Intel recentes codifica VP9 (FFmpeg vp9_qsv), enquanto o NVIDIA NVENC não codifica VP9. A codificação via software com libvpx-vp9 ainda produz melhor qualidade no mesmo bitrate. A codificação por hardware é útil para streaming em tempo real.

Recodifique-o: ffmpeg -i input.webm -c:v libx264 -crf 23 -c:a aac output.mp4. A cópia de stream (-c copy) não consegue mudar o codec.

Sim, com -lossless 1. CRF 0 é a máxima qualidade com perdas, não uma compressão realmente sem perdas. Arquivos VP9 sem perdas são muito grandes.

Mais guias sobre MP4 para WebM

O que é um arquivo WebM? Como abrir, reproduzir e converter
WebM é um formato de vídeo aberto do Google para a web, com vídeo VP8, VP9 ou AV1. O que há dentro, como abrir arquiv...
WebM vs MP4: qual é melhor em qualidade, tamanho e suporte?
Arquivos WebM (VP9) costumam ser ~30% menores e livres de royalties; MP4 (H.264) roda em qualquer aparelho. Qual usar...
VP9 vs H.264: qualidade, tamanho de arquivo e compatibilidade comparados
O VP9 gera arquivos menores com a mesma qualidade e é livre de royalties; o H.264 codifica mais rápido e roda em tudo...
Melhor formato de vídeo para a web: WebM, MP4 ou AV1?
O melhor formato de vídeo para a web: MP4 (H.264) como padrão seguro, WebM (VP9) para arquivos menores e AV1 para os ...
Voltar para o conversor de MP4 para WebM

Solicitar um recurso

0 / 2000