Just for the fun of it, I've written a toolset for importing and moving files from a digital camera, taking the idea of sorting images based on EXIF data one step further. For images, it tries to parse EXIF meta data, meta data from video files is parsed by getID3() (http://getid3.sourceforge.net/)
Suppose you have taken a pile of photos and videos over the last couple of weeks on your digital camera. You would like to have them stored neatly on your fileserver, using a clean naming scheme of YYYY-MM, based on when the photos have been taken.
The intended workflow is:
Other possible actions are:
In the end, you'll have your filesystem filling up with folders such as
... 2010-07 2010-08 2010-09 ...
Files are put in these folders based on the date information from the camera embedded in the file. Folders get created as needed.
Further grouping of image can be reached by appending a label to the folder (2010-08-Venice).
... 2010-08-Venice 2010-08-Susans-Birthday 2010-09-Peter-Anne-Wedding ...
When ./phototools.php gets called without options, the following output is given:
PhotoTools is a toolset for managing photos and videos from a digital camera or storage medium. Copyright (C) 2011 Roland Eckert <email@example.com> This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See COPYING for details. Usage: ./phototools.php [COMMAND]... [OPTION]... ./phototools.php delete <source> [go] ./phototools.php duplicate <source> ./phototools.php import <source> ./phototools.php index <source> ./phototools.php list ./phototools.php meta <file> ./phototools.php move <source> <target> [go] ./phototools.php strip <source> <master> [go] Commands: list Lists all available folders from the default mount point (/media/) delete Delete all files from the specified source folder. Dry-run mode (no action taken) if "go" isn't added to end of command line duplicate Duplicates the given source folder in the same location, appending a default extension (_duplicate) import imports all supported file types recursively from the given source folder and copies them to the default temp folder (/home/roland/tmp/) Supported file types are: avi, cr2, jpg, mov index create contact sheet containing all images as thumbnails meta Read meta data from file, e.g. EXIF data move Moves the images from the specified source folder to the target folder, using EXIF, ID3 or file date information for a suitable folder name. Dry-run mode (no action taken) if "go" isn't added to end of command line strip Removes all files from the given source folder which are present in the given master folder. Dry-run mode (no action taken) if "go" isn't added to end of command line Please report bugs to Roland Eckert <firstname.lastname@example.org>.