The jpeg-xmp package contains the C source of four programs:

insert XMP metadata into a JPEG file
insert application data into a JPEG file
extract XMP metadata from a JPEG file
extract application data from a JPEG file

The xmptool package contains one program:

query, insert or delete a property in an XMP file

jpegxmp is a Bash shell script:

Set or modify common metadata properties in JPEG files

addxmp is also a Bash shell script:

Convert (mostly Dublin Core) metadata described in a simple text file to XMP and insert it into a series of JPEG files.

Use rdjpgxmp to extract the XMP data from a JPEG/JFIF file, use xmptool to query or update that XMP data, then use wrjpgxmp to put the XMP data back, e.g.: rdjpgxmp file.jpg | xmptool -w '' 'value' | wrjpgxmp file.jpg >newfile.jpg. The jpegxmp script is a wrapper around these to make the most common operations easier.

The addxmp script makes it easy to describe a series of JPEG images that share metadata in a simple text file. Metadata that is the same for several images only needs to be entered in the text file once. Addxmp uses the other tools to convert the text to XMP and insert it into the JPEG images. It can also extract existing metadata from images into such a text file for easy editing.

For more info on XMP/RDF, see: