Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Pydub can';虽然ffmpeg';s已安装并在路径中_Macos_Ffmpeg_Pydub - Fatal编程技术网

Macos Pydub can';虽然ffmpeg';s已安装并在路径中

Macos Pydub can';虽然ffmpeg';s已安装并在路径中,macos,ffmpeg,pydub,Macos,Ffmpeg,Pydub,我正在尝试打开一些MP3文件以查找它们的长度(作为更大项目的一部分)。我已安装pydub,ffmpeg已通过brew安装。ffmpeg在我的路径中可用,在终端中键入ffmpeg将成功启动它-我正在引用的音频文件存在,我可以在其上运行ffmpeg-I以获取有关它的信息。该程序可以打开和播放音频文件(使用pygame),因此我确信这不是文件问题 但是,尝试打开带有AudioSegment的任何文件会导致显示“找不到ffmpeg或avconv-默认为ffmpeg但可能不起作用”,并且尝试使用Audio

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

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

我已经尝试使用AudioSegment.converter显式地将路径设置为ffmpeg——既尝试指向“/usr/local/bin/ffmpeg”,也尝试指向真实位置(前一个是符号链接)


我得到FileNotFoundError:[Errno 2]没有这样的文件或目录:“ffprobe”:“ffprobe”

这是一项很难弄清楚的工作。但是在这里

在Mac上,运行
brew安装ffmpeg

然后您需要找到它将二进制文件写入的位置。它将隐藏在
/usr/local/ceral
目录中,并基于安装的版本号。在我的情况下是这样的

/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'

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

在Mac上,运行
brew安装ffmpeg

然后您需要找到它将二进制文件写入的位置。它将隐藏在
/usr/local/ceral
目录中,并基于安装的版本号。在我的情况下是这样的

/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'

你不需要在Mac上安装任何东西就可以获得
mp3
文件的持续时间,内置的
mdls
命令将为你提供
mdls-name kMDItemDurationSeconds song.mp3
谢谢@Mark Setchell,但是我需要在Python中完成,因为它是一个项目的一部分,也需要在Windows上运行。你不需要在Mac上安装任何东西来获得
mp3
文件的持续时间,内置的
mdls
命令将为你完成
mdls-name kMDItemDurationSeconds song.mp3
谢谢@Mark Setchell,但我需要在Python中执行此操作,因为它是一个项目的一部分,也需要在Windows上运行