Bug 334089

Summary: VideoSlideshow tool port to QtAv needed
Product: [Applications] digikam Reporter: Kevin Kofler <kevin.kofler>
Component: Plugin-Generic-VideoSlideshowAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: aspotashev, caulier.gilles, cordlandwehr, diane, nucleo, rdieter
Priority: NOR    
Version: 5.5.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
URL: https://bugzilla.redhat.com/show_bug.cgi?id=1092659
Latest Commit: Version Fixed In: 5.6.0
Sentry Crash Report:

Description Kevin Kofler 2014-04-29 16:52:16 UTC
Distributions are currently trying to phase out GStreamer 0.10. One remaining pain point is QtGStreamer. There is now a port to GStreamer 1.x available (QtGStreamer-1.0-proposed, see https://github.com/detrout/qt-gstreamer/tree/1.0-proposed).

Only 3 packages depend on QtGStreamer in the Fedora repository:
* ktp-call-ui
* kamoso
* kipi-plugins
There are already QtGStreamer 1 ports available for ktp-call-ui and kamoso. Only kipi-plugins (the VideoSlideshow plugin) is blocking the migration.

Thus: Please port the VideoSlideshow Kipi plugin to QtGStreamer 1.

Reproducible: Always

Steps to Reproduce:
1. Check the dependencies of kipi-plugins.
Actual Results:  
Depends on the legacy GStreamer 0.10.

Expected Results:  
A QtGStreamer 1.0 / GStreamer 1.x port is available.

If the plugin is not ported soon, we will have to disable its build (i.e. build kipi-plugins without QtGStreamer support) in Fedora Rawhide.
Comment 1 Kevin Kofler 2014-05-13 16:10:55 UTC
So, is there no interest in porting that plugin to the new QtGStreamer version?
Comment 2 caulier.gilles 2014-05-13 16:34:21 UTC
Not no interest, but no free time or availablity to do it.

Ideal plan is to found a student to work on this plugin...

Gilles Caulier
Comment 3 Diane Trout 2014-05-13 17:39:59 UTC
Hi.

George Kiagiadakis finished merging my branch of Qt-Gtreamer into the freedesktop master. So the canonical version of the port is now the master branch of http://cgit.freedesktop.org/gstreamer/qt-gstreamer/

I'll try to figure out the the scope of porting the plugin in a day or two and report back to here.

It'd be really nice not to have to ship two versions of qt-gstreamer, and I've already ported 2 of the 4 packages in debian that use qt-gstreamer.
Comment 4 caulier.gilles 2014-05-13 20:55:29 UTC
Diane,

Thanks to contribute to port the plugin. I'm still on line here if necessary. Attaching a patch against git/master code is the best way to introduce changes relevant for the release.

Best

Gilles Caulier
Comment 5 Kevin Kofler 2014-05-30 00:28:49 UTC
Any news here?
Comment 6 Diane Trout 2014-05-30 03:24:57 UTC
I'd compiled it against 1.0 and it compiles with no modifications, however something goes wrong with the pipeline and it doesn't save the file.

However I don't have much experience with kipi-plugins, is there a way to reload them / or some way to easily test a plugin?
Comment 7 caulier.gilles 2014-06-01 11:53:29 UTC
To test  a plugin, you must reload it through kipi host application to restart it, after to have re-installed the plugin as well.

There is also a simple kipi host application from CLI to load plugin as stand alone. It's in kipi-plugins /tests subdir. To compile it, you need to use -DKDE4_BUILD_TESTS=on" argument with cmake config command line. CLI application is "kipicmd". Its'' not installed on your system, but it can be used from build cmake dir of kipi-plugins.

To know all options of kipicmd, run it without args, this will be printed on CLI.

Gilles Caulier
Comment 8 Andreas Cord-Landwehr 2014-07-01 18:34:55 UTC
Hi, for the people interested in this bug report (who I coincidentally did not added as reviewers), I just added a porting patch to reviewboard:  https://git.reviewboard.kde.org/r/119073/

Cheers,
Andreas
Comment 9 caulier.gilles 2014-07-10 08:02:48 UTC
Git commit cbc59f1060fe4cf770d35800bbcefb1f89f882de by Gilles Caulier.
Committed on 10/07/2014 at 07:59.
Pushed by cgilles into branch 'master'.

apply patch to handle QtGstreamer API 1.0 in VideoSlideShow tool
REVIEW: 119073

M  +18   -0    CMakeLists.txt
A  +6    -0    cmake/templates/gstreamerapi.h.in_cmake
M  +25   -1    videoslideshow/manager/encoderdecoder.cpp

http://commits.kde.org/kipi-plugins/cbc59f1060fe4cf770d35800bbcefb1f89f882de
Comment 10 caulier.gilles 2017-06-02 13:16:57 UTC
Git commit 8dda686cf8c9409c03786007e47e1f15e1419097 by Gilles Caulier.
Committed on 02/06/2017 at 12:55.
Pushed by cgilles into branch 'master'.

New digiKam Video SlideShow tool based on QtAV/FFMpeg encoder.

The tool replace the older Qt4 kipi plugin based on ImageMagick and GStreamer which never
work as expected due to run time dependencies with GStreamer which are a big puzzle to resolve
and don't work under MacOS and Windows.
The tool permit to encode images as a video diaporama.
The tool support many video codecs as X264 or MPEG4 provided by FFMpeg and
is able to store stream as AVI, MKV, or MP4 media.
The tool permit to apply a transition effect between images (same effects than presentation tool non-OpenGL).
The tool permit to export image from current select or a set of albums selection (as HTMLGallery tool).
The tool do not permit to encode an audio soundtrack with the video stream due a bug in QtAV which
have been reported and must be fixed in next QtAV release 1.12.0.
The tool is available currently under digiKam album GUI, but it will be also available into
ImageEditor, LightTable, and Showfoto (as HTMLGallery, Panorama, Calendar, etc... tools.)

Screeshots of tool in action : https://www.flickr.com/photos/digikam/albums/72157684569983835
Related: bug 316791, bug 320725, bug 337605, bug 331625, bug 324646, bug 176727, bug 318297, bug 153061, bug 271751
FIXED-IN: 5.6.0

M  +17   -0    app/main/digikamapp.cpp
M  +1    -0    app/main/digikamapp.h
M  +2    -1    app/main/digikamui5.rc
M  +14   -0    libs/widgets/mainview/dxmlguiwindow.cpp
M  +9    -1    libs/widgets/mainview/dxmlguiwindow.h

https://commits.kde.org/digikam/8dda686cf8c9409c03786007e47e1f15e1419097