Dicionário

O que é um attached pic?

Attached Pic é um sinalizador em um dos streams dentro de um arquivo de áudio ou vídeo. Ele indica que o stream contém uma imagem estática, como a capa de um álbum.

attached-pic

Uma imagem anexada é uma imagem que vem junto com outra coisa, como uma foto em um e-mail. Em um arquivo de áudio ou vídeo, uma imagem anexada é uma imagem armazenada dentro do próprio arquivo. Um exemplo típico é a capa de um álbum ou de um single.

Attached Pic é o campo que marca esse tipo de imagem em um relatório de metadados. O nome vem do ffprobe, o leitor de arquivos do projeto FFmpeg, que o escreve como attached_pic.

O FFmpeg lista cada parte de um arquivo como um fluxo separado. Ele dá a cada fluxo um conjunto de flags, chamado de disposição (disposition). Cada flag está ativada ou desativada, e Attached Pic é uma dessas flags.

Como são os valores

A opção -show_streams do leitor ffprobe imprime a flag para cada fluxo, mesmo em arquivos sem uma imagem anexada. A flag tem 2 valores nessa saída:

  • 0: o fluxo não é uma imagem anexada, por exemplo um fluxo comum de áudio ou vídeo
  • 1: o fluxo contém uma imagem anexada, como a capa de um álbum

A visão geral resumida que o FFmpeg imprime para um arquivo mostra a mesma flag como (attached pic). O FFmpeg imprime esse rótulo somente quando a flag está ativada.

Quais arquivos o carregam

O FFmpeg trata uma imagem anexada como um fluxo de vídeo com uma única imagem. Assim, uma música com capa pode ter 2 fluxos: um para o som e um para a imagem. O tipo de codec do fluxo de imagem é vídeo, embora a imagem nunca se mova.

O FFmpeg lê a imagem de um lugar diferente em cada formato:

  • MP3: um quadro APIC na tag ID3v2, que o padrão ID3v2 chama de Attached picture
  • M4A e MP4: o item covr, que o ExifTool chama de CoverArt
  • FLAC: um bloco de imagem, e um arquivo pode conter vários desses blocos
  • MKV: um anexo com tipo de imagem, como um arquivo chamado cover.jpg ou cover.png

Fotos e e-books mantêm suas imagens em outros campos. Uma foto JPEG pode armazenar uma pequena prévia em seu campo Thumbnail Image. Um e-book EPUB marca no máximo um arquivo de imagem como sua capa.

De onde vem o valor

O arquivo em si não contém um campo chamado Attached Pic. O FFmpeg ativa a flag quando encontra um quadro de imagem, um bloco de imagem ou um anexo de imagem.

Para arquivos MP3 e FLAC, o FFmpeg também copia a descrição da imagem para a tag title. Ele copia o tipo de imagem para a tag comment.

O tipo de imagem é um número de 0 a 20 que indica o que a imagem mostra. O FFmpeg grava o tipo como texto, por exemplo:

  • Tipo 0, Other: uma imagem que não se encaixa em nenhum dos outros tipos
  • Tipo 3, Cover (front): a capa frontal, que muitos players exibem durante a reprodução
  • Tipo 4: a capa traseira
  • Tipo 6: a mídia em si, por exemplo o lado do rótulo de um CD

O FFmpeg pode gravar uma imagem incorporada somente em alguns dos formatos que ele suporta. Para a própria imagem, o padrão ID3v2 e a especificação Matroska recomendam JPEG e PNG.

Por que isso é importante

A flag informa ao software que o fluxo é uma imagem e não um vídeo em movimento. Em comandos do FFmpeg, o seletor de fluxo V escolhe apenas fluxos de vídeo que não são imagens anexadas.

Os dados da imagem ficam dentro do arquivo, então uma capa grande deixa o arquivo inteiro maior. Uma imagem também pode mostrar mais do que uma capa, como o artista ou o local da gravação.

Um quadro de imagem ou um bloco de imagem também pode conter um link para uma imagem fora do arquivo. Para arquivos FLAC, a especificação diz que um programa deve perguntar a você antes de carregar essa imagem pela rede.