Bug 329854

Summary: digiKam doesn't rotate video thumbnail
Product: [Applications] digikam Reporter: Philippe ROUBACH <philippe.roubach>
Component: Metadata-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: alan.pater, caulier.gilles, timetre
Priority: NOR    
Version: 5.4.0   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed In: 6.0.0
Sentry Crash Report:
Attachments: digikam movie landscape
picasa movie portrait
picasa view movie portrait
2 libs are installed , see the version

Description Philippe ROUBACH 2014-01-11 17:39:01 UTC
with my smartphone in vertical position
i take a movie (mp4)
then
the movie is in portrait format
then i import it to digikam
then
in digikam :
- the thumbnail is in landscape format
- preview is in landscape
- view with kaffeine and vlc is in landscape format

then
i export the movie to picasaweb

surprisingly in picasaweb it is correctly in portrait format

see the captures


Reproducible: Always
Comment 1 Philippe ROUBACH 2014-01-11 17:39:44 UTC
Created attachment 84573 [details]
digikam  movie landscape
Comment 2 Philippe ROUBACH 2014-01-11 17:40:22 UTC
Created attachment 84574 [details]
picasa movie portrait
Comment 3 Philippe ROUBACH 2014-01-11 17:40:56 UTC
Created attachment 84575 [details]
picasa view movie portrait
Comment 4 caulier.gilles 2014-01-11 17:52:49 UTC
PicasaWab must certainly check Exif info from MP4 file to know orientation.

With new release of Exiv2 released at last Christmas, video metadata support have been add. digiKam is already able to handle this feature if reight exiv2 version is available...

Gilles Caulier
Comment 6 Philippe ROUBACH 2014-01-11 17:57:13 UTC
Created attachment 84577 [details]
2 libs are installed , see the version
Comment 7 Philippe ROUBACH 2014-01-11 18:02:27 UTC
the first lib  : libexiv2-12 version 0.23-9.1.3  2013-09-14
the second lib : libexiv2-11 version 4.12.0-97.1  2013-12-14
Comment 8 caulier.gilles 2014-01-11 18:13:45 UTC
You need Exiv2 0.24 :

http://www.exiv2.org/whatsnew.html

libkexiv2+digiKam must be compiled against this version, else nothing will changes about video metadata management in digiKam...

Gilles Caulier
Comment 9 caulier.gilles 2014-08-28 16:16:45 UTC
Philippe, 

Some fresh news about this file, using last digiKam 4.2.0 and last Exiv2 0.24 ?

Gilles Caulier
Comment 10 Philippe ROUBACH 2014-09-01 11:11:08 UTC
opensuse does not want to update to exiv2 0.24 for opensuse 13.1

we must wit opensuse 13.2 to ha
Comment 11 caulier.gilles 2014-09-01 11:20:36 UTC
The minimum condition to check if bug still reproducible with digiKam 4.x is to use Exiv2 0.24 where video file metadatas are supported.

Gilles Caulier
Comment 12 Vincent Tassy 2014-11-07 16:07:27 UTC
Problem is still present in 4.5 with exiv2 0.24

I tried with an iPhone 4S MOV file and a Samsung Galaxy S3 MP4 file.
Rotation is not detected so thumbnail is in the wrong direction.
This is also true with the previews in dolphin ...

Running the exiv2 command line (exiv2 -p a) does return a whole bunch of meta-data (xmp) but none regarding orientation.

Running exiftool (exiftool -g) does report a tag Rotation = 90 in the "Composite" group ...

Therefore I'm assuming exiv2 is missing some of the meta-data contained in the file ...
Comment 13 Alan Pater 2015-03-07 21:32:33 UTC
I don't think exiv2 supports rotating videos, as not even exiftool does!

There may be a workaround, however. This same question came up on the exiftool forum.

     http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,6010.msg31174.html#msg31174

Note that most systems these days have avconv in place of ffmpeg, but the rest should be the same ...
Comment 14 Unknown 2016-12-11 12:09:04 UTC
Git commit 32ebb7dff83b03cfad91cbe89de252b1f62bdd6e by Gilles Caulier.
Committed on 11/12/2016 at 12:02.
Pushed by cgilles into branch 'master'.

digiKam embeded mediaplayer is now based on QtAV/ffmpeg instead Qt5Multimedia.

TODO:

- handle video rotation flag with new Exiv2 0.26 to autorotate media in player.
- port video thumbnailer to QtAV.
- port Presentation audio player to QtAV.
- remove Qt5Multimedia dependency.

For later:

- play video into slideshow tool.
- port old videoslideshow tool to QtAv
Related: bug 373272, bug 372485, bug 271751, bug 361829, bug 159824

M  +12   -6    CMakeLists.txt
M  +3    -2    app/CMakeLists.txt
M  +40   -38   app/views/mediaplayerview.cpp
M  +11   -8    app/views/mediaplayerview.h

https://commits.kde.org/digikam/32ebb7dff83b03cfad91cbe89de252b1f62bdd6e
Comment 15 Unknown 2016-12-11 16:40:12 UTC
Git commit ec50a8ad510e9fe6ded53f0632afd4ffbdf8ba47 by Gilles Caulier.
Committed on 11/12/2016 at 16:37.
Pushed by cgilles into branch 'master'.

digiKam port to QtAV/ffmpeg instead Qt5Multimedia : port Presentation audio player to QtAV.

TODO:

- handle video rotation flag with new Exiv2 0.26 to autorotate media in player.
- port video thumbnailer to QtAV.
- remove Qt5Multimedia dependency.

For later:

- play video into slideshow tool.
- port old videoslideshow tool to QtAv.
Related: bug 372485, bug 271751, bug 361829, bug 159824

M  +4    -5    app/CMakeLists.txt
M  +1    -1    app/views/mediaplayerview.cpp
M  +2    -2    app/views/mediaplayerview.h
M  +1    -5    utilities/presentation/CMakeLists.txt
M  +34   -24   utilities/presentation/audio/presentationaudiolist.cpp
M  +8    -5    utilities/presentation/audio/presentationaudiolist.h
M  +45   -27   utilities/presentation/audio/presentationaudiowidget.cpp
M  +9    -5    utilities/presentation/audio/presentationaudiowidget.h

https://commits.kde.org/digikam/ec50a8ad510e9fe6ded53f0632afd4ffbdf8ba47
Comment 16 Unknown 2016-12-11 21:11:36 UTC
Git commit 193ecfd91745aab81c15ccf1a3889dc033ee7917 by Gilles Caulier.
Committed on 11/12/2016 at 21:09.
Pushed by cgilles into branch 'master'.

digiKam port to QtAV/ffmpeg instead Qt5Multimedia : add video support into Slideshow.

TODO:

- handle video rotation flag with new Exiv2 0.26 to autorotate media in player.
- port video thumbnailer to QtAV.
- remove Qt5Multimedia dependency.

For later:

- port old videoslideshow tool to QtAv.
Related: bug 159824, bug 372485, bug 271751, bug 361829
FIXED-IN: 5.4.0

M  +8    -6    NEWS
M  +3    -3    app/views/mediaplayerview.cpp
M  +1    -1    app/views/mediaplayerview.h
M  +1    -0    utilities/slideshow/CMakeLists.txt
M  +68   -5    utilities/slideshow/slideshow.cpp
M  +3    -0    utilities/slideshow/slideshow.h
A  +227  -0    utilities/slideshow/slidevideo.cpp     [License: GPL (v2+)]
C  +16   -51   utilities/slideshow/slidevideo.h [from: app/views/mediaplayerview.h - 050% similarity]

https://commits.kde.org/digikam/193ecfd91745aab81c15ccf1a3889dc033ee7917
Comment 17 Philippe ROUBACH 2016-12-23 15:45:07 UTC
5.4.0 appimage

problem not fixed
Comment 18 Maik Qualmann 2016-12-23 21:15:35 UTC
Git commit 7ce05cef9ce1260aa75cdfa909be57e7aaa49fc5 by Maik Qualmann.
Committed on 23/12/2016 at 21:14.
Pushed by mqualmann into branch 'master'.

add manual rotating the video output with the right mouse button

M  +39   -6    app/views/mediaplayerview.cpp
M  +1    -0    app/views/mediaplayerview.h

https://commits.kde.org/digikam/7ce05cef9ce1260aa75cdfa909be57e7aaa49fc5
Comment 19 Maik Qualmann 2018-02-27 21:16:39 UTC
Git commit 1e0004ca034267cfdd472cc46a0864d2dd17e68d by Maik Qualmann.
Committed on 27/02/2018 at 21:15.
Pushed by mqualmann into branch 'development/6.0.0'.

rotate video thumbnails with the correct orientation, if available
FIXED-IN: 6.0.0

M  +1    -0    libs/threadimageio/thumbnailloadthread.cpp
M  +20   -2    libs/threadimageio/videothumbnailer.cpp
M  +1    -1    libs/threadimageio/videothumbnailer.h
M  +14   -7    libs/threadimageio/videothumbnailerjob.cpp
M  +8    -4    libs/threadimageio/videothumbnailerjob.h

https://commits.kde.org/digikam/1e0004ca034267cfdd472cc46a0864d2dd17e68d