Bug 419375

Summary: Allow showing EmbeddedVideoFile from images (aka HEIF) - Use ExifTool to extract data
Product: [Applications] digikam Reporter: Ernest Beinrohr <Ernest>
Component: Metadata-ExifToolAssignee: Digikam Developers <digikam-bugs-null>
Status: REOPENED ---    
Severity: wishlist CC: caulier.gilles, metzpinguin
Priority: NOR    
Version: 6.4.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ernest Beinrohr 2020-03-29 11:41:27 UTC
Some cameras (samsuns S10 for example) embed a short video to each image. It would be nice if digikam could show these


1. while watching images, show a video icon if EmbeddedVideoFile is detected
2. when clicked/keyboard shortcut is presset play that video. Allow it to be saved as new file (filename based on images filename)

- Image is too big for attachement. See: http://www.beinrohr.sk/20190929_141702.jpg
- video can be extracted with: exiftool -b -EmbeddedVideoFile my_motion_photo.jpg >video.mp4
Comment 1 Maik Qualmann 2020-03-29 11:58:42 UTC

*** This bug has been marked as a duplicate of bug 385726 ***
Comment 2 caulier.gilles 2022-04-06 20:54:49 UTC
Git commit febc26188fe4e6037e5c8a9b1840f65729972a47 by Gilles Caulier.
Committed on 06/04/2022 at 20:38.
Pushed by cgilles into branch 'master'.

Add ExifTool backend to load metadata for image or video.
Exiv2 is always used in priority. If it fail, ExifTool is used instead.
ExifTool has the capability to create an EXV container for Exiv2. All metadata extracted with ExifTool
are concatened to the EXV container with all possible translations with Exif, Iptc, and Xmp tags.
Of course tags supported by ExifTool but not supported by Exiv2 are lost.
Related: bug 385726, bug 416516, bug 360714, bug 264210, bug 426938, bug 419801, bug 103247

M  +1    -0    core/libs/metadataengine/CMakeLists.txt
M  +7    -0    core/libs/metadataengine/dmetadata/dmetadata.h
A  +94   -0    core/libs/metadataengine/dmetadata/dmetadata_exiftool.cpp     [License: GPL (v2+)]
M  +42   -17   core/libs/metadataengine/dmetadata/dmetadata_fileio.cpp
M  +7    -6    core/libs/metadataengine/engine/metaengine.h
M  +5    -0    core/libs/metadataengine/engine/metaengine_fileio.cpp
M  +4    -2    core/libs/metadataengine/exiftool/exiftoolparser_command.cpp