Установка Pydub и ffmpeg

Я пытался получить необработанные звуковые данные из файла .mp3. Поэтому я использовал модуль pydub, как указано здесь. Я создал venv для этого проекта и установил все необходимые модули. Но по какой-то причине pydub решил дать мне FileNotFoundError:

(venv) Python-IT:LightsDev pythonit$ which python
/Users/pythonit/Documents/Programmieren/Python/LightsDev/venv/bin/python
(venv) Python-IT:LightsDev pythonit$ which pip3
/Users/pythonit/Documents/Programmieren/Python/LightsDev/venv/bin/pip3
(venv) Python-IT:LightsDev pythonit$ pip3 list 
------------- -------
ffmpeg        1.4
pip           18.1
pydub         0.23.0
pyee          5.0.0
python-ffmpeg 1.0.5
setuptools    39.0.1

Мой точный код выглядит так:

from pydub import AudioSegment
sound = AudioSegment.from_mp3('test.mp3')
raw_data = sound._data
print(raw_data)

и я получаю эту ошибку:

FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'

вместе с этим предупреждением во время выполнения:

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)

Я не знаю, я ли это, но некоторые подобные вопросы о том, что я должен установить ffmpeg или python-ffmpeg, не будут работать. Я даже могу импортировать модуль ffmpeg, но ничего не происходит. Я могу работать с ffmpeg и загружать файлы, но использовать его с pydub не получится.

РЕДАКТИРОВАТЬ: Сегодня я перешел на свою машину с Windows и подробно рассмотрел ошибку. Однако мне не удалось заставить его работать, даже с решением, представленным в комментариях (хотя спасибо). Я установил двоичный файл ffmpeg, как указано, и смог запустить ffmpeg в оболочке, но не с pydub... Я понятия не имею, что происходит. Я думаю, моя ошибка очень очевидна, и я просто не могу ее понять. Даже не подпроцесс смог решить эту проблему, несмотря на то, что я умею использовать ffmpeg в оболочке. Я даже смог преобразовать файл, используя ffmpeg в оболочке...

 ffmpeg -i test.mp3 test.wav 
 > Output #0, wav, to 'test.wav':

Я думаю, что в любом случае я близок к тому, чтобы решить проблему самостоятельно, но все равно спасибо.


person Lone Lunatic    schedule 26.11.2018    source источник
comment
Возможный дубликат Python конвертирует mp3 в wav с помощью Pydub   -  person phd    schedule 26.11.2018
comment
Вам нужно установить ffmpeg исполняемый файл, а не python-ffmpeg пакет.   -  person phd    schedule 26.11.2018
comment
stackoverflow.com/   -  person phd    schedule 26.11.2018
comment
Может помочь! blog.gregzaal.com/how-to-install-ffmpeg-on -окна   -  person Naazneen Jatu    schedule 01.04.2020


Ответы (1)


Установите ffmpeg в свою систему, а не python lib:

В Ubuntu: sudo apt install ffmpeg

В Windows: просто загрузите библиотеку ffmpeg, распакуйте и добавьте путь ***\bin к пути среды.

И установите simpleaudio и pydub через pip в python lib (не знаю почему, но у меня работает)

person Denny    schedule 14.06.2020