ExifTool: Remover todos os metadados, exceto tags específicas

1

Estou tentando remover todos os metadados dos arquivos JPEG, exceto as etiquetas fotográficas comuns, conforme listado no modelo de lente exiftool -common (modelo da câmera, velocidade do obturador, abertura, ISO etc.), espaço de cor e perfil ICC incorporado.

Usando a resposta da pergunta exiftool: exclua os dados exif, mas preservar algumas tags específicas , os seguintes comandos são produzidos. O problema é que ambos resultam na remoção da velocidade do obturador, da abertura e do perfil ICC incorporado, como pode ser verificado usando exiftool com os respectivos flags.

exiftool -all= -tagsFromFile @ -common -LensModel -ColorSpace -icc_profile:all original.JPG

exiftool -all= -tagsFromFile @ -common -aperture -ShutterSpeed -LensModel -ColorSpace -icc_profile:all original.JPG

Ambos produzem aviso:

Warning: Sorry, filesize is not writable

Os comandos estão malformados ou são um erro do ExifTool? Esse comportamento é confirmado na versão 10.40 do ExifTool.

    
por Kyselejsyreček 17.02.2018 / 19:14

1 resposta

1

A tag de atalho Common é mais uma tag de coleta de dados e não é realmente usada para copiar informações de um arquivo para outro (consulte Tags de atalho para lista de tags contém). Muitas das tags cobertas por esse atalho são tags do sistema de arquivos ( FileSize ), tags do MakerNotes ( Quality ) ou tags do Composite ( Aperture , ShutterSpeed ). No caso de FileSize , obviamente você não pode alterar arbitrariamente o tamanho do arquivo de destino, portanto, o erro filesize is not writable .

No caso das tags Makernotes, elas não podem ser copiadas ou criadas individualmente. Tem que ser copiado como um bloco com -MakerNotes . Talvez você não esteja tentando copiar a tag Quality , mas esse ponto se torna relevante quando se trata de tags compostas.

Tags compostas não são tags que estão no arquivo. Eles são derivados de várias outras tags. Aperture e ShutterSpeed são dois exemplos. Você não pode copiá-los para outro arquivo porque, individualmente, eles não existem. Você precisa copiar as tags nas quais elas são baseadas. Aperture é baseado em FNumber ou ApertureValue , dependendo de qual está realmente no arquivo. ShutterSpeed é baseado em ExposureTime , ShutterSpeedValue e / ou BulbDuration . Para "copiar" corretamente Aperture e ShutterSpeed , você precisa copiar as tags acima nas quais elas estão baseadas. E algumas dessas tags podem estar apenas no MakerNotes, então você teria que copiar os Makernotes inteiros

ICC_Profile é considerado uma tag "insegura" e não será copiado, a menos que seja explicitamente listado. Você provavelmente terá que copiá-lo como um bloco com -ICC_Profile se -ICC_Profile:all não funcionar, pois algumas das tags individuais no ICC_Profile não são graváveis.

tl: dr: Não há nada de errado com o comando exiftool, ele simplesmente não faz o que você acha que faz.

    
por 17.02.2018 / 22:43

Tags