6.0.0 video thumbnailer...

Maik Qualmann metzpinguin at gmail.com
Sat Mar 10 08:47:22 GMT 2018


Hmm, the thumbnail size is setting in the video thumbnailerjob.cpp. I know
that the QImage size is always 256 from a site. I check it again with HiDPI
support.

Maik

2018-03-10 9:13 GMT+01:00 Gilles Caulier <caulier.gilles at gmail.com>:

> Maik,
> Look well in ffmpeg thumnailer code :
>
> https://cgit.kde.org/digikam.git/tree/libs/threadimageio/
> ffmpegthumbnailer/videothumbnailer.cpp?h=development/6.0.0#n56
>
> The video thumbnail size is set at 128, which is too low. It must be set
> externally when user switch to Hdpi support (typically 512 in this case)
>
> Gilles
>
> 2018-03-08 19:28 GMT+01:00 Maik Qualmann <metzpinguin at gmail.com>:
>
>> After a restart, the thumbnail is rotated correctly again, was also
>> dependent
>> on the size, so in the cache.
>>
>> Maik
>>
>> Am Donnerstag, 8. März 2018, 19:24:52 CET schrieben Sie:
>> > Yes, QtAV and ffmepegthumbnailer do not rotate themselves. Dolphin uses
>> the
>> > same code from ffmpegthumbnailer here and the videos are not rotated.
>> At the
>> > first scan digiKam rotate the thumbnail because it now knows the
>> > orientation, why not after F5 - I do not know.
>> >
>> > Maik
>> >
>> > Am Donnerstag, 8. März 2018, 19:16:29 CET schrieb Gilles Caulier:
>> > > Hum wrong interpretation from me. This depend of current thumbnail
>> size
>> > > displayed on icon view and image in cache. You need to reset the
>> > > thumbnails
>> > > DB and try as well... The results are... strange...
>> > > Gilles
>> > >
>> > > 2018-03-08 19:12 GMT+01:00 Gilles Caulier <caulier.gilles at gmail.com>:
>> > > > yes, but i think this code is not necessary. Did you download the
>> video
>> > > > samples from GDrive and try to import these files in your
>> collection ?
>> > > > Look
>> > > > the orientation of thumbnails and the preview.
>> > > >
>> > > > Gilles
>> > > >
>> > > > 2018-03-08 19:07 GMT+01:00 Maik Qualmann <metzpinguin at gmail.com>:
>> > > >> Hi Gilles,
>> > > >>
>> > > >> great, you are really fast. The QtAV widget does not rotate on its
>> own.
>> > > >> I
>> > > >> added this feature a few days ago, as the orientation of the video
>> in
>> > > >> DMetadata with your new FFMpeg code was available.
>> > > >>
>> > > >> Maik
>> > > >>
>> > > >> Am Donnerstag, 8. März 2018, 15:57:48 CET schrieb Gilles Caulier:
>> > > >> > Else, i tested with the collection of video files from GDrive :
>> > > >> >
>> > > >> > https://drive.google.com/drive/folders/10-SJNtJZZQd_LIchfav-> >>
>> > > >>
>> > > >> YQ9a-pNsQStT
>> > > >>
>> > > >> > The thumbnailer work as expected and there is no problem as QtAv
>> > > >> > frame
>> > > >> > extractor generate.
>> > > >> >
>> > > >> > Note : the thumbnails orientation don't need to be changed. Sound
>> > > >> > like
>> > > >> > ffmpeg autorotate the stream automatically. There are few video
>> taken
>> > > >> > vertically in the collection and without to use exif rotation
>> flag
>> > > >>
>> > > >> value,
>> > > >>
>> > > >> > all is displayed in right direction as well.
>> > > >> >
>> > > >> > Note2 : The video preview is also auto-rotated by QtAv widget. No
>> > > >> > need
>> > > >>
>> > > >> to
>> > > >>
>> > > >> > double rotation of video while playing. Just test with video
>> sample
>> > > >> > to
>> > > >> > reproduce the problem.
>> > > >> >
>> > > >> > Gilles Caulier
>> > > >> >
>> > > >> > 2018-03-08 15:51 GMT+01:00 Gilles Caulier <
>> caulier.gilles at gmail.com>:
>> > > >> > > Maik,
>> > > >> > >
>> > > >> > > The new video thumbnailer code based on ffmpeg is reviewed and
>> > > >>
>> > > >> optimized,
>> > > >>
>> > > >> > > excepted the last deprecated warning messages.
>> > > >> > >
>> > > >> > > These last one are relevant of change of FFMPEG API. It's not
>> only
>> > > >>
>> > > >> some
>> > > >>
>> > > >> > > method call changes (+arguments). The type of structures have
>> also
>> > > >> > > changed.
>> > > >> > > Typically :
>> > > >> > >
>> > > >> > > - AVPicture struct must be changed as AVFrame or a utils method
>> > > >> > > from
>> > > >> > > libavutil must be used.
>> > > >> > >
>> > > >> > > - AVCodecContext struct must be changed as AVCodecParameters.
>> > > >> > >
>> > > >> > > This must be done before to change deprecated methods. A simple
>> > > >>
>> > > >> migration
>> > > >>
>> > > >> > > of deprecated methods introduce more warnings due to use other
>> > > >>
>> > > >> internal
>> > > >>
>> > > >> > > structures.
>> > > >> > >
>> > > >> > > The most tedious method to port is avcodec_decode_video2()
>> which
>> > > >> > > must
>> > > >>
>> > > >> e
>> > > >>
>> > > >> > > replaced by 2 calls :  avcodec_send_packet() and
>> > > >>
>> > > >> avcodec_receive_frame().
>> > > >>
>> > > >> > > The last one must be pooled with a loop. It's not simple...
>> > > >> > >
>> > > >> > > Gilles
>> > > >> > >
>> > > >> > > 2018-03-06 22:06 GMT+01:00 Gilles Caulier
>> <caulier.gilles at gmail.com>:
>> > > >> > >> No, i use last stable QtAv 1.12.0 from Mageia6...
>> > > >> > >>
>> > > >> > >> Gilles
>> > > >> > >>
>> > > >> > >> 2018-03-06 21:20 GMT+01:00 Maik Qualmann <
>> metzpinguin at gmail.com>:
>> > > >> > >>> Gilles,
>> > > >> > >>>
>> > > >> > >>> do you use QtAV from the git/master? If so, it may be due to
>> a
>> > > >> > >>> new
>> > > >> > >>> signal in
>> > > >> > >>> the video frame extractor compared to version 1.12. I could
>> fix
>> > > >>
>> > > >> that.
>> > > >>
>> > > >> > >>> Maik
>> > > >> > >>>
>> > > >> > >>> Am Sonntag, 4. März 2018, 23:00:17 CET schrieb Gilles
>> Caulier:
>> > > >> > >>> > And this line :
>> > > >> > >>> > https://cgit.kde.org/ffmpegthumbs.git/tree/CMakeLists.txt#
>> n16
>> > > >> > >>> >
>> > > >> > >>> > Gilles
>> > > >> > >>> >
>> > > >> > >>> > 2018-03-04 22:58 GMT+01:00 Gilles Caulier <
>> > > >>
>> > > >> caulier.gilles at gmail.com>:
>> > > >> > >>> > > Look this line :
>> > > >> > >>> > >
>> > > >> > >>> > > https://cgit.kde.org/ffmpegthu
>> mbs.git/tree/ffmpegthumbnailer
>> > > >>
>> > > >> .h#n21
>> > > >>
>> > > >> > >>> > > Gilles
>> > > >> > >>> > >
>> > > >> > >>> > > 2018-03-04 19:27 GMT+01:00 Maik Qualmann
>> > > >> > >>> > > <metzpinguin at gmail.com
>> > > >> > >>> > >
>> > > >> > >>> > >> Gilles,
>> > > >> > >>> > >>
>> > > >> > >>> > >> libffmpegthumbnailer has no KIO dependencies, only C and
>> > > >>
>> > > >> FFMpeg. Or
>> > > >>
>> > > >> > >>> I do
>> > > >> > >>>
>> > > >> > >>> > >> not
>> > > >> > >>> > >> look right? Does the package exist in your Linux
>> > > >> > >>> > >> distribution?
>> > > >> > >>> > >>
>> > > >> > >>> > >> https://github.com/dirkvdb/ffm
>> pegthumbnailer/tree/master/lib
>> > > >> > >>> > >> ffmpegthumbnailer
>> > > >> > >>> > >>
>> > > >> > >>> > >> Maik
>> > > >> > >>> > >>
>> > > >> > >>> > >> Am Sonntag, 4. März 2018, 18:56:48 CET schrieb Gilles
>> Caulier:
>> > > >> > >>> > >> > Another one : https://bugs.kde.org/show_bug.
>> cgi?id=387892
>> > > >> > >>> > >> >
>> > > >> > >>> > >> > not reproducible here, but with FFMPEG, this will
>> kill the
>> > > >>
>> > > >> bug...
>> > > >>
>> > > >> > >>> > >> > Gilles
>> > > >> > >>> > >> >
>> > > >> > >>> > >> > 2018-03-04 18:55 GMT+01:00 Gilles Caulier <
>> > > >> > >>>
>> > > >> > >>> caulier.gilles at gmail.com>:
>> > > >> > >>> > >> > > For me this entry is valid :
>> > > >> > >>> > >> > >
>> > > >> > >>> > >> > > https://bugs.kde.org/show_bug.cgi?id=390443
>> > > >> > >>> > >> > >
>> > > >> > >>> > >> > > and we can try to close this file if we use FFMPEG
>> > > >>
>> > > >> directly to
>> > > >>
>> > > >> > >>> > >> generate
>> > > >> > >>> > >>
>> > > >> > >>> > >> > > thumbnailer...
>> > > >> > >>> > >> > >
>> > > >> > >>> > >> > > Gilles
>> > > >> > >>> > >> > >
>> > > >> > >>> > >> > > 2018-03-04 17:49 GMT+01:00 Gilles Caulier <
>> > > >> > >>>
>> > > >> > >>> caulier.gilles at gmail.com>:
>> > > >> > >>> > >> > >> Hi all,
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> Since i written the FFMPEG video metadata parser in
>> > > >> > >>> > >> > >> 6.0.0
>> > > >> > >>>
>> > > >> > >>> branch,
>> > > >> > >>>
>> > > >> > >>> > >> > >> i'm
>> > > >> > >>> > >> > >> trying to register a huge video collection from my
>> host
>> > > >> > >>>
>> > > >> > >>> computer.
>> > > >> > >>>
>> > > >> > >>> > >> > >> Here, more than 2500 MKV files are present, plus a
>> lots
>> > > >> > >>> > >> > >> of
>> > > >> > >>>
>> > > >> > >>> MP4, MOV,
>> > > >> > >>>
>> > > >> > >>> > >> and
>> > > >> > >>> > >>
>> > > >> > >>> > >> > >> another media taken with cellular and camera.
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> The registration have been very fast. 2500 file
>> parsed
>> > > >> > >>> > >> > >> in
>> > > >>
>> > > >> 2
>> > > >>
>> > > >> > >>> minutes
>> > > >> > >>>
>> > > >> > >>> > >> and
>> > > >> > >>> > >>
>> > > >> > >>> > >> > >> ready to use. System has SSD, Sqlite, 8 cores, and
>> 32Gb
>> > > >> > >>> > >> > >> of
>> > > >> > >>>
>> > > >> > >>> RAM. No
>> > > >> > >>>
>> > > >> > >>> > >> crash
>> > > >> > >>> > >>
>> > > >> > >>> > >> > >> all work fine... excepted... the video thumbnails.
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> I facing random dysfunctions with video files.
>> Sometime
>> > > >>
>> > > >> thumbs
>> > > >>
>> > > >> > >>> are
>> > > >> > >>>
>> > > >> > >>> > >> there,
>> > > >> > >>> > >>
>> > > >> > >>> > >> > >> sometime not. Using F5 always give a different
>> results
>> > > >>
>> > > >> until i
>> > > >>
>> > > >> > >>> try
>> > > >> > >>>
>> > > >> > >>> > >> > >> to
>> > > >> > >>> > >> > >> insist and i can see the DB locked and revival...
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> The video thumbnailer is based on QtAV frame
>> extractor.
>> > > >> > >>> > >> > >> My
>> > > >> > >>>
>> > > >> > >>> QtAV is
>> > > >> > >>>
>> > > >> > >>> > >> last
>> > > >> > >>> > >>
>> > > >> > >>> > >> > >> stable 1.12.0. I suspect a bug somewhere in QtAV,
>> as i
>> > > >>
>> > > >> can see
>> > > >>
>> > > >> > >>> > >> > >> thumbnailer
>> > > >> > >>> > >> > >> code including a lots of mutex to prevent
>> concurrency.
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> This is typically abnormal. FFMPEG API is
>> re-entrant as
>> > > >> > >>> > >> > >> i
>> > > >> > >>>
>> > > >> > >>> checked
>> > > >> > >>>
>> > > >> > >>> > >> with
>> > > >> > >>> > >>
>> > > >> > >>> > >> > >> the multi-threaded metadata parser unit test.
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> As we depend now directly of FFMPEG API, I propose
>> to
>> > > >>
>> > > >> rewrite
>> > > >>
>> > > >> > >>> the
>> > > >> > >>>
>> > > >> > >>> > >> video
>> > > >> > >>> > >>
>> > > >> > >>> > >> > >> thumbnailer with libav C function.
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> We have code ready to use with ffmpeg API here :
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> https://cgit.kde.org/ffmpegthumbs.git/tree/
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> Your viewpoint ?
>> > > >> > >>> > >> > >>
>> > > >> > >>> > >> > >> Gilles
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20180310/b15f26af/attachment.html>


More information about the Digikam-devel mailing list