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ídeo1: 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 deCoverArt - 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.jpgoucover.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.