Bug 468572

Summary: webm vp9 video not playing
Product: [Applications] digikam Reporter: nucleo <nucleo>
Component: Preview-VideoAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, metzpinguin
Priority: NOR    
Version: 8.0.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In: 8.3.0
Sentry Crash Report:
Attachments: messages in terminal with ffmpeg 5
messages in terminal with ffmpeg 4

Description nucleo 2023-04-16 12:48:33 UTC
Created attachment 158143 [details]
messages in terminal with ffmpeg 5

SUMMARY

webm video not playing if digiKam built using ffmpeg 5 (playing if built with ffmpeg 4 and in appimage).


STEPS TO REPRODUCE
1.  Open webm video (vp9, opus)

OBSERVED RESULT
Only one second of the video plays and stops.
Message in terminat
digikam.qtav.warn: [VideoDecoder] Resource temporarily unavailable

SOFTWARE/OS VERSIONS
Fedora 37
FFmpeg 5.1.3
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8

ADDITIONAL INFORMATION
With ffpmeg 4 video played but there is message in terminal
digikam.qtav.warn: [FFmpeg:vp9] The deprecated avcodec_decode_* API cannot return all the frames for this decoder. Some frames will be dropped. Update your code to the new decoding API to fix this.
Comment 1 nucleo 2023-04-16 12:49:16 UTC
Created attachment 158144 [details]
messages in terminal with ffmpeg 4
Comment 2 caulier.gilles 2023-04-16 13:09:10 UTC
I'm sure to host webm codec to ffmpeg 4, if i remember.

Please share on the cloud a WEBM file sample to test here.

Gilles Caulier
Comment 4 Maik Qualmann 2023-04-16 17:42:49 UTC
Git commit d68538c96e573bdf9ca3525591eb9e5545e68bc5 by Maik Qualmann.
Committed on 16/04/2023 at 17:41.
Pushed by mqualmann into branch 'master'.

fix playing video if the decoder needs more input data
FIXED-IN: 8.1.0

M  +2    -1    NEWS
M  +11   -6    core/libs/video/qtav/codec/video/VideoDecoderFFmpegBase.cpp

https://invent.kde.org/graphics/digikam/commit/d68538c96e573bdf9ca3525591eb9e5545e68bc5
Comment 5 nucleo 2023-04-16 19:39:42 UTC
With this commit video played as  slideshow with squares.
In console I see other message

digikam.qtav.warn: [VideoDecoder] Invalid data found when processing input
Comment 6 Maik Qualmann 2023-04-16 19:48:57 UTC
The test video from Comment 3 plays flawlessly here.

Maik
Comment 7 Maik Qualmann 2023-04-16 20:24:59 UTC
Git commit 918a42d2b48c8d87eee17f81718d9a6f5379421e by Maik Qualmann.
Committed on 16/04/2023 at 20:24.
Pushed by mqualmann into branch 'master'.

next try to fix video decoder

M  +5    -4    core/libs/video/qtav/codec/video/VideoDecoderFFmpegBase.cpp

https://invent.kde.org/graphics/digikam/commit/918a42d2b48c8d87eee17f81718d9a6f5379421e
Comment 8 nucleo 2023-04-16 21:24:22 UTC
Last commit much better because video played fine from begin to end.
But if I rewind video to any position then again begins slideshow with squares and messages

digikam.qtav.warn: [VideoDecoder] Invalid data found when processing input
digikam.qtav.warn: video too fast!!! sleep 0.00 s, nb fast: 1, v_a: 0.0000
Comment 9 caulier.gilles 2023-10-11 05:26:05 UTC
Nucleo,

What's about this file using current 8.2.0 AppImage Linux bundle ? It's
reproducible ?

https://files.kde.org/digikam/

Thanks in advance

Gilles Caulier
Comment 10 caulier.gilles 2024-01-26 12:47:39 UTC
Git commit 79ac8d6e9cb90c8d9b456405051ec0937f8485fe by Gilles Caulier.
Committed on 26/01/2024 at 13:44.
Pushed by cgilles into branch 'master'.

Preview and Slideshow of video is now rendered with Qt6::Multimedia and Qt5::QtAVPlayer.
Older and unmaintained QtAV framework code used in digiKam core is fully removed.
Both Qt6::Multimedia and Qt5::QtAVPlayer are based and compatible to FFMpeg API 5 and later.
Related: bug 382582, bug 435660, bug 471199, bug 478314, bug 445422, bug 448681, bug 477031, bug 478613
FIXED-IN: 8.3.0

M  +12   -9    NEWS

https://invent.kde.org/graphics/digikam/-/commit/79ac8d6e9cb90c8d9b456405051ec0937f8485fe