Dicionário

O que é a altura em pixels de um arquivo?

A altura em pixels de um arquivo é o tamanho vertical da imagem em um arquivo, contada em pixels. Imagens, vídeos e arquivos de áudio com capa podem todos informar esse valor.

height

A altura do arquivo é o tamanho vertical da imagem dentro de um arquivo, contada em pixels. Um relatório de metadados mostra esse número na linha Height. A largura e a altura do arquivo juntas formam o tamanho da imagem, por exemplo 1920x1080, em que a largura vem primeiro.

A altura do arquivo não é a mesma coisa que o tamanho do arquivo. A altura conta linhas de pixels, enquanto o tamanho do arquivo conta os bytes no arquivo.

O programa ffprobe do projeto FFmpeg chama a altura de um fluxo de vídeo de height. O ExifTool tem uma tag chamada ImageHeight, que o artigo Image Height explica. Em vídeos MOV e MP4, o ExifTool obtém essa tag do cabeçalho da faixa, portanto os 2 números podem ser diferentes.

Quais arquivos o carregam

Imagens, vídeos e arquivos de áudio com capa podem informar uma altura. Cada formato salva uma altura em seu próprio lugar:

  • MOV e MP4: a descrição de amostra de vídeo armazena a altura da imagem de origem em pixels. O cabeçalho da faixa armazena uma altura separada para a faixa.
  • MKV e WebM: o elemento PixelHeight armazena a altura dos quadros de vídeo codificados.
  • AVI: o cabeçalho AVI armazena uma altura de imagem.
  • PNG: o bloco IHDR armazena a altura em pixels como um número de 4 bytes.

Som não tem altura, então o ffprobe não mostra altura para um fluxo de áudio. Um arquivo de áudio ainda pode exibir o valor quando o arquivo contém uma imagem de capa. O FFmpeg trata essa imagem anexada como um fluxo de vídeo, e esse fluxo tem uma altura.

O quadro de imagem em um arquivo MP3 não tem campo de altura, então o número precisa vir dos dados da imagem. Um bloco de imagem FLAC tem seu próprio campo de altura, que contém 0 quando a altura é desconhecida.

Documentos funcionam de forma diferente. Uma página de PDF é medida em unidades de 1/72 de polegada, não em pixels. O artigo Page Size explica esses valores.

Como é o valor

Normalmente o valor é um número inteiro de pixels, sem unidade. O FFmpeg lista entre outros esses tamanhos de vídeo, e o segundo número em cada tamanho é a altura:

  • 1280x720: uma altura de 720
  • 1920x1080: uma altura de 1080
  • 3840x2160: uma altura de 2160
  • 7680x4320: uma altura de 4320

Alguns arquivos mostram outra coisa. Um fluxo de legenda sem altura exibe N/A no ffprobe. A altura de uma imagem SVG pode ser um comprimento ou uma porcentagem.

De onde vem o valor

O programa que cria o arquivo define a altura. Para alterar a altura, você redimensiona ou corta a imagem e salva o arquivo novamente.

Por que a altura pode ser diferente do que você vê

Um arquivo de vídeo pode armazenar um valor de rotação, e o FFmpeg gira o vídeo de acordo com esse valor por padrão. Após uma rotação de 90 graus, a altura que você vê é igual à largura armazenada.

Alguns formatos também mantêm 2 alturas diferentes. Em arquivos Matroska, PixelHeight é a altura dos quadros codificados e DisplayHeight é a altura para exibição depois do corte. A coded height no FFmpeg também pode ser diferente da altura quando um quadro é cortado antes da saída.

Por que isso é importante

A altura permite verificar um arquivo em relação a um limite de tamanho, por exemplo em um formulário de envio. Se a linha Height mostrar 720, o vídeo tem 720 linhas de pixels, mesmo quando o nome do arquivo diz 1080.

Altura e largura também definem o número de pixels. Um vídeo 1920x1080 tem 2.073.600 pixels em cada quadro, o que dá cerca de 2,1 megapixels.

Para impressão, a tag Y Resolution informa o número de pixels por polegada ou por centímetro na direção da altura. Divida a altura por esse número para obter a altura impressa na mesma unidade.