stempeg icon indicating copy to clipboard operation
stempeg copied to clipboard

ffmpeg is installed, but stempeg/cmds.py is saying it isn't

Open drscotthawley opened this issue 1 year ago • 3 comments

Howdy! I'm having trouble using stempeg on a fresh Ubuntu machine. I installed and built ffmpeg using script that was linked to in the README, and ffmpeg sits in /usr/bin and works...

$ which ffmpeg
/usr/bin/ffmpeg
$ ffmpeg --help
ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
  configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-nonfree
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
...etc

Same as on my old machine where everything's fine.

But when I run the python code on my new machine, I get...

  File "/mnt/sfs/shawley.../data.py", line 2, in <module>
    import stempeg 
  File "/home/shawley/envs/myenv/lib/python3.10/site-packages/stempeg/__init__.py", line 16, in <module>
    from .read import read_stems
  File "/home/shawley/envs/myenv/lib/python3.10/site-packages/stempeg/read.py", line 7, in <module>
    from stempeg.write import FilesWriter
  File "/home/shawley/envs/myenv/lib/python3.10/site-packages/stempeg/write.py", line 23, in <module>
    from .cmds import FFMPEG_PATH, mp4box_exists, get_aac_codec, find_cmd
  File "/home/shawley/envs/myenv/lib/python3.10/site-packages/stempeg/cmds.py", line 43, in <module>
    raise RuntimeError(
RuntimeError: ffmpeg or ffprobe could not be found! Please install them before using stempeg. See: https://github.com/faroit/stempeg

Setting export FFMPEG_PATH=/usr/bin or even export FFMPEG_PATH=/usr/bin/ffmpeg doesn't help.

What needs to happen here? Thanks!

drscotthawley avatar May 11 '24 23:05 drscotthawley

Ok, so the docs aren't totally obvious that ffprobe is needed, and the install script linked to doesn't build it. Or at least didn't for me.
Or maybe it does build it but then doesn't move it to /usr/bin.

In any case, just running sudo apt install ffmpeg fixed everything. 👍 So... ready to close this anytime.

drscotthawley avatar May 11 '24 23:05 drscotthawley

Hey Scott, that sounds unpleasant. Maybe it would help to raise specific errors for ffprobe alone?

faroit avatar May 12 '24 05:05 faroit

Yea, that sounds like a good idea.

drscotthawley avatar May 13 '24 02:05 drscotthawley