spotDL / spotify-downloader

Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).
https://spotdl.readthedocs.io/en/latest/
MIT License
17.81k stars 1.62k forks source link

Error: Your FFmpeg version couldn't be detected #1272

Closed iranzo closed 3 years ago

iranzo commented 3 years ago

Environment

Fedora 33

3.89

pipsi install spotDL

3.5.1


Expected Behaviour

Working download

Actual Behaviour

Error about FFmpeg version couldn't be detected

Steps to Reproduce

  1. pipsi install spotdl
  2. spotdl
  3. error is thrown

Traceback

Any other information:

Rolling back to 3.5.0 makes downloads to succeed

iranzo commented 3 years ago

FYI: ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers

Silverarmor commented 3 years ago
  1. What error is "thrown"?
  2. You can add the flag --ignore-ffmpeg-version if spotDL is not detecting your FFmpeg correctly.
  3. To help us in this situation, could you please run ffmpeg -v or ffmpeg -version and paste the FULL output here please?
iranzo commented 3 years ago

1- Error is the message in the title Your FFmpeg version couldn't be detected 2- makes it work 3-

ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10 (GCC)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-libjack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-liblensfun --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librav1e --enable-libsmbclient --enable-version3 --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libglslang --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzvbi --enable-lv2 --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-lto --enable-libmfx --enable-runtime-cpudetect
libavutil      56. 51.100 / 56. 51.100
libavcodec     58. 91.100 / 58. 91.100
libavformat    58. 45.100 / 58. 45.100
libavdevice    58. 10.100 / 58. 10.100
libavfilter     7. 85.100 /  7. 85.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  7.100 /  5.  7.100
libswresample   3.  7.100 /  3.  7.100
libpostproc    55.  7.100 / 55.  7.100

But as said, 3.5.0 works fine

Pip environment in the virtualenv:

Package                        Version
------------------------------ ---------
a-pytube-fork-for-spotdl-users 9.6.4
appdirs                        1.4.4
beautifulsoup4                 4.9.1
certifi                        2020.6.20
chardet                        3.0.4
colorama                       0.4.4
coloredlogs                    14.0
commonmark                     0.9.1
humanfriendly                  8.2
idna                           2.10
lyricwikia                     0.1.11
mutagen                        1.44.0
pathlib                        1.0.1
pip                            21.0.1
Pygments                       2.7.4
pytube                         10.4.1
pytube3                        9.6.4
PyYAML                         5.3.1
rapidfuzz                      0.12.5
requests                       2.24.0
rich                           9.10.0
setuptools                     56.0.0
six                            1.15.0
soupsieve                      2.0.1
spotdl                         3.5.1
spotipy                        2.13.0
tqdm                           4.47.0
typing-extensions              3.7.4.2
unicode-slugify                0.1.3
Unidecode                      1.1.1
urllib3                        1.25.9
wheel                          0.34.2
youtube-dl                     2020.6.6
ytmusicapi                     0.14.0

Downgrading spotdl to 3.5.0 makes the command to work correctly again

Silverarmor commented 3 years ago

@xnetcat any opinion on this? I'm starting to wonder if the new FFmpeg version checking thing is more of a pain than a help?

xnetcat commented 3 years ago

@xnetcat any opinion on this? I'm starting to wonder if the new FFmpeg version checking thing is more of a pain than a help?

It's fixed in v3.5.2 but it's still not released for some reason

https://github.com/spotDL/spotify-downloader/commit/9fac26761cd0495dd1ea38acb18d3fad810e5041

xnetcat commented 3 years ago

@iranzo you can install spotdl from master and it will work fine

Silverarmor commented 3 years ago

@xnetcat whoops thats my bad. Was gonna wait for regressions test to get fixed but i'll push master to pypi now

iranzo commented 3 years ago

@iranzo you can install spotdl from master and it will work fine

No worries, I downgraded the version until next time I update my pipsi packages :-)

PD: I do use two GHA for automated release process based on commitizen messages to determine if version.minor.patch has to be changed and update changelog accordingly :-)

eagleeyetom commented 3 years ago

I'm facing the same issue on Windows. The last working version was 3.5.0. ffmpeg is added to PATH and detected in cmd, but spotdl is having issues.

yinshiyi commented 3 years ago

I'm facing the same issue on Windows. The last working version was 3.5.0. ffmpeg is added to PATH and detected in cmd, but spotdl is having issues.

same data point

xnetcat commented 3 years ago

@eagleeyetom @yinshiyi update ffmpeg to 4.2+ or use --ignore-ffmpeg-version parameter`

yinshiyi commented 3 years ago

@eagleeyetom @yinshiyi update ffmpeg to 4.2+ or use --ignore-ffmpeg-version parameter`

thanks for your reply, i downloaded the latest ffmpeg today, windows' ffmpeg has a different numbering system Screenshot 2021-06-04 182234

xnetcat commented 3 years ago

Actually this is nightly version, so we can't detect the version

xnetcat commented 3 years ago

here's stable version https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z

yinshiyi commented 3 years ago

here's stable version https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z

thanks so much, that solved ffmpeg problem, however, it is still bugged on something Screenshot 2021-06-04 184030

xnetcat commented 3 years ago

update pytube pip install --upgrade pytube

yinshiyi commented 3 years ago

worked, thanks a lot @xnetcat , i am very impressed

vhavard commented 3 years ago

For those using anaconda navigator on Windows, I have done a: conda install ffmpeg

CopyPasteFail commented 2 years ago

I'm using Windows 11 and spotdl to 3.9.0, I get the same error message. using --ignore-ffmpeg-version solves the problem.