kkroening / ffmpeg-python

Python bindings for FFmpeg - with complex filtering support
Apache License 2.0
9.87k stars 883 forks source link

AttributeError: module 'ffmpeg' has no attribute 'input' #174

Open iamtahirkhan6 opened 5 years ago

iamtahirkhan6 commented 5 years ago

Traceback (most recent call last): File "/main/ffmpeg.py", line 1, in import ffmpeg File "/main/ffmpeg.py", line 2, in stream = ffmpeg.input('video.mp4') AttributeError: module 'ffmpeg' has no attribute 'input'

kkroening commented 5 years ago

pip install ffmpeg-python instead of pip install ffmpeg

muellermartin commented 5 years ago

I had the same error, because python-ffmpeg was installed instead of ffmpeg-python. Therefore this can be considered as fixed.

hldh214 commented 5 years ago

try another filename (don't use same name as your imported package)

tung-nguyen-uet commented 5 years ago

It doesn't solve my problem. I have install pip install ffmpeg-python

import ffmpeg filep = '/path/to/my/file.mp4' stream = ffmpeg.input(filep) Traceback (most recent call last): File "", line 1, in AttributeError: module 'ffmpeg' has no attribute 'input'

vinooo1095 commented 4 years ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python

and install ffmpeg-python again with : pip install ffmpeg-python

This solved the problem in my system :)

shgninc commented 4 years ago

I have same problem, install and uninstall the module multiple times.

but i forgot to install ffmpeg package.

nlsdvl commented 3 years ago

you will probably end up with that exact error if you do : pip install python-ffmpeg

instead of : pip install ffmpeg-python

at least, I did ...

CharlesChen-ccc commented 3 years ago
  1. Make sure you had pip install ffmpeg-python
  2. You should copy the ffmpeg.exe to you ***.py file work directory 3c211f825bfb22c465eb9ea41706ec0
rupshac commented 3 years ago

If I install ffmpeg + ffmpeg-python I see the same issue.

If I install only ffmpeg-python I see "FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

hobbitsyfeet commented 3 years ago

Traceback (most recent call last): File "/main/ffmpeg.py", line 1, in import ffmpeg File "/main/ffmpeg.py", line 2, in stream = ffmpeg.input('video.mp4') AttributeError: module 'ffmpeg' has no attribute 'input'

If you're silly like me and create a file named ffmpeg.py to test things out, the first command you call is obviously ffmpeg.input(...). Since you're re-defining ffmpeg it does not contain ffmpeg.input.

Therefore, AttributeError: module 'ffmpeg' has no attribute 'input'

The solution to this: Make sure your Python file isn't named ffmpeg.py

784682065 commented 3 years ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python

and install ffmpeg-python again with : pip install ffmpeg-python

This solved the problem in my system :)

thank you! If it wasn't for you, I would have been tortured to death.

ShawKai666 commented 2 years ago

step 1:sudo apt install ffmpeg step 2:pip install ffmpeg-python step 3:pip uninstall ffmpeg

KalininY commented 2 years ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python

and install ffmpeg-python again with : pip install ffmpeg-python

This solved the problem in my system :)

Thank you very much!

lixueqidaytoy commented 2 years ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python

and install ffmpeg-python again with : pip install ffmpeg-python

This solved the problem in my system :)

Thanks, you help me a lot!

mikhail-okrochkov commented 2 years ago

I've tried all of the above solutions, I either get "FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

or

AttributeError: module 'ffmpeg' has no attribute 'input'

I've tried uninstall and re-installing in various different orders

lixueqidaytoy commented 2 years ago

I've tried all of the above solutions, I either get "FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

or

AttributeError: module 'ffmpeg' has no attribute 'input'

I've tried uninstall and re-installing in various different orders

I still have this problem in the Jupyter notebook, so I use vs code. AttributeError: module 'ffmpeg' has no attribute 'input' this can be solved, but I get new error.

AttributeError: module 'ffmpeg' has no attribute 'run'

if you get this, you just need to turn colored frames into video.

mikhail-okrochkov commented 2 years ago

I'm working in vscode and I still run into this issue.

gyq517 commented 2 years ago

I've tried all of the above solutions, I either get "FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

or

AttributeError: module 'ffmpeg' has no attribute 'input'

I've tried uninstall and re-installing in various different orders

I had the same problem until I tried sudo apt install ffmpeg

johntsunami commented 2 years ago

The answer is here. You probably didn't install ffmpeg completely and setup the environmental variables. Link shows all the steps.

https://stackoverflow.com/questions/54262306/ffmpeg-python-wrapper-ffmpeg-run-getting-filenotfounderror

orange5E06 commented 2 years ago

May your interpreter has no ffmpeg-python

michalbartkowski commented 1 year ago

Here is a possible fix to the error: AttributeError: module 'ffmpeg' has no attribute 'input'

I found that the above error occurs only when my python script is named 'ffmpeg.py'

Renaming the script solves the above error in my case

swankwc commented 1 year ago

So, I tried both uninstalls as follows,

Not much change from befefore... (ytwhisper) Wesleys-MacBook-Air:whisper wesley$ pip uninstall ffmpeg WARNING: Skipping ffmpeg as it is not installed. (ytwhisper) Wesleys-MacBook-Air:whisper wesley$ pip uninstall ffmpeg-python Found existing installation: ffmpeg-python 0.2.0 Uninstalling ffmpeg-python-0.2.0: Would remove: /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/ffmpeg/ /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/ffmpeg_python-0.2.0.dist-info/ Proceed (Y/n)? y Successfully uninstalled ffmpeg-python-0.2.0 (ytwhisper) Wesleys-MacBook-Air:whisper wesley$ pip install ffmpeg-python Collecting ffmpeg-python Using cached ffmpeg_python-0.2.0-py3-none-any.whl (25 kB) Requirement already satisfied: future in /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages (from ffmpeg-python) (0.18.2) Installing collected packages: ffmpeg-python Successfully installed ffmpeg-python-0.2.0 (ytwhisper) Wesleys-MacBook-Air:whisper wesley$ yt_whisper "https://www.youtube.com/watch?v=dQw4w9WgXcQ"yt_whisper "https://www.youtube.com/watch?v=dQw4w9WgXcQ" --model medium Downloaded video "Rick Astley - Never Gonna Give You Up (Official Music Video)". Generating subtitles... Downloaded video "Rick Astley - Never Gonna Give You Up (Official Music Video)". Generating subtitles... Traceback (most recent call last): File "/opt/homebrew/lib/python3.10/site-packages/whisper/audio.py", line 42, in load_audio ffmpeg.input(file, threads=0) AttributeError: module 'ffmpeg' has no attribute 'input'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/homebrew/bin/yt_whisper", line 8, in sys.exit(main()) File "/opt/homebrew/lib/python3.10/site-packages/yt_whisper/cli.py", line 49, in main result = model.transcribe(audio_path, **args) File "/opt/homebrew/lib/python3.10/site-packages/whisper/transcribe.py", line 84, in transcribe mel = log_mel_spectrogram(audio) File "/opt/homebrew/lib/python3.10/site-packages/whisper/audio.py", line 111, in log_mel_spectrogram audio = load_audio(audio) File "/opt/homebrew/lib/python3.10/site-packages/whisper/audio.py", line 46, in load_audio except ffmpeg.Error as e: AttributeError: module 'ffmpeg' has no attribute 'Error' (ytwhisper) Wesleys-MacBook-Air:whisper wesley$

ZZZsleepyheadZZZ commented 1 year ago

I used conda install -c conda-forge ffmpeg, and it works. It turned out that ffmpeg installed by pip was of a too old version.

459737087 commented 1 year ago

pip install python-ffmpeg

this is right

dinuthomas commented 1 year ago

Finally worked for me after doing this,

  1. pip uninstall ffmpeg-python
  2. pip3 install ffmpeg-python

So try installing with pip3..

Suvi-dha commented 1 year ago

This worked for me:

  1. uninstall ffmpeg-python
  2. pip install ffmpeg
  3. pip install ffmpeg-python
githmashwinkumar commented 1 year ago

I have a very simple code - [ import whisper

model = whisper.load_model("base") result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) print(result["text"]) ]

Have tried with "pip install python-ffmpeg" when it gave the error - "AttributeError: module 'ffmpeg' has no attribute 'Error'". Then tried with "pip install ffmpeg" and "pip install ffmpeg-python". Now it is throwing this error [ Traceback (most recent call last): File "D:\Newfolder\ds\ML\patrec\rec.py", line 4, in result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\transcribe.py", line 121, in transcribe mel = log_mel_spectrogram(audio, padding=N_SAMPLES) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 130, in log_mel_spectrogram audio = load_audio(audio) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 46, in load_audio ffmpeg.input(file, threads=0) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 313, in run process = run_async( File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 284, in run_async return subprocess.Popen( File "C:\py39\lib\subprocess.py", line 951, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\py39\lib\subprocess.py", line 1420, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file specified ] Can you please suggest a way-forward for addressing this?

pardon-hnu commented 1 year ago

Thanks. you are my hero!It works

githmashwinkumar commented 1 year ago

I have a very simple code - [ import whisper

model = whisper.load_model("base") result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) print(result["text"]) ]

Have tried with "pip install python-ffmpeg" when it gave the error - "AttributeError: module 'ffmpeg' has no attribute 'Error'". Then tried with "pip install ffmpeg" and "pip install ffmpeg-python". Now it is throwing this error [ Traceback (most recent call last): File "D:\Newfolder\ds\ML\patrec\rec.py", line 4, in result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\transcribe.py", line 121, in transcribe mel = log_mel_spectrogram(audio, padding=N_SAMPLES) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 130, in log_mel_spectrogram audio = load_audio(audio) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 46, in load_audio ffmpeg.input(file, threads=0) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 313, in run process = run_async( File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 284, in run_async return subprocess.Popen( File "C:\py39\lib\subprocess.py", line 951, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\py39\lib\subprocess.py", line 1420, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file specified ] Can you please suggest a way-forward for addressing this?

Installing System.Speech from nuget manager resolved this issue. Refered to this link

raduking commented 1 year ago

I have a very simple code - [ import whisper

model = whisper.load_model("base") result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) print(result["text"]) ]

Have tried with "pip install python-ffmpeg" when it gave the error - "AttributeError: module 'ffmpeg' has no attribute 'Error'". Then tried with "pip install ffmpeg" and "pip install ffmpeg-python". Now it is throwing this error [ Traceback (most recent call last): File "D:\Newfolder\ds\ML\patrec\rec.py", line 4, in result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\transcribe.py", line 121, in transcribe mel = log_mel_spectrogram(audio, padding=N_SAMPLES) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 130, in log_mel_spectrogram audio = load_audio(audio) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 46, in load_audio ffmpeg.input(file, threads=0) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 313, in run process = run_async( File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 284, in run_async return subprocess.Popen( File "C:\py39\lib\subprocess.py", line 951, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\py39\lib\subprocess.py", line 1420, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file specified ] Can you please suggest a way-forward for addressing this?

As @vinooo1095 suggested already:

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python.

Uninstall both with:

pip3 uninstall ffmpeg
pip3 uninstall ffmpeg-python

Then ONLY install ffmpeg-python again with:

pip3 install ffmpeg-python
githmashwinkumar commented 1 year ago

Thanks Will try

On Thu, May 11, 2023 at 8:38 PM Radu Sebastian LAZIN < @.***> wrote:

I have a very simple code - [ import whisper

model = whisper.load_model("base") result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) print(result["text"]) ]

Have tried with "pip install python-ffmpeg" when it gave the error - "AttributeError: module 'ffmpeg' has no attribute 'Error'". Then tried with "pip install ffmpeg" and "pip install ffmpeg-python". Now it is throwing this error [ Traceback (most recent call last): File "D:\Newfolder\ds\ML\patrec\rec.py", line 4, in result = model.transcribe("D:\Newfolder\audio.mp3",fp16=False) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\transcribe.py", line 121, in transcribe mel = log_mel_spectrogram(audio, padding=N_SAMPLES) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 130, in log_mel_spectrogram audio = load_audio(audio) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\whisper\audio.py", line 46, in load_audio ffmpeg.input(file, threads=0) File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 313, in run process = run_async( File "D:\Newfolder\ds\ML\patrec\venv\lib\site-packages\ffmpeg_run.py", line 284, in run_async return subprocess.Popen( File "C:\py39\lib\subprocess.py", line 951, in init self._execute_child(args, executable, preexec_fn, close_fds, File "C:\py39\lib\subprocess.py", line 1420, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] The system cannot find the file specified ] Can you please suggest a way-forward for addressing this?

As @vinooo1095 https://github.com/vinooo1095 suggested already:

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python.

Uninstall both with:

pip3 uninstall ffmpeg pip3 uninstall ffmpeg-python

Then ONLY install ffmpeg-python again with:

pip3 install ffmpeg-python

— Reply to this email directly, view it on GitHub https://github.com/kkroening/ffmpeg-python/issues/174#issuecomment-1544166618, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL2A3P5WQKIMRAU3LYACSGLXFT6FTANCNFSM4G42CGPA . You are receiving this because you commented.Message ID: @.***>

pablodz commented 1 year ago

Still relevant

jlmmunix commented 1 year ago

sudo pip uninstall ffmpeg sudo pip3 uninstall ffmpeg sudo python -m pip uninstall ffmpeg sudo python3 -m pip uninstall ffmpeg sudo pip show ffmpeg sudo pip show python-ffmpeg sudo pip3 show ffmpeg sudo pip3 show python-ffmpeg sudo pip install ffmpeg-python sudo pip3 install ffmpeg-python sudo pip3 install ffmpeg-python pip install ffmpeg-python --user python3 -m pip install ffmpeg-python pip install --ignore-installed ffmpeg-python pip3 install --ignore-installed ffmpeg-python python -m pip install --ignore-installed ffmpeg-python python3 -m pip install --ignore-installed ffmpeg-python

aronweiler commented 1 year ago

So I ran into this issue today and came here to see a ton of people talking about solutions that don't work... the real solution here (besides making sure you have ffmpeg and ffmpeg-python installed) is to install ffmpeg manually so that you can access the executables.

Whisper is attempting to call ffmpeg by just invoking the "ffmpeg" command line. No pathing is taken into account in these libraries, so you need to install ffmpeg AND make sure it's callable from your python application.

Manual ffmpeg installation steps

  1. Navigate to https://ffmpeg.org/download.html
  2. Download (or clone and then build) the desired build of ffmpeg
  3. Extract the files if you downloaded it
  4. Add the bin path to your environment path
L-a-n-s-c-e commented 1 year ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python

and install ffmpeg-python again with : pip install ffmpeg-python

This solved the problem in my system :)

Thanks I was bout to go crazy restarting and reinstalling ffmpeg over and over.

AlvinKimata commented 1 year ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python

and install ffmpeg-python again with : pip install ffmpeg-python

This solved the problem in my system :)

This worked for me. Thanks a lot!

desaiankitb commented 1 year ago

For me none of the above solutions worked. However, the following did worked. I was using this in ipynb you can modify the commands as per your environments. Don't change the sequence.


! apt-get --purge autoremove
! yes | pip uninstall ffmpeg
! yes | pip uninstall ffmpeg-python
! yes | apt-get -y install ffmpeg
! yes | conda install -c conda-forge ffmpeg-python
! yes | pip install ffmpeg-python 
101is5 commented 1 year ago

This is how it worked for me:

Before that, I had come across 3 types of errors when swaping between ffmpeg and ffmpeg-python pip instalations:

During handling of the above exception, another exception occurred:

File "C:\Users[me]\Documents\programacao\testwhisper\wsp.py", line 5, in text = model.transcribe("audio.mp3") AttributeError: module 'ffmpeg' has no attribute 'Error'


* with ffmpeg-python only:

Exception has occurred: FileNotFoundError [WinError 2] O sistema não pode encontrar o arquivo especificado File "C:\Users[me]\Documents\programacao\testwhisper\wsp.py", line 5, in text = model.transcribe("audio.mp3") FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado

By the way, ```pip install``` hasn't worked for me in a while. It's been only ```python -m pip install ...```, otherwise I get a "not accessed by Pylance" error and, if I try running the script, I get:
```Exception has occurred: ModuleNotFoundError
No module named 'ffmpeg'
  File "C:\Users\[me]\Documents\programacao\testwhisper\wsp.py", line 2, in <module>
    import whisper
ModuleNotFoundError: No module named 'ffmpeg'
luoshuiyang commented 10 months ago

step 1:sudo apt install ffmpeg step 2:pip install ffmpeg-python step 3:pip uninstall ffmpeg

I solved the problem using this method,thank you very much.Even solved other problem with this solution.

SiNaPsEr0x commented 5 months ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python and install ffmpeg-python again with : pip install ffmpeg-python This solved the problem in my system :)

thank you! If it wasn't for you, I would have been tortured to death.

thanks for solution on docker its ok!

LeviArckman commented 3 weeks ago

I'm guessing this happens if you've installed both, ffmpeg and ffmpeg-python. uninstall both with: pip uninstall ffmpeg pip uninstall ffmpeg-python

and install ffmpeg-python again with : pip install ffmpeg-python

This solved the problem in my system :)

doesn't work