Bug 372485

Summary: Video thumbnails not created on OS X (Linux works fine since 5.3)
Product: [Applications] digikam Reporter: Jens <jens-bugs.kde.org>
Component: Thumbs-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, evandro.boeing
Priority: NOR    
Version: 5.3.0   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In: 5.4.0
Sentry Crash Report:

Description Jens 2016-11-14 20:33:30 UTC
I installed the PKG on OS X 10.11.5 (and philip5's packages on Ubuntu 16.04 64bit) and video thumbnails only work on Linux. On OS X, no video thumbnails are created.

Is this a known bug? If not, how can I get more detailed console output?
Comment 1 caulier.gilles 2016-11-14 21:23:48 UTC
It's not
Comment 2 caulier.gilles 2016-11-14 21:30:09 UTC
It's not a bug, it's a limitation of Qt5::Multimedia under OSX and Windows, which cannot do extract video frames.
Comment 3 caulier.gilles 2016-11-14 21:31:13 UTC
Alternative to process video frame extraction can be done with OpenCV library, also used by digiKam :

http://stackoverflow.com/questions/30800772/how-to-grab-video-frames-in-qt

Gilles Caulier
Comment 4 Jens 2016-11-15 16:16:43 UTC
OK thank you :) do you have any plans to do this in the near future?
Comment 5 caulier.gilles 2016-11-15 16:24:31 UTC
It's diffcult to judge, but at least we can give a clear state:

1/ Qt5::Multimedia framework do not give the same results on OSX and Windows compared to Linux.
2/ Qt5::Multimedia framework under Linux use GStreamer codec in background under Linux, which is a huge pain for end users. GStreamer is insoluble puzzle with a lots of run-time dependencies. I tried to bundle it in AppImage for 5.3.0. Result, i lost one week only on this topic. This do not work !
3/ Qt5::Multimedia framework under OSX and Windows require extra codec. Why???
4/ Possible solution is to use ffmpeg backend + a Qt5 interface. Some project already exist but are complex or not finalized or use OpenGL for video. OPenGL is another pain, especialy uner Linux. So not at all...
5/ Another solution is OpenCV. But i'm not yet sure about the low level backend used to decode video. OpenCV is another big puzzle, complex to solve.
6/ Write a Qt5::framework plugin to use ffmpeg. I don't found something somewhere yet on the web... This will be my preferred way, but it's require investigation and time.

Gilles Caulier
Comment 6 caulier.gilles 2016-11-25 14:42:03 UTC
*** Bug 370228 has been marked as a duplicate of this bug. ***
Comment 7 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 271751, bug 361829, bug 159824, bug 329854

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 8 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 271751, bug 361829, bug 159824, bug 329854

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 9 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 271751, bug 361829, bug 329854
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 10 caulier.gilles 2016-12-18 09:56:10 UTC
Next digiKam 5.4.0 will support de facto video format through QtAV framework, without to install extra video codec. We remove Qt5::Multimedia dependency in digiKam.

Video thumbnails in action under MacOSX :

https://www.flickr.com/photos/digikam/31679362466/in/dateposted-public/

Gilles Caulier