macos - Pydub 找不到 ffmpeg,尽管它已安装并在路径中

标签 macos ffmpeg pydub

我正在尝试打开一些 MP3 文件以查找它们的长度(作为更大项目的一部分)。我已经安装了 pydub 并且 ffmpeg 已经通过 brew 安装了。 ffmpeg 在我的路径中可用,并且在终端中键入 ffmpeg 会成功启动它 - 我正在引用的音频文件存在,我可以在其上运行 ffmpeg -i 以获取有关它的信息。该程序可以打开并播放音频文件(使用pygame),所以我确定这不是文件问题。

但是,尝试使用 AudioSegment 打开任何文件会导致显示“找不到 ffmpeg 或 avconv - 默认为 ffmpeg 但可能无法工作”,并且任何使用 AudioSegment 打开文件的尝试都会导致异常。

我尝试使用 AudioSegment.converter 显式设置 ffmpeg 的路径 - 既试图指向 '/usr/local/bin/ffmpeg' 也指向真实位置(前一个是符号链接(symbolic link))。

from pydub import AudioSegment
AudioSegment.converter = '/usr/local/bin/ffmpeg' # tried with and without
print(len(AudioSegment.from_mp3('mp3_audio.mp3')))

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

最佳答案

这很难弄清楚。但在这里。

在 Mac 上,运行 brew install ffmpeg
然后你需要找到它将二进制文件写入的位置。将葬于/usr/local/Cellar目录,并将基于安装的版本号。就我而言,它是

/usr/local/Cellar/ffmpeg/4.2.1_2/bin/ffmpeg

然后,您需要将此路径添加到您的 Python 脚本中,如下所示
from pydub import AudioSegment

AudioSegment.converter = '/usr/local/Cellar/ffmpeg/4.2.1_2/bin/ffmpeg'

关于macos - Pydub 找不到 ffmpeg,尽管它已安装并在路径中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56739322/

相关文章:

swift - 渲染显示在窗口外的 CALayer 内容

macos - 为什么 MacOS 上的 unexpand 可以在没有 "-a"参数的情况下更改内部空间?

python - 有没有办法在 Kivy 的 Android 上播放除 .mp4 以外的视频?

python - 如何通过使用arduino开发板和python脚本从电位计连续获取电压信号来调整音频文件的音量

python - 如何在python中根据静音分割音频文件并重叠最后说2秒

heroku - 从 url 读取 pydub AudioSegment。 BytesIO 仅在 heroku 上返回 "OSError [Errno 2] No such file or directory";在本地主机上很好

swift - macOS SwiftUI : how to trigger deleting an item?

ios - 使用苹果硬件在ubuntu上构建ios应用程序

ffmpeg - 如何使用 ffmpeg 从网络摄像头获取未解码的 h264 流?

video - ffmpeg 中是否有一个选项可以将 50 fps 视频制作为 25 fps 并具有双倍持续时间