Apple Live Photos 元数据

Mat*_*kov 2 macos bash exif metadata apple-live-photos

当我从 Mac 上的照片应用程序导出实时照片时,它会创建两个单独的文件:jpg 和 mov。jpg 带有所有 exif 数据,而 mov 文件似乎总是落后五个小时。

更具体地说,我使用了 exiftool -option filename。这些是 jpg 的结果(yyyy-mm-dd 对于所有结果都是相同的,所以我只包括时间输出)。

DateTimeOriginal 10:24:38
GPSDateTime 15:24:38Z
MediaCreateDate none
FileModifyDate 15:47:46-05:00
ModifyDate 10:24:38
Run Code Online (Sandbox Code Playgroud)

这些是 mov 的结果。

DateTimeOriginal none
GPSDateTime none
MediaCreateDate 15:24:38
FileModifyDate 15:47:29-05:00
ModifyDate 15:24:40
Run Code Online (Sandbox Code Playgroud)

它应该显示的时间是 jpg 的 DateTimeOriginal。由于可能与时区相关的故障,mov 的 MediaCreateDate 似乎晚了五个小时。

无论如何,我问这个问题的原因是我想从使用 Apple 照片过渡到保管箱中的普通文件夹树。问题是有一个好的命名方案来保持事物的有序性。我用谷歌搜索了一下,如果不是实时照片的 mov 文件,使用 Hazel(加上下面的脚本)效果很好。使用合适的命名方案对我的所有照片(和实时照片)进行排序。

如何调整下面的脚本以获得 mov 文件的正确名称?

或者,另一种选择

如何使用 Hazel 告诉每个 mov 文件具有同名的 jpg 的 DateTimeOriginal?

最后一件事我的意思是有一个脚本,如果输入一个 mov 文件,它会查找同名的 jpg 并使用它的 DateTimeOriginal。

顺便说一句,这里的第二个答案(Apple Live Photo file format)似乎解释了照片如何跟踪mov文件的元数据,但我不知道如何使用它。

我实际上找到了两个脚本。第一个在这里(https://www.macstories.net/reviews/better-dropbox-camera-uploads-with-camerasync/)。

<?php
date_default_timezone_set("Europe/Rome");
$date = exif_read_data($argv[1],"EXIF");
$date = $date["DateTimeOriginal"];
$time = date_parse_from_format("Y:m:d H:i:s",$date);
$time = mktime($time["hour"],$time["minute"],$time["second"],$time["month"],$time["day"],$time["year"]);
touch($argv[1],$time,$time);
?>
Run Code Online (Sandbox Code Playgroud)

第二个(https://www.noodlesoft.com/forums/viewtopic.php?f=4&t=2218)是

exiftool -P -d '%Y.%m.%d at %H.%M.%S' \
   '-filename<${FileModifyDate;}.%e' \
    '-filename<${GPSDateTime;}.%e' \
    '-filename<${MediaCreateDate;}.%e' \
    '-filename<${ModifyDate;}.%e' \
    '-filename<${DateTimeOriginal;}.%e' \
    "$1"
Run Code Online (Sandbox Code Playgroud)

我之前在 apple.stackexchange 上问过这个问题,但没有得到关注。https://apple.stackexchange.com/questions/236377/live-photos-metadata

小智 7

还权衡这个老问题:

当将实时照片作为单独的 JPG 和 MOV 文件处理时,元数据将允许您链接文件。MOV 文件有一个名为 ContentIdentifier 的 EXIF 标记,该标记似乎与 JPG 文件的 MakerNotes EXIF 标记中的 Apple_0x0011 标记相同。

使用 exif 工具:

$ exiftool -u -s IMG_8403.JPG | grep Apple_0x0011 Apple_0x0011 : C09DCB26-D321-4254-9F68-2E2E7FA16155 $ exiftool -ContentIdentifier IMG_8403.MOV Content Identifier : C09DCB26-D321-4254-9F68-2E2E7FA16155