Pyt*_* IT 4 python ffmpeg virtualenv pydub
我试图从.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
Run Code Online (Sandbox Code Playgroud)
我的确切代码如下所示:
from pydub import AudioSegment
sound = AudioSegment.from_mp3('test.mp3')
raw_data = sound._data
print(raw_data)
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
FileNotFoundError: [Errno 2] No such file or directory: 'ffprobe': 'ffprobe'
Run Code Online (Sandbox Code Playgroud)
与此运行时警告一起:
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)
Run Code Online (Sandbox Code Playgroud)
我不知道是不是我,但是一些类似的问题说明我应该安装 ffmpeg 或 python-ffmpeg 将不起作用。我什至可以导入 ffmpeg 模块,但没有任何反应。我可以使用 ffmpeg 并加载文件,但将它与 pydub 一起使用将不起作用。
编辑:今天我换到了我的 Windows 机器并深入查看了错误。但是,即使使用评论中提供的解决方案,我也无法使其正常工作(尽管如此)。我按照说明安装了 ffmpeg 二进制文件,并且我能够ffmpeg在 shell 中运行,但不是pydub......我不知道发生了什么。我想我的错误很明显,我只是无法理解。尽管事实上我能够在 shell 中使用 ffmpeg ,但即使不是 subprocess 也能够解决这个问题。我什至能够在 shell 中使用 ffmpeg 转换文件...
ffmpeg -i test.mp3 test.wav
> Output #0, wav, to 'test.wav':
Run Code Online (Sandbox Code Playgroud)
我想我已经接近自己解决问题了,但还是谢谢你。
小智 5
安装ffmpeg到您的系统,而不是 python lib:
在 Ubuntu 中:
sudo apt install ffmpeg
在 Windows 中:只需下载 ffmpeg 库,解压并将***\bin路径添加到环境路径中
并将两者simpleaudio和pydubvia安装pip到 python lib (我不知道为什么,但它对我有用)
| 归档时间: |
|
| 查看次数: |
4386 次 |
| 最近记录: |