O Que “yuv420p” Significa, Parte por Parte
- Y = luma (brilho); U e V = chroma (cor de diferença do azul e de diferença do vermelho).
- 4:2:0 = a cor é armazenada com metade da largura e metade da altura: uma amostra U e uma V para cada bloco de 2×2 pixels.
- p = planar: primeiro todos os valores Y, depois todos os U e por fim todos os V, em três planos separados.
- Sem número no final significa 8 bits por amostra;
yuv420p10leé a versão de 10 bits (little-endian).
Um quadro de 1920×1080 tem 2.073.600 bytes de Y mais 518.400 bytes de U e outros tantos de V: 3.110.400 bytes, ou 1,5 byte (12 bits) por pixel, metade do RGB de 24 bits.
O Que É Chroma Subsampling?
O vídeo digital armazena informações de cor no espaço de cor YUV, que separa o brilho (Y — luma) da cor (U e V — chroma). Essa separação explora um fato fundamental da visão humana: nossos olhos são muito mais sensíveis ao detalhe de brilho do que ao detalhe de cor.
O chroma subsampling aproveita isso armazenando o brilho em resolução total, mas a cor em resolução reduzida. O resultado: arquivos significativamente menores sem perda de qualidade perceptível para o olho humano.
YUV420p — O Padrão Universal
YUV420p (chroma subsampling 4:2:0, planar) é o formato de pixel usado em praticamente todo vídeo consumer:
- Como funciona: Para cada bloco de 2×2 pixels (4 pixels), o brilho total (Y) é armazenado para os 4 pixels, mas apenas 1 conjunto de valores de cor (U+V) é compartilhado pelo bloco
- Bits por pixel: 12 (vs. 24 para RGB em cores completas)
- Redução de dados: 50% menor que vídeo em cores completas não comprimido
- Compatibilidade: Suportado por todos os decodificadores de hardware, navegadores, celulares, TVs e plataformas de streaming
YUV420p é o que Netflix, YouTube, Blu-ray, HDTV e todos os serviços de streaming utilizam. Não é uma concessão — é o padrão porque a troca de qualidade é invisível para a percepção humana.
YUV422p — Uso Profissional e de Transmissão
- Como funciona: A resolução de cor é reduzida à metade horizontalmente, mas preservada verticalmente (2 amostras de cor por linha de 4 pixels)
- Bits por pixel: 16
- Usado em: Televisão broadcast, câmeras profissionais (ProRes 422), fluxos de trabalho de correção de cor
- Por quê: Melhor precisão de cor para chroma keying (tela verde) e correção de cor. Importante para pós-produção profissional.
YUV444p — Cor Completa
- Como funciona: Sem subsampling algum — cada pixel recebe seus próprios valores de cor
- Bits por pixel: 24
- Usado em: Gravações de tela, capturas de jogos, vídeos com muito texto, masters de edição profissional
- O problema: A maioria dos decodificadores de hardware não suporta YUV444p
A Armadilha de Compatibilidade do YUV444p
Este é o problema de formato de pixel mais comum que os usuários enfrentam. Veja o que acontece:
- Você grava sua tela com o OBS ou outra ferramenta de captura, ou monta um vídeo a partir de capturas de tela PNG com o FFmpeg
- O arquivo acaba em YUV444p: você escolheu o formato de cor I444 do OBS para ter texto mais nítido, ou o FFmpeg manteve a cor completa da entrada RGB porque nenhum
-pix_fmtfoi definido - O vídeo reproduz perfeitamente no seu PC (decodificação por software)
- Você envia para alguém ou tenta reproduzir no celular — não funciona
O motivo: celulares, tablets, smart TVs e a maioria dos navegadores usam decodificadores de hardware que só suportam YUV420p. Quando encontram YUV444p, eles falham silenciosamente (tela preta), exibem cores corrompidas ou mostram um erro. No H.264, o YUV444p também exige o perfil High 4:4:4 Predictive, abordado em perfis do H.264 explicados.
Sintomas comuns: "Formato não suportado" no iPhone, vídeo verde/roxo no Android, tela preta na smart TV, erros de upload em algumas plataformas. Se seu vídeo H.264 apresenta esses problemas, verifique o formato de pixel primeiro.
Comparação de Formatos de Pixel
| Formato | Resolução de Cor | Bits/Pixel | Suporte de Dispositivo | Caso de Uso |
|---|---|---|---|---|
| YUV420p | 1/4 de cor | 12 | Universal | Tudo: web, mobile, TV |
| YUV422p | 1/2 de cor | 16 | Equipamentos profissionais | Broadcast, correção de cor |
| YUV444p | Cor completa | 24 | Somente software em PC | Gravação de tela, edição |
A Solução: Converter para YUV420p
Se seu vídeo não reproduz em celulares ou smart TVs, converter para YUV420p é a solução. O comando FFmpeg é direto:
ffmpeg -i input.mkv -c:v libx264 -crf 23 -pix_fmt yuv420p -c:a aac output.mp4
A flag -pix_fmt yuv420p força a saída a usar chroma subsampling 4:2:0.
Nosso Conversor Faz Isso Automaticamente
Nosso conversor online sempre gera saída em YUV420p, independentemente do formato de pixel de entrada. Seja qual for o formato YUV420p, YUV422p ou YUV444p do seu MKV, o MP4 resultante será universalmente compatível com todos os dispositivos e plataformas.
Para gravações de tela e capturas de jogos, isso significa que você pode enviar seu arquivo MKV em YUV444p e receber de volta um MP4 formatado corretamente que reproduz em qualquer lugar — celulares, TVs, navegadores e plataformas de redes sociais. Antes de publicar, confira também os tamanhos de vídeo para YouTube, Instagram e TikTok.
Impacto na qualidade: Converter de YUV444p para YUV420p tecnicamente reduz a resolução de cor. Mas para conteúdo de vídeo natural (filmes, vlogs, filmagens de câmera), a diferença é invisível. Para gravações de tela com texto colorido, pode haver uma sutil franja de cor nas bordas do texto — imperceptível durante a visualização normal.
yuv420p vs NV12, YUY2 e RGB
| Formato | Chroma | Organização | Bits por pixel | Onde aparece |
|---|---|---|---|---|
| yuv420p (I420) | 4:2:0 | 3 planos: Y, U, V | 12 | Encoders e decoders por software, arquivos H.264 e HEVC |
| NV12 | 4:2:0 | Plano Y + um plano UV intercalado | 12 | Decodificadores de hardware e GPUs (mesmos dados do yuv420p, organização diferente) |
| NV21 | 4:2:0 | Plano Y + plano VU intercalado | 12 | Pré-visualizações de câmera no Android |
| YUY2 (yuyv422) | 4:2:2 | Empacotado: Y U Y V | 16 | Webcams USB, placas de captura |
| RGB24 | Nenhum (cor completa) | Empacotado: R G B | 24 | Capturas de tela, imagens, gráficos |
Verifique um arquivo com ffprobe -v error -select_streams v:0 -show_entries stream=pix_fmt -of csv=p=0 input.mp4 e liste todos os formatos com ffmpeg -pix_fmts. Se o FFmpeg parar com “width not divisible by 2”, adicione -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2": o 4:2:0 exige dimensões pares. Nosso conversor aplica exatamente esse filtro antes de codificar.