여러분 EXIF 라고 아시나요?
EXchangable Image File format
교환가능한 이미지 파일 형식(?)
이게 뭐지......
하지만 여기에는 매우 많고 중요한 정보들이 있습니다.
촬영한 날짜, 촬영한 기기, 마지막으로 업데이트한 날짜, ISO, 셔터스피드 등등등
사실 DSLR 을 사용하지 않는다면 그렇게 크게 중요하지는 않아요.
하지만!!!!!!!!!!!!!!!!!!!!
저의 가장 메인 카메라인 B612
하지만 이 앱의 가장 큰 단점은 EXIF를 지원하지 않는다는 겁니다.
EXIF의 가장 큰 중요한 점은 바로 Captured_Date
입니다
일반적으로는 date_time_original
이라고 불립니다.
둘 다 같은 의미이겠지만 이 사진이 찍혔던 날짜입니다.
백업을 위해서 폰에서 필요한 사진들을 옮겼더니
갑자기 사진이 날짜가 바뀌어버렸습니다.
알고보니 B612 에서는 Last_update_date
는 지원하지만
EXIF의 date_time_original
이 지원을 하지 않았습니다,
그래도 다행이게도 이 앱의 파일 명은 다음과 같습니다.
B612_${YYMMDD}_#{HHMMSS}.jpg
2018-12-07 19:27:30 분에 촬영 됐다면
B612_20181207_192730.jpg 로 저장이 되었겠죠
그렇다면 저것을 이용해서 EXIF를 조정할수 있겠죠
그래서!!!
한번 제작 해봤습니다.
# https://gist.github.com/ggomagundan/4a0213fa275dda5435435c3d846449b1
#!/usr/bin/ruby
# encoding: utf-8
#
# Script for changing photo creation timestamp (in EXIF metadata and filesystem)
# If you're using rvm, please run script as `ruby photo-touch.rb`
# Tested in ruby-2.5.1
#
# Install ExifTool: http://www.sno.phy.queensu.ca/~phil/exiftool/install.html
#
# You need next gems for script to work (use gem install gem_name)
# * mini_exiftool (note: you need the ExifTool library!)
#
# 2018, Kai Park. Use it freely under the MIT license.
#
require 'rubygems'
require 'find' # For Find.find (walk a directory)
require 'fileutils' # For FileUtils.touch (change file timestamps)
require 'mini_exiftool' # Exif metadata editing
require 'date' # For DateTime
# Find all jpegs in currrent directory, change timestamps to required
Find.find('./') do |f|
if f.match(/\.jpg|jpeg|jfif\Z/i)
photo = MiniExiftool.new(f)
filename = File.basename(f)
s_file = filename.split(".")[0].split("_")
# B612 NameFormat is follow :
# B612_${YYMMDD}_#{HHMMDD}.jpg
date = DateTime.parse("#{s_file[1]}T#{s_file[2]}+0900")
puts "#{f}\t- #{filename}\t#{date}" # For debug purposes
photo.date_time_original = date # Change EXIF photo creation timestamp
photo.save
# if you wanna update UpdateTime
#FileUtils.touch f, :mtime => DateTime.current # Change filesystem creation timestamp
end
end
제일 좋아하는 Ruby 로 짜보았습니다.
약 1,000개의 파일로 테스트까지 끝내버린 코드!!!
수정 웰컴, 사용도 그냥 웰컴입니다!!! ^^
Donation
기부는 사랑입니다.
- Ƀ BTC : 16MdVNJgvGYbVuaC6KrjGNy2RCrNsaPaZz
- Ξ ETH : 0x5debb97a6Cc1Fdf686a3C6aA804a623a21deD73c
개발자에게 Starize 도 사랑입니다.