Difference between revisions of "Exif"

From Creative Commons
Jump to: navigation, search
(About EXIF)
(Implementations)
Line 60: Line 60:
 
=== Implementations ===
 
=== Implementations ===
  
There are libraries which manipulate Exif data in most languages - notably [http://pel.sourceforge.net/ PHP]. Some languages only have libraries for reading Exif data, and none to write it.  
+
There are libraries which manipulate Exif data in most languages - notably [http://www.exiv2.org/ exiv2 (C++)], [http://owl.phy.queensu.ca/~phil/exiftool/ ExifTool (Perl)] and [http://pel.sourceforge.net/ PEL (PHP)]. All of these libraries support reading and writing EXIF information.
  
 
=== Examples ===
 
=== Examples ===

Revision as of 15:59, 4 January 2007


Recommendation

The standard Exif metadata tag "Copyright", which is a string. It should contain a URL with a copyright notice for the embedded file.

   0x8298 Copyright string IFD0

This use is equivalent to the recommend use of the xapRights:WebStatement field supported by XMP. Note that XMP may be embedded into EXIF (and many other formats) but is a separate standard not as widely supported.

Example

http://static.flickr.com/77/216141670_fd6d6ae37a_s.jpg

If this photo included EXIF metadata compliant with this recommendation, it would contain

 http://www.flickr.com/photos/miak/216141670/

in its Copyright field as that URL contains copyright notice for the image.

About Exif

Exchangeable image file format (official abbreviation Exif, not EXIF) is a specification for the image file metadata format used in audio and image files. However, it is not commonly used in audio and is primarily used by digital cameras to store information such as shutter speed, f-stop, zoom, and so forth. It was created by the Japan Electronic Industry Development Association (JEIDA). The specification uses the existing JPEG, TIFF Rev. 6.0, and RIFF WAVE file formats, with the addition of specific metadata tags. It is not supported in JPEG 2000 or PNG.

Because the Exif 2.1 standard was created in 1998, it is supported by most image viewing or editing software, as well as nearly all digital cameras. Exif data is available in over 30 file formats; consequently, Exif data is a valuable tool for Creative Commons, as it has greater support than certain other recent metadata formats: XMP, for instance.

Exif Structure

Exif data is structured into discrete tags. Each piece of information included in an image has a Tag Name, Field Name, Tag ID, Type, and Count.

Tag Name is an informal description of each tag.

Field Name is a variable name describing the tag, and used by some programs

Tag ID is either a hex or decimal number frequently used to reference a tag

Type can be Byte, ASCII, Short, Long, Rational, Undefined, SLong or SRational, usually abbreviated as a number

Count is the number of values, but not the number of bytes. One Short has a count of 1, despite being 2 bytes

An example of one tag is Image width, whose Field Name is ImageWidth, ID of 0x0100, type of either short or long, and a count of 1.

Of more interest to Creative Commoners is the tag whose Field Name is "Artist", ID 0x013B, type ASCII, and of undetermined length. There are tags for artist, title, copyright, and comments, all of interest to Creative Commons.

Tags are also separated into groups such as Header, IFD0, IFD1, Exif IFD, GPS IFD, or Thumbnail Image Data. Artist, title and copyright information are all in IFD0. Comments are in the Exif IFD.

More information is available in the Official Exif Specifications and Exif basic tag types are listed at http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html

Developer Challenges

Develop software that embeds and can edit licenses and metadata into this file format per the recommendation above.


Implementations

There are libraries which manipulate Exif data in most languages - notably exiv2 (C++), ExifTool (Perl) and PEL (PHP). All of these libraries support reading and writing EXIF information.

Examples

Code

  • Please add yours here :)

Sample

  • Please add yours here :)

Mockups

  • Please add yours here :)

TODO

  • Please help by adding you todo here :)

Reference