Ajuste de Parametros de Codec: H.264, H.265 e AV1
Domine o ajuste de parametros para H.264, H.265/HEVC e AV1 com valores CRF praticos, presets, perfis e exemplos de codificacao.
Por Que os Parametros de Codec Importam
A maioria das pessoas exporta video usando as configuracoes padrao do seu software de edicao. O resultado geralmente fica "ok" -- mas "ok" significa que voce esta deixando muita qualidade e economia de tamanho de arquivo na mesa. Entender os parametros de codec permite que voce faca escolhas inteligentes entre qualidade visual, tamanho do arquivo, velocidade de codificacao e compatibilidade.
Os tres codecs abordados aqui -- H.264, H.265 (HEVC) e AV1 -- representam tres geracoes de tecnologia de compressao de video. Cada um e aproximadamente 30-50% mais eficiente que seu antecessor, mas compartilham muitos dos mesmos conceitos fundamentais de ajuste.
Este guia mergulha fundo nos parametros que realmente importam, com exemplos praticos de codificacao que voce pode usar diretamente.
Conceitos Fundamentais Para os Tres Codecs
Antes de entrar nos parametros especificos de cada codec, existem varios conceitos compartilhados entre H.264, H.265 e AV1.
Modos de Controle de Taxa
O controle de taxa determina como o codificador aloca bits ao longo do video:
- CRF (Constant Rate Factor) -- O codificador busca um nivel consistente de qualidade perceptual. O tamanho do arquivo varia dependendo da complexidade do conteudo. O melhor modo para a maioria dos cenarios de codificacao offline. -- CBR (Constant Bitrate) -- Cada segundo de video recebe aproximadamente o mesmo numero de bits. Exigido por alguns sistemas de streaming e broadcast. Desperdi bits em cenas simples e deixa cenas complexas com bits insuficientes. -- VBR (Variable Bitrate) -- O codificador varia a taxa de bits, gastando mais em cenas complexas e menos em simples. Pode ser limitado (VBR com teto) ou ilimitado. -- 2-pass -- O codificador analisa o video inteiro primeiro, depois codifica com alocacao otima de bits. Melhor que VBR de passagem unica, mas leva o dobro do tempo.
Recomendacao: Use CRF para arquivos locais e conteudo arquivado. Use VBR limitado ou 2-pass para entrega de streaming onde voce precisa atingir um alvo especifico de taxa de bits.
I-Frames, P-Frames e B-Frames
Codecs de video comprimem explorando redundancia entre frames:
- I-frames (Intra) -- Frames completos codificados independentemente. Grandes mas servem como pontos de referencia. Essenciais para seeking. -- P-frames (Predicted) -- Codificam apenas diferencas dos frames de referencia anteriores. Menores que I-frames. -- B-frames (Bidirectional) -- Codificam diferencas tanto de frames passados quanto futuros. Menores mas requerem mais computacao.
Subamostragem de Croma
Video armazena informacao de cor em canais de luminancia (brilho) e crominancia (cor):
- 4:4:4 -- Resolucao de cor completa. Usado em producao e VFX. -- 4:2:2 -- Metade da resolucao horizontal de croma. Comum em codecs intermediarios profissionais. -- 4:2:0 -- Um quarto da resolucao de croma. Padrao para entrega. O que a maioria das pessoas assiste.
Para entrega web, 4:2:0 e quase sempre a escolha certa.
Profundidade de Bits
- 8-bit -- 256 niveis por canal. Padrao para conteudo SDR. -- 10-bit -- 1024 niveis por canal. Necessario para HDR. Tambem melhora codificacao SDR reduzindo artefatos de banding. -- 12-bit -- 4096 niveis por canal. Raro em entrega, usado em producao de alto nivel.
Dica: Mesmo para entrega SDR, codificar em 10-bit pode produzir resultados melhores que 8-bit no mesmo tamanho de arquivo, porque o codificador tem mais precisao para trabalhar internamente. H.265 e AV1 lidam bem com 10-bit; H.264 10-bit tem suporte limitado de decodificadores.
Ajuste de Parametros H.264 (AVC)
O H.264 continua sendo o codec mais amplamente suportado. Se compatibilidade e sua prioridade principal, e aqui que voce foca.
Valores CRF
A escala CRF do H.264 (usando x264) vai de 0 (lossless) a 51 (pior qualidade):
- CRF 18 -- Visualmente lossless para a maioria do conteudo. Arquivos grandes. Use para masters ou arquivo. -- CRF 20-22 -- Excelente qualidade. O ponto ideal para entrega de alta qualidade. -- CRF 23 -- Padrao do x264. Boa qualidade, tamanho de arquivo razoavel. -- CRF 24-26 -- Boa qualidade com compressao perceptivel na inspecao atenta. Serve para a maioria da entrega web. -- CRF 28-30 -- Artefatos de compressao visiveis. Aceitavel para cenarios de baixa largura de banda. -- CRF 32+ -- Perda de qualidade significativa. Apenas para restricoes extremas de tamanho.
Exemplo pratico:
ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset medium -c:a aac -b:a 128k output.mp4
Presets
Presets controlam o tradeoff entre velocidade de codificacao e eficiencia de compressao. Presets mais lentos tentam mais opcoes de codificacao para encontrar melhor compressao na mesma qualidade:
- ultrafast -- Codificacao mais rapida. Maiores arquivos. Pior eficiencia de compressao. -- superfast, veryfast, faster, fast -- Progressivamente mais lentos e mais eficientes. -- medium -- Padrao. Bom equilibrio para a maioria dos usos. -- slow -- Compressao notavelmente melhor. Recomendado quando o tempo de codificacao nao e critico. -- slower -- Retornos decrescentes comecam aqui. Aproximadamente 5-10% menor que slow. -- veryslow -- Maxima compressao pratica. Pode levar 5-10x mais que medium. -- placebo -- Melhoria negligenciavel sobre veryslow. Nao vale o tempo.
Impacto real: A diferenca entre ultrafast e veryslow no mesmo CRF pode ser de 40-60% no tamanho do arquivo. A diferenca entre medium e slow e tipicamente 5-15%.
Recomendacao pratica: Use slow para entrega final. Use fast ou veryfast para previews e rascunhos.
Perfis e Niveis
Perfis definem quais recursos de codificacao estao disponiveis:
- Baseline -- Sem B-frames, sem CABAC. Maxima compatibilidade (dispositivos antigos, videochamadas). -- Main -- B-frames e CABAC habilitados. Boa compatibilidade com a maioria dos dispositivos modernos. -- High -- Adiciona transformadas 8x8. Melhor compressao. Suportado por virtualmente todo hardware moderno.
Exemplo pratico para entrega web:
ffmpeg -i input.mp4 -c:v libx264 -crf 22 -preset slow -profile:v high -level 4.1 -pix_fmt yuv420p -c:a aac -b:a 128k output.mp4
Parametros-Chave de Ajuste H.264
-tune-- Otimiza para tipos especificos de conteudo:film-- Conteudo de video do mundo real com movimento naturalanimation-- Conteudo animado com areas planas e bordas nítidasgrain-- Preserva grao de filme em vez de remove-lozerolatency-- Desabilita recursos que adicionam latencia (streaming ao vivo)
-g(intervalo de keyframe) -- Intervalo maximo entre I-frames. Padrao e 250 frames. Para streaming, configure para 2x a taxa de quadros (ex: 60 para 30fps) para permitir granularidade de seeking de 2 segundos.
Ajuste de Parametros H.265 (HEVC)
O H.265 alcanca aproximadamente 50% melhor compressao que o H.264 em qualidade equivalente, mas com maior complexidade de codificacao.
Valores CRF
A escala CRF do x265 tambem vai de 0-51, mas a escala e diferente do x264:
- CRF 18-20 -- Visualmente lossless. Masters de alta qualidade. -- CRF 22-24 -- Excelente qualidade. Bom para entrega de alta qualidade. -- CRF 26-28 -- Faixa padrao do x265. Boa qualidade, tamanhos de arquivo eficientes. O ponto ideal para a maioria da entrega web. -- CRF 30-32 -- Compressao perceptivel. Aceitavel para cenarios com restricao de largura de banda. -- CRF 34+ -- Perda de qualidade significativa.
Importante: CRF 28 no x265 NAO e a mesma qualidade visual que CRF 28 no x264. Grosseiramente, x265 CRF 28 e comparavel a x264 CRF 23 em termos de qualidade visual.
Presets
Os presets do x265 seguem a mesma nomenclatura do x264, mas as diferencas de velocidade sao mais dramaticas:
- medium -- Padrao. Equilibrio razoavel. -- slow -- Recomendado para codificacao de producao. Melhoria significativa de compressao. -- slower -- Boa melhoria sobre slow, vale o tempo para arquivo ou masters de streaming.
Nota critica: A codificacao H.265 e inerentemente 2-5x mais lenta que H.264 em presets equivalentes.
Parametros Especificos do H.265
Atraves de -x265-params voce tem controle refinado:
aq-mode=3-- Modo de quantizacao adaptativa. Auto-variancia com viés frequentemente produz melhor qualidade perceptual que o padrao. --psy-rd-- Otimizacao psicovisual de taxa-distorcao. Controla quanto o codificador favorece qualidade perceptual sobre precisao matematica. Padrao e 2.0. --sao-- Filtro de Sample Adaptive Offset. Reduz artefatos de banding e ringing.
Exemplo pratico de codificacao H.265:
ffmpeg -i input.mp4 -c:v libx265 -crf 24 -preset slow -pix_fmt yuv420p10le -x265-params "aq-mode=3:psy-rd=2.0" -c:a aac -b:a 128k output.mp4
Codificacao HDR com H.265
O H.265 e atualmente o codec mais pratico para entrega HDR:
ffmpeg -i input.mp4 -c:v libx265 -crf 22 -preset slow -pix_fmt yuv420p10le \
-x265-params "hdr-opt=1:repeat-headers=1:colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1):max-cll=1000,400" \
-c:a aac -b:a 128k output_hdr.mp4
Ajuste de Parametros AV1
O AV1 e o mais recente dos tres e oferece a melhor compressao, mas a velocidade de codificacao e uma consideracao significativa.
Opcoes de Codificador
Diferente do H.264 e H.265, que tem cada um um codificador de software dominante, o AV1 tem varios:
- libaom-av1 -- O codificador de referencia. Mais lento mas mais completo. Usado para benchmarking de qualidade. -- SVT-AV1 -- Desenvolvido pela Intel e Netflix. Muito mais rapido que libaom. A escolha recomendada para a maioria da codificacao pratica. -- rav1e -- Escrito em Rust. Desenvolvimento ativo, boa qualidade, mas nao tao amplamente usado.
Para trabalho pratico, SVT-AV1 e o vencedor claro no tradeoff velocidade/qualidade.
Valores CRF (SVT-AV1)
O SVT-AV1 usa uma escala CRF de 0-63:
- CRF 18-22 -- Visualmente lossless. Arquivos grandes. -- CRF 24-28 -- Excelente qualidade. Entrega de alta qualidade. -- CRF 30-35 -- Boa qualidade. O ponto ideal para entrega web. Comparavel a H.265 CRF 24-26 em qualidade visual com arquivos significativamente menores. -- CRF 38-42 -- Qualidade aceitavel para cenarios com restricao de largura de banda. -- CRF 45+ -- Perda de qualidade significativa.
Presets de Velocidade (SVT-AV1)
O SVT-AV1 usa presets numericos de 0 (mais lento, melhor compressao) a 13 (mais rapido, pior compressao):
- Preset 0-2 -- Qualidade de pesquisa. Extremamente lento. Nao pratico para producao. -- Preset 3-4 -- Alta qualidade. Muito lento mas pratico para arquivo ou masters de streaming. -- Preset 5-6 -- Boa qualidade. Velocidade de codificacao razoavel. Recomendado para a maioria do trabalho de producao. -- Preset 7-8 -- Codificacao rapida. Qualidade boa o suficiente para a maioria da entrega web. -- Preset 9-10 -- Muito rapido. Alguns sacrificios de qualidade visiveis na inspecao atenta. -- Preset 11-13 -- Opcoes mais rapidas. Uteis para previews e aplicacoes em tempo real.
Exemplo pratico de codificacao AV1:
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 6 -pix_fmt yuv420p10le -svtav1-params "tune=0" -c:a libopus -b:a 128k output.webm
Sintese de Grao de Filme -- A Arma Secreta do AV1
A sintese de grao de filme e um dos recursos mais poderosos do AV1. Grao de filme natural e ruido de sensor sao extremamente caros para codificar porque sao aleatorios e de alta frequencia. O AV1 pode:
- Analisar e remover o grao do video fonte
- Codificar o video limpo com taxa de bits muito menor
- Incorporar parametros de grao no bitstream
- O decodificador re-sintetiza grao correspondente durante a reproducao
A economia de taxa de bits pode ser de 20-40% para conteudo com grao sem perda percebida de qualidade. Isso e exclusivo do AV1 e nao esta disponivel no H.264 ou H.265.
ffmpeg -i grainy_input.mp4 -c:v libsvtav1 -crf 30 -preset 6 -svtav1-params "film-grain=15:film-grain-denoise=1" -c:a libopus -b:a 128k output.webm
Receitas Praticas de Codificacao
Receita 1: Arquivo de Alta Qualidade (H.264)
Maxima compatibilidade, excelente qualidade, tamanho razoavel:
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -profile:v high -pix_fmt yuv420p -c:a aac -b:a 192k archive.mp4
Receita 2: Entrega Web (H.264)
Compatibilidade ampla, boa qualidade, tamanho otimizado:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset slow -profile:v high -level 4.1 -pix_fmt yuv420p -movflags +faststart -c:a aac -b:a 128k web_h264.mp4
O -movflags +faststart move os metadados do MP4 para o inicio do arquivo, permitindo reproducao progressiva em navegadores sem baixar o arquivo inteiro primeiro.
Receita 3: Entrega Web Eficiente (H.265)
Melhor compressao para dispositivos Apple modernos e navegadores compativeis:
ffmpeg -i input.mp4 -c:v libx265 -crf 26 -preset slow -pix_fmt yuv420p10le -x265-params "aq-mode=3" -tag:v hvc1 -c:a aac -b:a 128k web_h265.mp4
O -tag:v hvc1 garante que Safari e dispositivos Apple consigam reproduzir o arquivo.
Receita 4: Entrega Web de Maxima Eficiencia (AV1)
Melhor compressao, suporte a navegadores modernos:
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 6 -pix_fmt yuv420p10le -svtav1-params "tune=0:enable-overlays=1" -c:a libopus -b:a 128k web_av1.webm
Receita 5: Pronto para Streaming com Teto de Taxa de Bits (H.264)
Para plataformas que exigem taxa de bits previsivel:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset slow -profile:v high -maxrate 5M -bufsize 10M -pix_fmt yuv420p -movflags +faststart -g 60 -keyint_min 60 -c:a aac -b:a 128k streaming.mp4
Comparando os Tres Codecs
Em qualidade visual equivalente (usando as configuracoes ideais de cada codec):
Comparacao de tamanho de arquivo (relativo a H.264 = 100%):
- H.264 (x264, CRF 22, slow) -- 100% (linha de base) -- H.265 (x265, CRF 26, slow) -- ~55-65% do H.264 -- AV1 (SVT-AV1, CRF 30, preset 6) -- ~40-55% do H.264
Comparacao de tempo de codificacao (relativo a H.264 = 1x):
- H.264 (x264, slow) -- 1x (linha de base) -- H.265 (x265, slow) -- 3-5x mais lento -- AV1 (SVT-AV1, preset 6) -- 5-10x mais lento
Compatibilidade de decodificacao:
- H.264 -- Universal. Qualquer dispositivo fabricado nos ultimos 15 anos. -- H.265 -- Amplo mas nao universal. Safari, iOS, maioria do Android, alguns navegadores. -- AV1 -- Crescendo. Chrome, Firefox, Edge, Safari 17+, celulares e GPUs mais novos.
Dicas para Workflows de Codificacao Eficientes
Use o Vibbit para Codificacao Simplificada
Quando voce esta gerenciando multiplos videos ou precisa de qualidade consistente em uma biblioteca de conteudo, ferramentas como o Vibbit podem automatizar o processo de selecao de codec e ajuste de parametros, economizando tempo significativo comparado ao ajuste manual de cada exportacao.
Teste Antes de Comprometer
Antes de codificar um projeto inteiro, codifique uma amostra representativa de 30-60 segundos com suas configuracoes escolhidas. Compare a qualidade visualmente e verifique o tamanho do arquivo. Ajuste o CRF ou preset conforme necessario antes de executar a codificacao completa.
Paralelizar Quando Possivel
Tanto o x265 quanto o SVT-AV1 suportam codificacao multi-thread, mas podem nao saturar todos os nucleos da CPU em presets mais altos. Para codificacao em lote, executar multiplas codificacoes em paralelo pode ser mais eficiente do que executar uma de cada vez.
Codificacao por Hardware como Complemento
Codificadores de hardware (NVENC, QSV, AMF) sao dramaticamente mais rapidos, mas produzem arquivos maiores em qualidade equivalente. Sao excelentes para:
- Streaming ao vivo onde velocidade e critica -- Previews rapidas durante a edicao -- Codificacao de primeira passagem em um workflow de dois passos
Para entrega final onde qualidade e tamanho de arquivo importam mais, codificadores de software (x264, x265, SVT-AV1) continuam superiores.
Entender parametros de codec nao e sobre decorar cada flag -- e sobre saber quais parametros tem o maior impacto e como ajusta-los para seu conteudo especifico e requisitos de entrega. As receitas neste guia cobrem os cenarios mais comuns, e as explicacoes de parametros fornecem o conhecimento para adapta-las quando necessario.