Mac OS X automator pulautin kuvien taltiointiin

Minulla on käytössä muutamia erilaisia kameroita ja halu säilyttää kymmenettuhannet kuvat ojennuksessa ja varmassa tallessa. Olen jo tovin käyttänyt exiftool nimistä apuohjelmaa kuvien nimeämiseen, mutta päätin ottaa Mac OS X:n automator nimisen ohjelman kauniiseen käteen ja yritin hivenen automatisoida asioita.

Tällainen pulautin siitä sitten tuli. Ei lainkaan kaunis eikä sellainen kuin ajattelin, mutta tuossa automatorissa on muutamia erikoisen ikäviä ominaisuuksia jotka mutkistivat matkaa. Haluaisin myös että tuo importoisi samalla kuvat Apertureen oikeaan projektiin, mutta se tuotti vieläkin suurempia haasteita…

Mutta nyt minulla on työpöydällä ikoni joka käynnistyessään kysyy missä hakemistosta (tai koneeseen kytketystä laitteesta) on uusia kuvia tai videoita käsiteltäväksi. Ohjelma käy ensiksi lävitse kaikki valitut tiedostot (jos ne eivät ala numeroilla 19 tai 201), muuntaa ne työhakemistoon kuvan tai videon ottohetken mukaisesti nimettynä (esim /DATA/temp/2011_02/20110222_1837_CIMG2930.JPG). Tämän jälkeen ohjelma kopioi ko hakemistosta viimeisen tunnin aikana muuttuneet tiedostot varsinaiseen tallennushakemistoon (varmistaen samalla ettei samannimistä tiedostoa jo siellä ole). No pulautin on niin simppeli että se kyllä selittää itse itsensä.

Tuo shelliscripti on kokonaisuudessaan seuraavanlainen:

BASEDIR=/DATA/imagetransfer/
DUPLICATEDIR=/DATA/duplicates_temp_store/
cd "$BASEDIR"
for f in "$@"
do
file=`basename "$f"`

if [[ $file =~ ^((19|201)+) ]]
then
echo
else
echo $file
exiftool -ext MOV -ext AVI -ext JPG -ext 3gp -ext NEF -ext RAW -ext GIF -ext JPEG -ext MPG -q -r -o "$BASEDIR" -d %Y_%m/%Y%m%d_%H%M_%%f.%%e -"filename

Exiftool komentoja

Kirjoittelin muinoin tavasta laittaa digikuvat ojennukseen.

Tässä pari oleellista exiftool-komentoa talteen:

  • exiftool -AllDates-=1 muutettavakuva.jpg Vähentää tunnin kuvan kaikista kellonajoista. Kätevä jos kameran kello olikin tunnin pielessä.
  • exiftool -AllDates=”2009:02:21 12:00:00.20″ muutettavakuva.jpg Asettaa kuvan ottoajan päiväyksen ja kellonajan halutuksi (esimerkissä 21.2.2009 klo 12.00.00 ja 20 sekunnin sadasosaa). Tätä tarvitaan jos esimerkiksi iPhoto on tuhonnut kuvan metadatat.
  • exiftool -Copyright=”Timo Vehvilainen” Muuttaa kuvan metatietoihin copyright kenttään tekstin Timo Vehvilainen.

Digikuvat ojennukseen – quick&dirty

iPhoton syövereissä on digikuvia sikin sokin vaikka kuinka ja paljon. Päätinpä siis hieman organisoida kuvia jotta mm. verkkoon siirrettävien varmistuksien ottaminen, ja muu kuvien massakäsittely olisi hivenen helpompaa.

Hain verkosta ExifTool nimisen palikan (Perliä, saatavilla myös Mac OS X ja windows binäärit). Kyseisellä työkalulla voi digikuvien Exif-tietoa(kameran jo kuvaushetkellä kuvaan tallentamaa metadataa, päiväystä, kellonaikaa, kameran tyyppiä yms) lukea sekä muokata.

Komentorivillä annoin sitten komennon (yhdellä rivillä):
exiftool -r -o modified/ -d %Y/%m/%Y%m%d_%H%M%S.%%e -"filename<createdate" /Volumes/LACIE/Data/iPhotoLibrary/originals/

Tämä komento käy läpi kaikki tiedostot hakemistossa (ja alihakemistoista) /Volumes/LACIE/Data/iPhotoLibrary/originals/ ja kopioi digikuvat modified hakemiston alle luomaansa /vuosiluku/kuukausi/ hakemistopuuhun. Digikuvat nimetään muodossa YYYYMMDD_HHMMSS. Aikaleimana käytetään exif-tiedoissa olevaa kuvan ottamisen hetkeä.

Esimerkiksi kuva joka on otettu 15.7.2006 kello 13.05.21 tallennetaan hakemistoon modified/2006/07/ nimellä 20060715_130521.jpg

picture-2.png