dirkvdb / ffmpegthumbnailer

Lightweight video thumbnailer that can be used by file managers to create thumbnails for video files
GNU General Public License v2.0
524 stars 72 forks source link

Ffmpegthumbnailer doesn't work on fedora silverblue 38 #223

Closed Froggy232 closed 3 weeks ago

Froggy232 commented 1 year ago

Hi, First, thanks you for your work! I was using ffmpegthumbnailer flawlessly on archlinux then on fedora silverblue 37, but since I have upgraded to fedora silverblue 38, it doesn't work anymore. I have tried to launch ffmpegthumbnailer from a terminal with this command : "ffmpegthumbnailer -i Filename.mkv -o Test" but it doesn't work, it tell me that :

Error: basic_string::substr: __pos (which is 18446744073709551615) > this->size() (which is 4)

Does someone have an idea? Thanks you

queeup commented 1 year ago

Same here. Silverblue 38 is not installing dependencies. https://github.com/dirkvdb/ffmpegthumbnailer/issues/223

Silverblue 38 install

$ rpm-ostree install ffmpegthumbnailer
Checking out tree 3cfd4aa... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora-modular updates-modular updates fedora rpmfusion-free-updates rpmfusion-free rpmfusion-nonfree-updates rpmfusion-nonfree copr:copr.fedorainfracloud.org:phracek:PyCharm rpmfusion-nonfree-nvidia-driver google-chrome rpmfusion-nonfree-steam updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2023-03-14T10:56:46Z solvables: 4
rpm-md repo 'fedora-modular' (cached); generated: 2023-04-14T09:25:02Z solvables: 1082
rpm-md repo 'updates-modular' (cached); generated: 2018-02-20T19:18:14Z solvables: 0
rpm-md repo 'updates' (cached); generated: 2023-04-21T02:01:27Z solvables: 4044
rpm-md repo 'fedora' (cached); generated: 2023-04-14T09:32:40Z solvables: 69222
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2023-04-20T14:12:32Z solvables: 0
rpm-md repo 'rpmfusion-free' (cached); generated: 2023-04-14T11:37:11Z solvables: 468
rpm-md repo 'rpmfusion-nonfree-updates' (cached); generated: 2023-04-20T14:30:08Z solvables: 0
rpm-md repo 'rpmfusion-nonfree' (cached); generated: 2023-04-14T12:02:51Z solvables: 235
rpm-md repo 'copr:copr.fedorainfracloud.org:phracek:PyCharm' (cached); generated: 2023-04-15T11:41:45Z solvables: 5
rpm-md repo 'rpmfusion-nonfree-nvidia-driver' (cached); generated: 2023-04-08T18:30:02Z solvables: 31
rpm-md repo 'google-chrome' (cached); generated: 2023-04-20T18:44:17Z solvables: 3
rpm-md repo 'rpmfusion-nonfree-steam' (cached); generated: 2023-04-08T18:30:20Z solvables: 2
rpm-md repo 'updates-archive' (cached); generated: 2022-11-11T05:17:33Z solvables: 0
Resolving dependencies... done
Will download: 1 package (114,4 kB)
Downloading from 'rpmfusion-free'... done
Importing packages... done
Checking out packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Writing OSTree commit... done
Staging deployment... done
Added:
  ffmpegthumbnailer-2.2.3-0.4.20210902gitd92e191.fc38.x86_64
Changes queued for next boot. Run "systemctl reboot" to start a reboot
$ 

Silverblue 37 install

$ rpm-ostree db diff
ostree diff commit from: rollback deployment (d068022c85babfaed34814f017405c75e90525b7df1ad7f7a2ea47ba88fa618a)
ostree diff commit to:   booted deployment (ad748ee65ced3b0cb0e5f330d5d287213cb3614da53813d11403e9758e4379b8)
Added:
  ffmpeg-libs-5.1.3-1.fc37.x86_64
  ffmpegthumbnailer-2.2.3-0.3.20210902gitd92e191.fc37.x86_64
  fftw-libs-double-3.3.10-3.fc37.x86_64
  ilbc-3.0.4-3.fc37.x86_64
  intel-mediasdk-22.5.4-1.fc37.x86_64
  ladspa-1.13-29.fc37.x86_64
  leptonica-1.82.0-8.fc37.x86_64
  libass-0.17.0-1.fc37.x86_64
  libbs2b-3.1.0-29.fc37.x86_64
  libchromaprint-1.5.1-5.fc37.x86_64
  libmodplug-1:0.8.9.0-15.fc37.x86_64
  libopenmpt-0.6.9-1.fc37.x86_64
  libplacebo-4.208.0-1.fc37.x86_64
  libshaderc-2022.2-3.fc37.x86_64
  libsodium-1.0.18-10.fc37.x86_64
  libvdpau-1.5-2.fc37.x86_64
  lv2-1.18.8-2.fc37.x86_64
  numactl-libs-2.0.14-6.fc37.x86_64
  ocl-icd-2.3.1-2.fc37.x86_64
  opencore-amr-0.1.6-3.fc37.x86_64
  openpgm-5.2.122-29.fc37.x86_64
  rubberband-3.1.0-2.fc37.x86_64
  snappy-1.1.9-5.fc37.x86_64
  spirv-tools-libs-2022.2-3.fc37.x86_64
  srt-libs-1.5.1-1.fc37.x86_64
  tesseract-5.2.0-5.fc37.x86_64
  tesseract-langpack-eng-4.1.0-4.fc37.noarch
  tesseract-tessdata-doc-4.1.0-4.fc37.noarch
  vamp-plugin-sdk-2.9.0-6.fc37.x86_64
  vapoursynth-libs-58-3.fc37.x86_64
  vid.stab-1.1.0-20.20201110gitf9166e9.fc37.x86_64
  vmaf-models-2.3.0-4.fc37.noarch
  vo-amrwbenc-0.1.3-18.fc37.x86_64
  x264-libs-0.164-3.20220602gitbaee400f.fc37.x86_64
  x265-libs-3.5-5.fc37.x86_64
  xvidcore-1.3.7-9.fc37.x86_64
  zeromq-4.3.4-4.fc37.x86_64
  zimg-3.0.3-2.fc37.x86_64
  zvbi-0.2.35-19.fc37.x86_64
queeup commented 1 year ago

Workaround:

rpm-ostree override remove libavcodec-free \
                           libavfilter-free \
                           libavformat-free \
                           libavutil-free \
                           libpostproc-free \
                           libswresample-free \
                           libswscale-free \
                           --install ffmpegthumbnailer
mrmbernardi commented 9 months ago

Error: basic_string::substr: __pos (which is 18446744073709551615) > this->size() (which is 4)

This error occurs when the output filename is too short. Try a longer one and you might encounter the real error.

dirkvdb commented 3 weeks ago

This error was fixed in commit 46daa80df2a4886cac0aadab5d3fdc0a68d9b129

Froggy232 commented 2 weeks ago

Hi, Is this commit already merged in Fedora Silverblue 41? Because I just install it, and it still not work. Also, the command given by @queeup doesn't work anymore unfortunally, something about dependency :

error: Could not depsolve transaction; 2 problems detected:
 Problem 1: package libavdevice-free-6.1.2-1.fc41.x86_64 from @System requires libavcodec-free(x86-64) = 6.1.2-1.fc41, but none of the providers can be installed
  - conflicting requests
 Problem 2: package ffmpeg-free-6.1.2-1.fc41.x86_64 from @System requires libavfilter-free(x86-64) = 6.1.2-1.fc41, but none of the providers can be installed
  - conflicting requests

I'm on latest update of Fedora Silverblue 41, the today one. Thanks you

EDIT : On Fedora Silverblue 41, we are on 2.2.2 version. Is it merged in this one, or do we need to wait for the 2.2.3? Thanks again

dirkvdb commented 2 weeks ago

It's in 2.2.3

Froggy232 commented 2 weeks ago

Nice, I will wait then, thanks you

queeup commented 2 weeks ago

@Froggy232 , here is the new command. I am with silverblue 40 but I guess it will works also with 41. You can try it:

rpm-ostree override remove \
    ffmpeg-free \
    libavcodec-free \
    libavdevice-free \
    libavfilter-free \
    libavformat-free \
    libavutil-free \
    libpostproc-free \
    libswresample-free \
    libswscale-free \
    --install \
        ffmpegthumbnailer
Froggy232 commented 2 weeks ago

Hi, Thanks you, it didn't work unfortunally :

error: Could not depsolve transaction; 3 problems detected:
 Problem 1: package libchromaprint-1.5.1-18.fc41.x86_64 from @System requires libavcodec.so.60()(64bit), but none of the providers can be installed
  - package libchromaprint-1.5.1-18.fc41.x86_64 from @System requires libavcodec.so.60(LIBAVCODEC_60)(64bit), but none of the providers can be installed
  - conflicting requests
 Problem 2: package gstreamer1-plugin-libav-1.24.7-1.fc41.x86_64 from @System requires libavfilter.so.9()(64bit), but none of the providers can be installed
  - package gstreamer1-plugin-libav-1.24.7-1.fc41.x86_64 from @System requires libavfilter.so.9(LIBAVFILTER_9)(64bit), but none of the providers can be installed
  - conflicting requests
 Problem 3: package ffmpegthumbnailer-2.2.2-2.20240105git1b5a779.fc41.x86_64 from fedora requires libffmpegthumbnailer.so.4()(64bit), but none of the providers can be installed
  - package ffmpegthumbnailer-libs-2.2.2-2.20240105git1b5a779.fc41.x86_64 from fedora requires libavformat.so.60()(64bit), but none of the providers can be installed
  - package ffmpegthumbnailer-libs-2.2.2-2.20240105git1b5a779.fc41.x86_64 from fedora requires libavformat.so.60(LIBAVFORMAT_60)(64bit), but none of the providers can be installed
  - conflicting requests

Thanks you for your help, even if it didn't work. I assume I will just wait for the new release to land in official repo. Thanks again!