Bug 366348 - Saving metadata to video files using ExifTool
Summary: Saving metadata to video files using ExifTool
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-ExifTool (show other bugs)
Version: 5.0.0
Platform: Microsoft Windows Microsoft Windows
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
Depends on:
Reported: 2016-08-02 13:30 UTC by Andrius
Modified: 2022-04-08 03:37 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 8.0.0
Sentry Crash Report:


Note You need to log in before you can comment on or make changes to this bug.
Description Andrius 2016-08-02 13:30:29 UTC
Video files are a part of anyone's family photo archive. I think Digikam could have got many news users if it could save metadata to video files (avi, mp4, m4v, mov). I am only thinking of the following metadata but there might be something else:
- Star rating
- Tags (keywords)
- Date taken (Media created)
The only software I have used that could do that was Windows Live Photo Gallery. Since WLPG lacks some essential options like RAW files support, multi level tags, etc. Digikam could get all its users. 

Reproducible: Always
Comment 1 caulier.gilles 2016-08-03 09:42:49 UTC
I close this file as UPSTREAM.

The video file metadata support is delegate to Exiv2 shared library. Is know that implementation to write metadata in video file needs improvement and stabilization (digiKam crash often while this kind of operation).

Nothing will be done in digiKam source code, as video file support is already implemented in metadata interface. Just the low level backend in Exiv2 is not yet ready for production.

The workaround for you is to use XMP side car support in digiKam with read only files (RAW and video files). 

Gilles Caulier
Comment 2 caulier.gilles 2021-04-25 10:20:17 UTC

*** This bug has been marked as a duplicate of bug 416516 ***
Comment 3 caulier.gilles 2022-04-07 04:59:45 UTC
Git commit 3a672f38cda7738356f19707a6a634ca91c269e6 by Gilles Caulier.
Committed on 07/04/2022 at 04:45.
Pushed by cgilles into branch 'master'.

Write metadata with ExifTool backend if Exiv2 fails to process, for exemple with RAW files or Video files.
Tested successfuly with a MP4 video to insert a comment.
For RAW and other king of files as MPO or JPEG with more than 64kB of Exif segement, Exiv2 must be bannned to uses in cases of writting operations as files can be corrupted.
This require more regression tests to validate ExifTool uses in place of Exiv2.
Related: bug 406540, bug 416516, bug 237504, bug 384092, bug 264210, bug 326408, bug 421464, bug 134486, bug 309341, bug 219856, bug 377622, bug 325458, bug 170693, bug 448729, bug 338075, bug 436876

M  +1    -0    core/libs/metadataengine/dmetadata/dmetadata.h
M  +43   -0    core/libs/metadataengine/dmetadata/dmetadata_exiftool.cpp
M  +49   -3    core/libs/metadataengine/dmetadata/dmetadata_fileio.cpp
M  +2    -2    core/libs/metadataengine/exiftool/exiftoolparser.h

Comment 4 caulier.gilles 2022-04-08 03:37:54 UTC
Git commit 80ecdd9980c6cf14789606455bf9d367c1ffef51 by Gilles Caulier.
Committed on 08/04/2022 at 03:25.
Pushed by cgilles into branch 'master'.

Use only ExifTool backend to write metadata to RAW files, as Exiv2 is fully unsafe with these kind of operations.
Reading and Writing metadata to video files is now delegate to ExifTool Backend too.
Related: bug 406540, bug 416516, bug 237504, bug 384092, bug 264210, bug 326408, bug 134486, bug 309341, bug 377622, bug 170693, bug 419801, bug 338075
FIXED-IN: 8.0.0

M  +1    -0    NEWS
M  +13   -0    core/libs/metadataengine/dmetadata/dmetadata_exiftool.cpp
M  +6    -52   core/libs/metadataengine/engine/metaengine_p.cpp
M  +4    -20   core/utilities/setup/metadata/setupmetadata.cpp
M  +3    -4    core/utilities/setup/metadata/setupmetadata_behavior.cpp