neděle 16. srpna 2009

Pokus o organizaci fotek dle EXIF

Nenacházím slušné slovo popisující stav, v jakém mám své digitální fotografie. Hmm, nejbližší z těch publikovatelných je asi entropie, nebo možná spíš anarchie? V minulosti již proběhly pokusy situaci zvládnout - nejdříve snad příhodným pojmenováváním adresářů, později dokonce importem fotek z aparátu přímo do F-Spotu (který má svou databázi a umožňuje fotografie opatřit tagy - ale pak se s nimi dá dál pracovat už jen v něm - běda, jak je člověk přemístí jinam!). Nedávno jsem dokonce nainstaloval Picasu pro linux, ale ještě jsem ji neměl čas ovládnout.

Dnes jsem se proto rozhodl jít cestou drobných, inkrementálních změn a nenápadnou evolucí se dopracovat k lepšímu stavu správy fotografií. Pro začátek jsem se rozhodl všechny ty tisíce souborů přejmenovat tak, aby měly stejnou velikost písmen (třeba velkou) - aby se vůbec daly dohledat a vyřadit duplikáty (protože různé způsoby kopírování či importování fotek různě volily konverzi velikosti písmen z FAT foťáku na ext3 linuxu).

Pro hromadné přejmenovávání souborů jsem v práci vyvinul nějaké bash skripty, ale dnes na mě padla lenost a tak jsem se jal vyhledávat v seznamu balíků pro Ubuntu. Napotřetí jsem vybral GPRename, který v přehledném GUI dovolí vybrat plánovanou změnu názvu souboru (z mnoha možností) a pak i předvede, co se z daného výběru souborů přejmenuje a jak (Preview). Dost dobré.

Takže názvy souborů jsou OK, a teď by to chtělo spravit datumy. Nejlépe samozřejmě tak, aby datum souboru odpovídalo datu vytvoření fotky. Na to jsem odhadem nainstaloval balíček ExifTags, který obsahuje šikovný prográmek intuitivně nazvaný "exiftime". Ten umí čarovat s datem a časem uloženým v EXIF hlavičce JPEG souboru fotky.

Ačkoliv "exiftime" umí krom jiného i opravit čas vytvoření fotky podle času souboru, tak opačná funkčnost mu chybí. Jakmile jsem zjistil, že výstup (časovou informaci) z "exiftime" nepůjde použít v příkazu "touch" bez parsování, začal jsem dumat, jak to naprogramovat - ale pak opět zvítězila lenost a strýček Google mi obratem našel několik možností, z nichž jsem narychlo vybral exif_touch-0.2.tar.gz. Je to jednoduchý perlový skript, který dělá přesně to, co se mi dnes nechtělo skriptovat - opravuje datum a čas souboru podle údajů uložených v EXIF datech fotky...

V další fázi se zřejmě zaměřím na zrušení všech duplikátů (s čímž mi snad pomůže FSlint) a rozdělení té masy fotek dle data do nějak chytře nazvaných adresářů. Nakonec se ale stejně nevyhnu nějakému tagování... na to ale chci nejdříve prostudovat, jestli bude stačit ukládat tagy do poznámek v Exif datech, nebo jestli mě situace donutí poklesnout k nějaké externí databázi (a dostat se zpět tam, kde se mi s F-Spotem nelíbilo).

1 komentář:

  1. Ahoj,
    já určitě doporučuji Picasa. Mám jej již delší dobu na PC a vývoj jde pěkně dopředu. Teď poslední verze 3.5 umí i nějak hledat a popisovat ksichtíky na fotkách.

    Miloš

    OdpovědětVymazat