jiaaro / pydub

Manipulate audio with a simple and easy high level interface
http://pydub.com
MIT License
8.75k stars 1.03k forks source link

Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) #528

Open Endomorf69 opened 3 years ago

Endomorf69 commented 3 years ago

Hello everybody. I'm a beeginer in Python and manim.

I run on macOS Catalina 10.15.7 - Python 3.8 and all additionnal programs installed are the latest version.

I tried to install Manim several times but still not work. The last time i tried is the best install, when i run this "python3 -m manim example_scenes.py SquareToCircle -pl" to verify if everything ok to use manim i got messages below:

"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning) Media will be written to /Users/OM/animation/manim37/output/. You can change this behavior with the --media_dir flag.

Traceback (most recent call last): File "/Users/OM/animation/manim37/manim/manimlib/extract_scene.py", line 155, in main scene = SceneClass(**scene_kwargs) File "/Users/OM/animation/manim37/manim/manimlib/scene/scene.py", line 75, in init self.construct() File "example_scenes.py", line 83, in construct self.play(ShowCreation(square)) File "/Users/OM/animation/manim37/manim/manimlib/scene/scene.py", line 847, in wrapper self.file_writer.begin_animation(allow_write) File "/Users/OM/animation/manim37/manim/manimlib/scene/scene_file_writer.py", line 310, in begin_animation self.open_movie_pipe() File "/Users/OM/animation/manim37/manim/manimlib/scene/scene_file_writer.py", line 425, in open_movie_pipe self.writing_process = subprocess.Popen(command, stdin=subprocess.PIPE) File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 854, in init self._execute_child(args, executable, preexec_fn, close_fds, File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/subprocess.py", line 1702, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg' "

I have my folders created in my "outpout" folder, but nothing else happened. I always have the problem with ffmpeg

Thanks for help! Chris

GreyAlien502 commented 3 years ago

Hello Chris, it looks like pydub can't find ffmpeg. Did you install ffmpeg? If so, how? What happens when you run ffmpeg in a terminal? If not, you need to install it for pydub to work.

Endomorf69 commented 3 years ago

Thank you so much GreyAlien 502,

i've reinstall ffmpeg, i think it's ok for that now, but when i run "OM$ python manim.py example_scenes.py SquareToCircle -pl" in terminal i got the following message:

"Traceback (most recent call last): File "manim.py", line 2, in import manimlib File "/Users/OM/animation/manim37/manim/manimlib/init.py", line 2, in import manimlib.config File "/Users/OM/animation/manim37/manim/manimlib/config.py", line 144 print(f"Failed to render scene: {str(e)}") ^"

Do you know what is it? Thanks a lot for your patience !

GreyAlien502 commented 3 years ago

Is that the full error output?

GreyAlien502 commented 3 years ago

If it also outputs SyntaxError: invalid syntax after that, your problem looks like https://github.com/3b1b/manim/issues/1118 and i'd suggest verifying your Python version (running python --version).

hoanghust commented 3 years ago

Hello, I'm get the same error on aws linux:

[2021-02-25 10:17:43 +0000] [13463] [INFO] Worker exiting (pid: 13463) /home/www/env/lib64/python3.8/site-packages/pydub/utils.py:170: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)

I install ffmpeg follow these steps https://gist.github.com/willmasters/382fe6caba44a4345a3de95d98d3aae5 and it works in linux console. But not work in python environment.

when i run ffmpeg on console: ffmpeg version N-55863-g9f38fac053-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2021 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzimg libavutil 56. 64.100 / 56. 64.100 libavcodec 58.119.100 / 58.119.100 libavformat 58. 65.101 / 58. 65.101 libavdevice 58. 11.103 / 58. 11.103 libavfilter 7.100.100 / 7.100.100 libswscale 5. 8.100 / 5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Can you help me?

nchecherina commented 3 years ago

hi! i've been using manim and ffmpeg isn't working for me. i installed it a few times and created a path for it, but it still isn't working for some reason? this is what shows up: FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg' and then: PermissionError: [Errno 13] Permission denied: 'ffmpeg' could someone pls tell me what they did? tysm!

tt-thoma commented 1 year ago

I found a bugfix for windows:

  1. Download and extract the latest version of libav (in the README)
  2. Copy the folder and paste it in the %userprofile% folder (C:/Users/XXXXX/)
  3. Lookup in the search bar for environment variables.
  4. Open the environment variable editor and double-click Path under the section Environment variable of XXXXX.
  5. Click New and enter %USERPROFILE%\libav\bin
  6. Press Ok until no env windows are left open.
  7. Log out and log in back

I'll make a script so it will be easier

tt-thoma commented 1 year ago

I don't know if it will work for everyone tough