Fundamentos · 5 min de leitura
Metadados de vídeo explicados
Todo arquivo de vídeo contém metadados: uma descrição de como a imagem e o som são armazenados, escrita pela câmera, pelo codificador ou pelo app de edição que o produziu. O contêiner nomeia as trilhas e a sincronização; os codecs descrevem como cada trilha é comprimida.
Ler esses metadados antes de converter ou enviar um arquivo separa os problemas que você consegue corrigir dos que não consegue. Dois arquivos podem parecer idênticos na listagem de uma pasta e estar codificados de formas completamente diferentes.
As duas camadas: contêiner e codec
O contêiner é o invólucro: MP4, MOV, WebM, Matroska e AVI guardam trilhas de vídeo, trilhas de áudio, timestamps e um índice dentro de uma estrutura definida. O codec é o método de compressão usado em uma trilha, como H.264, HEVC, VP9 ou AV1 para vídeo e AAC, Opus ou AC-3 para áudio. A extensão do arquivo nomeia o contêiner, nunca o codec, e é por isso que um arquivo .mp4 pode conter desde um fluxo H.264 de dez anos atrás até uma codificação AV1 moderna.
Um player precisa entender o contêiner e ter decodificadores para cada trilha que for solicitado a reproduzir. Os metadados registram as duas camadas, então dizem o que um dispositivo precisa suportar antes de você apertar play. Também dizem o que os metadados não fazem: não medem o quão boa a imagem parece. A qualidade vem da resolução, do bitrate, das configurações do codificador e, acima de tudo, da fonte de onde o arquivo foi feito.
Os números que decidem reprodução e tamanho do arquivo
A resolução é a grade de pixels, por exemplo 1920 por 1080 ou 3840 por 2160. A taxa de quadros é quantos quadros são gravados a cada segundo, e pode ser constante ou variável; uma taxa variável de uma gravação de tela de celular pode confundir editores que supõem taxa fixa. O bitrate é quantos dados por segundo o codificador gasta, normalmente informado como uma média com um teto máximo. Dois arquivos com a mesma resolução e duração podem diferir de tamanho em uma ordem de magnitude só por causa do bitrate.
Os metadados de cor são onde os problemas de compatibilidade se escondem. Um arquivo SDR de 8 bits com primárias BT.709 toca em quase todo lugar. Um arquivo HDR de 10 bits com transferência PQ ou HLG e primárias BT.2020 carrega muito mais informação de cor, mas precisa de um decodificador e de uma tela que entendam HDR; em um player que ignora os metadados HDR, ele pode parecer desbotado ou estranhamente saturado. Metadados de áudio também importam: taxa de amostragem, número de canais e codec decidem se um dispositivo consegue reproduzir o som.
Como um player decide o que consegue reproduzir
Um player inspeciona primeiro o contêiner e depois o codec e o perfil de cada trilha. O H.264 tem perfis como Baseline, Main e High, e o HEVC tem Main e Main10; um decodificador suporta alguns perfis e não outros, e o campo de nível limita combinações de resolução e bitrate. Um arquivo pode, portanto, ser um MP4 H.264 e ainda falhar em um dispositivo antigo se usar um perfil ou nível que o hardware não consegue tratar.
O player também confere o fluxo de cor e o áudio. Uma televisão pode decodificar HEVC de 10 bits mas não ter tela HDR, então a imagem aparece apagada ou plana. Um notebook pode reproduzir a trilha de vídeo mas não ter decodificador para áudio AC-3, deixando uma imagem perfeita e silêncio. Para reprodução pela rede, também importa a localização do índice do contêiner: um MP4 cujo índice fica no fim do arquivo precisa baixar muito mais antes de começar.
Por que um arquivo toca e outro igual não
O caso mais comum é um contêiner igual com um codec diferente. Dois arquivos .mov de dois celulares podem ser os dois contêineres QuickTime, enquanto um traz H.264 e o outro traz HEVC de 10 bits; o segundo é o arquivo que uma máquina Windows ou um app Android recusa. Arquivos MKV e WebM batem no mesmo muro pelo outro lado: players de desktop e navegadores se dão bem com eles, enquanto muitas televisões e formulários de upload não.
Outras diferenças vêm das configurações em vez dos codecs. Uma codificação de perfil alto pode exceder um decodificador antigo, uma trilha de áudio incomum pode ser descartada e conteúdo HDR pode tocar com a cor errada se o player ignorar seus metadados. Um download truncado deixa o índice ausente, o que parece falha de codec mas na verdade é um arquivo quebrado. Os sintomas são parecidos; os metadados distinguem.
- Mesma extensão, codec diferente: confira o codec do fluxo, não o nome do arquivo.
- Toca mas fica sem som: confira o codec de áudio e o layout de canais.
- Toca mas parece errado: confira a profundidade de bits, as primárias de cor e as características de transferência.
- Falha em todo lugar: confira se o arquivo está completo e o índice intacto.
Inspecionar um arquivo antes de converter ou enviar
Um utilitário de informações de mídia, o painel de propriedades de um player de desktop ou a linha de comando conseguem imprimir os fluxos de um arquivo. Com FFmpeg, rodar ffmpeg -i no arquivo resume o contêiner, os codecs dos fluxos, a resolução, a taxa de quadros, o bitrate, o formato de pixel e as etiquetas de cor sem recodificar nada. Um app de informações de mídia apresenta os mesmos fatos como uma lista legível, incluindo duração e layout do áudio.
Leia o relatório em ordem: contêiner, codec e perfil de vídeo, resolução e taxa de quadros, profundidade de bits e etiquetas de cor, codec de áudio e canais, depois duração e bitrate. A partir daí a decisão costuma ser óbvia. Um arquivo cujo codec já é amplamente suportado só precisa de uma troca de contêiner. Um clipe HDR de 10 bits de celular destinado a um notebook desconhecido precisa de uma recodificação para H.264 de 8 bits. Um arquivo enorme de bitrate alto para um formulário com limite de tamanho precisa de compressão, não de conversão. Conhecer os metadados faz cada uma dessas escolhas ser deliberada em vez de otimista.
Perguntas frequentes
Metadados de vídeo são a mesma coisa que qualidade de vídeo?
Por que dois arquivos MP4 se comportam de forma diferente no mesmo dispositivo?
O que 8 e 10 bits significam para a reprodução?
Dá para saber o que há dentro de um vídeo pela extensão?
Converter um vídeo mantém todos os metadados?
Ferramentas para esta tarefa
- Visualizador de metadados de vídeoRelatório de metadados
- Compressor de vídeoMP4
- Conversor de MP4MP4
- Cortar vídeoMP4