これはexiftoolで行うことができますが、内側の動作とPerlの知識は少しあります。一例として、
、私は10分のスパン(+/- 5分)によってランダムに時間を「ぼかし」でしょう(OK、技術的には9分59秒だ、それが0に土地のチャンスがあります):
exiftool -d %s "-DateTimeOriginal<${DateTimeOriginal;$_+=(int(rand(600))-300)}" <FileOrDir>
内訳:
-d %s
- にコピーされるのタグからコピーされたタグとしておそらく同じ - これは、UNIX時間に1970:01:01 00:00:00
-DateTimeOriginal<
からの秒数を日付形式を変更します。 Less than sign <
は、タグコピー操作を示します。
${DateTimeOriginal;$_+=(int(rand(600))-300)}
- exiftoolsアドバンストフォーマット機能(別名Perlコード)を使用していくつかの変更を加えてコピーしているタグ。 -d
オプションのため、このDateTimeOriginalタグ値はUNIXの時刻形式です。次に、0と599の間の乱数が生成されます。int(rand(600))
、それを分割するために300を引いて、半分以上が負で残りが正(または0)になるようにします。既定の変数$_
を使用して、生成された番号+=
に追加します。
GPSLatitude
とGPSLongitude
をぼかすには、度/分/秒ではなく小数点座標を使用します。また、10分の1の度数でも数マイルになる可能性があります。この場合、コマンドの重要な部分は、
"-GPSLatitude<${GPSLatitude#;$_+=(rand()-.5)/10}"
に似ています。ここでは、ハーフタグ#
をGPSLatitude
と小数点座標値を与えるように使用しました。もう1つのオプションは、-c
オプションを使用することでした。私はまた、変化のレベルについて100番目の小数点に持ってきました。これはおそらくマイルまたは数十マイルの範囲内にあると思います。赤道と子午線の近くでは、これは正しく半球を考慮に入れていないので、これはひどく壊れます。
すべて一緒にそれを置くために:
exiftool -d %s "-DateTimeOriginal<${DateTimeOriginal;$_+=(int(rand(600))-300)}" "-GPSLatitude<${GPSLatitude#;$_+=(rand()-.5)/10}" "-GPSLongitude<${GPSLongitude#;$_+=(rand()-.5)/10}" <FileOrDir>
このコマンドは、バックアップファイルを作成します。バックアップファイルの作成を抑制するには、-overwrite_original
を追加します。サブディレクトリに再帰するために-r
を追加します。このコマンドがUnix/Macで実行されている場合、bashの解釈を避けるために二重引用符または一重引用符を取り消してください。
非常に詳細で有益な回答をいただきありがとうございます。ほんとうにありがとう。これは私が必要とするものを正確に行うはずです。 – ludinom