I've played around a bit with gstreamer, to create jpegs with lat,lon data from a live video for some easy photomapping.
Basically a "v4l2src ! jpegenc ! metadatamux ! multifilesink" pipeline with some magic in between to set geo tags for the metadatamuxer.
Unfortunately there seems to be a bug somewhere and only the first file written by "multifilesink" gets any exif tags.
Anyway, pretty basic test code is at http://git.tal.org/cgi-bin/gitweb.cgi?p=gpsvideo.git;a=summary