Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Updating on debian reinstalls ffmpeg every time, even if already installed and up to date. #633

Open
hobesman opened this issue May 25, 2022 · 4 comments
Labels
bug Something isn't working

Comments

@hobesman
Copy link

Describe the issue

Updating on debian reinstalls ffmpeg every time, even if already installed and up to date.

Steps to reproduce the issue

  1. Install on e.g. Ubuntu (i.e. not using docker)
  2. Update server.
  3. Watch it redownload and reinstall ffmpeg

Audiobookshelf version

2.0.16 and below

How are you running audiobookshelf?

Debian/PPA

@hobesman hobesman added the bug Something isn't working label May 25, 2022
@ebb-earl-co
Copy link

It looks as if this functionality is the install_ffmpeg function here. It would be relatively simple to check if the version downloaded from https://johnvansickle.com already exists at the specified directory (FFMPEG_INSTALL_DIR="/usr/lib/audiobookshelf-ffmpeg" by default). This would entail extracting the tarball and comparing it to the file on disk which wouldn't take any more time than the process already takes.

There probably is a smarter/better short-circuit for this, but I don't know what it is, or if it's worth it.

@HumanG33k
Copy link

a better way for debian package is to use debian package dependency system in order to use system side ffmpeg probably in control file.

also the env var should be update / check to be sure everything is already here.

@advplyr
Copy link
Owner

advplyr commented Jan 26, 2023

With the dependency system how could we make sure that the users existing Ffmpeg install was compiled with the correct libraries?

@HumanG33k
Copy link

One option is probably parsing the output of ffmpeg after an apt install ffmpeg : 

ffmpeg version 5.1.2-2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-14)
  configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Hyper fast Audio and Video encoder


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants