・jpg, tiffのメタデータは、Exifだけじゃない。
Exif
Exchangeable image file format 日本電子工業振興協会 (JEIDA)で規格化 JPEG, TIFF
https://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html
DCF
Design rule for Camera File system IPTC(国際新聞通信委員会) JPEG
IPTC
International Press Telecommunications Council Photo Metadata IPTC(国際新聞通信委員会)
XMP
Extensible Metadata Platform アドビ
Exif 出力例 (値はダミー)
DateTime 年月日時分秒
Exif.Image.DateTime Ascii 20 2019:03:16 00:00:00
Exif.Photo.DateTimeOriginal Ascii 20 2019:03:16 00:00:00
Exif.Photo.DateTimeDigitized Ascii 20 2019:03:16 00:00:00
GPS 場所
Exif.Image.GPSTag Long 1 11126
Exif.GPSInfo.GPSVersionID Byte 4 2.3.0.0
Exif.GPSInfo.GPSLatitudeRef Ascii 2 North
Exif.GPSInfo.GPSLatitude Rational 3 29deg 47.39000'
Exif.GPSInfo.GPSLongitudeRef Ascii 2 East
Exif.GPSInfo.GPSLongitude Rational 3 140deg 20.31000'
Exif.GPSInfo.GPSAltitudeRef Byte 1 Above sea level
Exif.GPSInfo.GPSAltitude Rational 1 03.6 m
Exif.GPSInfo.GPSTimeStamp Rational 3 06:07:08
Exif.GPSInfo.GPSSatellites Ascii 1
Exif.GPSInfo.GPSStatus Ascii 2 Measurement in progress
Exif.GPSInfo.GPSMapDatum Ascii 7 WGS-84
Exif.GPSInfo.GPSDateStamp Ascii 11 2019:02:19
GPSInfoタグにも年月日 GPSDateStampと時分秒 GPSTimeStampの2タグがあるので、日時 DateTimeだけを変更削除してもGPSタグで日時を推測される可能性がある。
Exif Version 2.3 http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf によれば、GPSタグが26個、下で説明の、exiv2 では30個を認識 https://exiv2.org/tags.html する。GPSタグと言ってもすべてが記録されるわけでもなく、位置情報に関するものも限られる。
更に、カメラメーカーによる独自タグもあり、Canon, Sony, Nikon, ...の名前がタグごとに入っていて、機種やレンズ、シャタースピード、露出などの撮影情報が含まれる。Canon, Sony, Nikonで眺めた限り、GPSや日時に関するものは はなかった。
"Exif.GPSInfo.GPSDateStamp"タグについては調べたほうがいいかも。
exiv2 -g Exif.GPSInfo.GPSDateStamp file.jpg して、消したほうがいいかも。
・タグの編集プログラム
注) Debianなので各コマンドのバージョンは古め。以下出力例はダミーです。
digikam
1ファイルづつタグの編集ができるらしい。KDE絡みで多量のファイルが同時インストールされるのが個人的に嫌だったので・・・試してない。
jhead
$ jhead -ts2019:03:16-00:00:00 *.jpg ←日時の変更ts time set. DateTimeの3tagsを変える
$ jhead -purejpg M2380005.JPG ←exif情報を全部消す
exiftool
GPSとDateTimeを弄るなら、これだけで十分。libimage-exiftool-perlパッケージ。LinuxのGUI版はpyExifToolGUIをperlでmakeインストールできそうでも面倒。
$ exiftool -gps:all= -xmp:geotag= image.jpg ←GPSタグの削除
$ exiftool -AllDates="2019:03:16 12:34:56" ← AllDatesは、DateTimeの 3tags
$ exiftool MVI_02001.MP4 ← mp4 のmetadataも表示できる
exiv2
$ exiv2 IMG_0079.JPG ←基本的な情報のみ表示
File name : IMG_0079.JPG
File size : 10
...略
$ exiv2 -pa IMG_0079.JPG ←exiv2で認識できる Exif, IPTC, XMPを全部表示
Exif.Image.Make Ascii 6 Camon
Exif.Image.Model Ascii 24 Camon PowerShut SiX70 H8
...略
$ exiv2 -g DateTime IMG_00251.jpg ← -g で検索表示,大小文字区別
Exif.Image.DateTime ....略
Exif.Photo.DateTimeOriginal
Exif.Photo.DateTimeDigitized
$ exiv2 ad -a 01:00:00 IMG_00251.jpg ← DateTimeのタグ値 3つを01:00:00にする. ad adjust, -a 01:00:00 time adjust)
$ exiv2 rename img_1234.jpg ← ファイル名を年月日時分秒にする
Renames img_1234.jpg (taken on 13−Nov−05 at 22:58:31) to 20051113_225831.jpg
$ exiv2 −r’:basename:_%Y%m’ rename img_1234.jpg ←ファイル名に年月を付加
Renames img_1234.jpg to img_1234_200511.jpg
$ exiv2 -de rm demo.jpg ← Exif情報だけ全部消す (-d delete, e Exif, i IPTC, x XMP)
$ exiv2 rm M2400011.JPG ←メタ情報を全部消す
$ exiv2 -M"del Exif.GPSInfo.GPSLatitudeRef" image.jpg ←Exif.GPSInfo.GPSLatitudeRef タグを消す(値も)
-M"コマンド"ではワイルドカードが使えない。
...そこで、GPSとDateTimeの16個のタグを消すシェルスクリプト例。
注意:
* Debianで'ls -l /bin/sh' は /bin/dash にリンクされているので配列が動かない。#!/bin/bashとする。
* ファイル名にワイルドカードが使えない。
* ファイル名_bak.jpgは、バックアアップ用の元ファイル。
===== rmgpsdt.sh
#!/bin/bash
infile="$1"
ext=${infile##*.}
if [ $# -ne 1 ] ; then
echo "argument count error."
echo "command: rmgpsdt.sh one_file.jpg"
echo " remove GPS and DateTime Tags from Exif, depends on exiv2 and bash."
exit 7
elif [ ! -e $infile ]; then
echo "file not exist : $infile"
exit 2
elif [ ${ext,,} != "jpg" ]; then
echo "not jpg file : $infile"
exit 1
else
date_msg=`exiv2 -g Date $infile`
gps_msg=`exiv2 -g GPS $infile`
if [ -z "$date_msg" ] || [ -z "$gps_msg" ]; then
echo "DateTime, GPS tags not in $infile."
exit 1
fi
fi
cp --backup=t $infile ${infile%.*}_bak.$ext
tags=(
"Exif.Image.DateTime"
"Exif.Photo.DateTimeOriginal"
"Exif.Photo.DateTimeDigitized"
"Exif.Image.GPSTag"
"Exif.GPSInfo.GPSVersionID"
"Exif.GPSInfo.GPSLatitudeRef"
"Exif.GPSInfo.GPSLatitude"
"Exif.GPSInfo.GPSLongitudeRef"
"Exif.GPSInfo.GPSLongitude"
"Exif.GPSInfo.GPSAltitudeRef"
"Exif.GPSInfo.GPSAltitude"
"Exif.GPSInfo.GPSTimeStamp"
"Exif.GPSInfo.GPSSatellites"
"Exif.GPSInfo.GPSStatus"
"Exif.GPSInfo.GPSMapDatum"
"Exif.GPSInfo.GPSDateStamp"
)
for tag in ${tags[@]}
do
exiv2 -M"del $tag" $infile
done
echo "done"
=====
・・・まだ、いろいろあるけど・・・試してないraw現像ソフト rawtherapee もmetadataを個別に消せる...何故か消せない。
その他
file
file コマンドでも結構な情報。当然編集はできない。
$ file M2380002.JPG
M2380002.JPG: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=10, manufacturer=Pandason, model=HC-VG60M, orientation=upper-left, xresolution=154, yresolution=162, resolutionunit=2, software=Ver.1.00 , datetime=2016:12:34 12:34:56], baseline, precision 8, 3200x1800, frames 3
$ file IMG_109.JPG
IMG_0096.JPG: JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=12, manufacturer=Camon, model=Camon PowerShut SiX70 H8, orientation=upper-left, xresolution=196, yresolution=204, resolutionunit=2, datetime=2018:03:20 10:09:08], baseline, precision 8, 5184x2912, frames 3
・google傘下のここbloggerでは、exifはweb表示時点で一切消されてる。消した情報をgoogleがどう扱っているかは不明。
以上、素人メモ・・・追加:続編 jpg の Exif (2)
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。