Vídeo e codecs
Quase toda confusão sobre arquivos de vídeo vem de uma única distinção — entre a caixa e o que está dentro dela. Estas são as palavras para as duas coisas, e para as operações que movem coisas entre elas.
-
Contêiner
wrapper, invólucro, formato -
A estrutura de arquivo que mantém juntas as faixas de vídeo, áudio e legenda e descreve onde cada uma está. MP4, MKV, AVI e WebM são contêineres. Um contêiner não comprime nada.
Pense nele como uma caixa de arquivo com uma etiqueta de conteúdo. A caixa diz: tem uma faixa de vídeo aqui, codificada deste jeito; duas faixas de áudio ali, nestes idiomas; legendas nesta posição. Ela não tem opinião nenhuma sobre como qualquer uma dessas coisas foi comprimida.
É por isso que o mesmo vídeo pode existir num MP4 e num MKV com qualidade de imagem idêntica e tamanho de arquivo idêntico, e por que um dos dois abre num iPhone enquanto o outro não. A diferença é a caixa, não o conteúdo.
-
Codec
codificador-decodificador -
O método usado para comprimir um fluxo de vídeo ou áudio, e para descomprimi-lo de novo na reprodução. H.264, HEVC, AV1, AAC e MP3 são codecs. Um codec não é um formato de arquivo.
O nome é uma contração de codificador-decodificador. Codificar joga fora detalhe de um jeito calculado para ser difícil de notar, e decodificar reconstrói uma aproximação do original a partir do que foi guardado. Quanto melhor o codec, menos perceptível a perda para um determinado tamanho.
Um aparelho reproduz um arquivo quando consegue ler o contêiner *e* decodificar todo codec dentro dele. As duas metades são necessárias, e quando um arquivo abre mas não mostra nada, foi a segunda metade que falhou.
Veja também: ContêinerDecodificação em hardware
-
H.264
AVC, MPEG-4 Part 10 -
O codec de vídeo que tudo consegue decodificar. Publicado em 2003, ainda é a escolha mais segura para compatibilidade, e é acelerado em hardware em todo celular, computador e TV feitos nos últimos quinze anos.
O H.264 venceu de forma tão completa que “isso vai rodar em qualquer lugar?” e “isso é H.264?” são quase a mesma pergunta. Ele não é o codec mais eficiente disponível — HEVC e AV1 fazem mais com menos bits — mas nada chega perto na amplitude de suporte.
Ele tem perfis, e um deles causa problema em aparelhos da Apple: o High 10, muitas vezes escrito Hi10P, codifica dez bits por canal de cor em vez de oito. Decodificadores em hardware são só de oito bits, então um arquivo Hi10P toca o som sem imagem num aparelho que não tem alternativa em software.
Veja também: HEVCDecodificação em hardware10 bits
-
HEVC
H.265 -
O sucessor do H.264, mais ou menos metade do tamanho para a mesma qualidade. Todo aparelho da Apple de 2015 para cá decodifica em hardware, e é nele que um iPhone grava.
O HEVC é o que tornou o 4K prático em celulares: a mesma imagem com mais ou menos metade da taxa de bits. A Apple adotou cedo e a fundo, então em hardware da Apple ele é uma escolha tão segura quanto o H.264.
Em outros lugares é mais confuso. O licenciamento de patentes em volta do HEVC foi contestado o suficiente para que os navegadores da web demorassem a dar suporte, e é exatamente essa a lacuna que o AV1 foi criado para preencher.
Veja também: H.264AV1Taxa de bits
-
AV1
-
Um codec livre de royalties publicado em 2018, mais eficiente que o HEVC e, diferente dele, livre de disputas de licenciamento. A decodificação em hardware só chegou aos aparelhos da Apple com o iPhone 15 Pro.
O AV1 existe porque o licenciamento do HEVC fez as maiores empresas de streaming e de navegadores da web quererem uma alternativa que pudessem entregar sem pagar a ninguém. Hoje é nele que boa parte do vídeo da web é entregue.
O problema é o custo de decodificação. Sem suporte em hardware, o AV1 é decodificado em software, o que é possível mas drena a bateria de forma visível e pode engasgar em resoluções altas. Em aparelhos mais antigos, uma versão em H.264 do mesmo vídeo é o arquivo melhor.
Veja também: HEVCDecodificação em hardware
-
Taxa de bits
-
Quantos dados um segundo de vídeo ou áudio usa, normalmente em megabits por segundo. É a coisa principal que decide tanto o tamanho do arquivo quanto o quanto um aparelho tem que trabalhar.
A resolução recebe a atenção, mas é a taxa de bits que decide como um arquivo realmente fica. Um arquivo 4K com taxa de bits baixa fica pior do que um 1080p com taxa alta, porque o codificador precisou descartar mais para chegar ao alvo dele.
É também disso que normalmente se trata um arquivo que engasga. Quando um vídeo roda num computador e engasga num celular, não há nada errado com o arquivo: ele simplesmente está pedindo mais trabalho de decodificação por segundo do que aquele chip quer encarar.
Veja também: CodecTaxa de bits adaptativa
-
Remux
reembalagem, troca de contêiner -
Mover os fluxos de vídeo e áudio que já existem de um contêiner para outro sem recodificá-los. Sem perdas, e rápido o bastante para ser limitado pela velocidade do disco em vez do processador.
Um remux copia fluxos; ele não toca em um único quadro. Um MKV de uma hora carregando H.264 e AAC se torna um MP4 em segundos, idêntico bit por bit em imagem e som.
Só funciona quando o contêiner de destino aceita o que a origem carrega — o MP4 aceita H.264 e AAC, e não aceita VP9 nem Vorbis. Quando as pessoas dizem que uma conversão foi “instantânea”, elas remuxaram. Quando levou uma hora, alguma coisa foi recodificada.
Veja também: TranscodificarContêiner
-
Transcodificar
recodificar, converter -
Decodificar um fluxo e codificá-lo de novo, normalmente para um codec diferente ou com taxa de bits mais baixa. Lento, e com perda toda vez — a qualidade nunca volta.
Transcodificar é o que as pessoas querem dizer com “converter um vídeo”, e é uma operação genuinamente caríssima: cada quadro é decodificado, processado e comprimido de novo. É a resposta certa quando o codec realmente não tem suporte, ou quando um arquivo precisa ficar menor.
É a resposta errada para “meu celular não abre isso”, quando um remux teria resolvido, e é uma resposta ruim para um arquivo cujo único problema é uma faixa de áudio em DTS — trocar uma faixa deixa a imagem intocada.
Veja também: RemuxTaxa de bits
-
Decodificação em hardware
-
Decodificar vídeo num chip dedicado em vez do processador principal. Muito mais rápido, muito mais frio e muito mais gentil com a bateria — mas só dá conta dos codecs para os quais foi feito.
Todo celular contém um decodificador de vídeo de função fixa que faz H.264 e HEVC de forma extremamente eficiente. Qualquer coisa que ele não suporta cai para o software, o que funciona mas custa bateria e calor, e pode não dar conta em resoluções altas.
É por isso que suporte a formato num celular não é um sim ou não único. Um aparelho pode reproduzir um codec perfeitamente em 1080p por software e falhar com o mesmo codec em 4K, e nenhum dos dois resultados diz nada sobre o arquivo estar errado.
-
10 bits
Hi10P, High 10 -
Vídeo guardando dez bits por canal de cor em vez de oito, para gradientes mais suaves. No HEVC isso é normal e bem suportado; no H.264 é de longe a causa mais comum de um arquivo que tem som mas não tem imagem num iPhone.
Mais bits por canal significa passos mais finos entre tons, o que remove aquelas faixas que você vê em céus escuros e em transições lentas. Para HDR é uma exigência, não um refinamento.
O problema é o H.264 especificamente. H.264 de dez bits está fora do que os decodificadores em hardware implementam, e o player do sistema da Apple não tem caminho em software para ele, então o áudio toca e a imagem nunca chega. Lançamentos de anime usam isso bastante, e é por isso que o assunto aparece muito mais do que a fatia geral do formato sugeriria.
Veja também: H.264Decodificação em hardware
-
Quadro-chave
keyframe, quadro I -
Um quadro guardado por inteiro em vez de como diferença em relação ao quadro anterior. A navegação só consegue cair em cima de um, e é por isso que um vídeo às vezes salta para um momento um pouco diferente do que você pediu.
A compressão de vídeo funciona descrevendo a maioria dos quadros como mudanças em relação aos vizinhos. Só os quadros-chave se sustentam sozinhos, e normalmente eles aparecem a cada dois a dez segundos.
Quando você arrasta a barra de progresso, o player encontra o quadro-chave mais próximo e começa dali. Quadros-chave bem espaçados deixam o arquivo menor e a navegação mais grosseira; essa troca é decidida na hora de codificar e não pode ser mudada depois sem recodificar.
Veja também: TranscodificarSegmento