My photo camera records video as .mov files. They have some metadata (in the XMP format?), which I can read using
exiftool. For example, to get only the metadata related to dates/times I can do:
$ exiftool MVI_3735.MOV | grep -i Date File Modification Date/Time : 2013:09:09 20:40:33+01:00 Date/Time Original : 2013:09:09 18:46:15 Create Date : 2013:09:09 18:46:15 Modify Date : 2013:09:09 18:46:15 Track Create Date : 2013:09:09 18:46:15 Track Modify Date : 2013:09:09 18:46:15 Media Create Date : 2013:09:09 18:46:15 Media Modify Date : 2013:09:09 18:46:15
What I need is to make all the dates/times equal to the file's date/time (the first line in the example above). Any idea how I can accomplish this on OSX?
Additionally, it would be great if it allowed me to shift any existing time value by a duration amount, like exiftool does (e.g., "add 2h to Create Date"), and if allows me to do this for a whole set of files, but I can manage if I have to edit the metadata for each file individually.
What I've tried so far
- ExifTool. That's what I would use if it were jpegs, but it doesn't seem to be able to write metadata of mov files. It is just able to read it...
- Hootenanny. It doesn't seem to read the original metadata. In spite of that, it allows me to add a
Creation Dateand a
Modify Date, and when I reload the file it is able to read that info. So, my conclusion is that it's storing metadata somewhere else (i.e., not in the same place my camera is storing it). Plus, just adding a
Creation Dateand saving adds 200k to the file. For all of this, I'm not considering this a reliable solution.
- ffmpeg. This should work, and I've tried running it on the command line, but the result seems to be that a big chunk of the existing metadata disappears (!) and the
Creation Dateends up not being saved anyway:
ffmpeg -i MVI_3735.MOV -metadata creation_time='2013:09:09 20:40:33' -codec copy MVI_3735_withdate.MOV