我使用^{python3 -m pip install exifread
一起安装)从照片中读取EXIF标记。同一台摄像机使用扩展名.MOV
和我可以使用^{brew install exiftool
安装)查看的Create Date
EXIF字段拍摄视频:
$ exiftool DSC_0002.MOV | grep Date File Modification Date/Time : 2020:02:20 18:13:14+00:00 File Access Date/Time : 2020:03:07 08:11:57+00:00 File Inode Change Date/Time : 2020:03:04 11:24:51+00:00 Modify Date : 2020:02:20 18:13:21 Track Create Date : 2020:02:20 18:13:21 Track Modify Date : 2020:02:20 18:13:21 Media Create Date : 2020:02:20 18:13:21 Media Modify Date : 2020:02:20 18:13:21 Create Date : 2020:02:20 18:13:15 Date/Time Original : 2020:02:20 18:13:15 Date Display Format : Y/M/D
我认为exifread
是为照片而构建的,因为下面的代码显示了此视频的标记的空列表:
import exifread
f = open("/path/to/file", "rb")
tags = exifread.process_file(f)
print(tags)
一种解决方案是对exiftool
进行子流程调用并分析结果:
EXIFTOOL_DATE_TAG_VIDEOS = "Create Date"
EXIF_DATE_FORMAT = "%Y:%m:%d %H:%M:%S"
cmd = "exiftool '%s'" % filepath
output = subprocess.check_output(cmd, shell=True)
lines = output.decode("ascii").split("\n")
for l in lines:
if EXIFTOOL_DATE_TAG_VIDEOS in l:
datetime_str = l.split(" : ")[1]
print(datetime.datetime.strptime(datetime_str,
EXIF_DATE_FORMAT))
如何在没有子流程调用的情况下访问EXIF标记列表
目前没有回答
相关问题 更多 >
编程相关推荐