LocalAudioFile(file) 的错误返回 OSError: [Errno 2] 没有这样的文件或目录



就像 http://developer.echonest.com/forums/thread/3843#reply 这里的问题一样,我遇到了以下错误:

文件 "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 944,初始化 sampleRate=sampleRate, numChannels=numChannels) File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 403,在初始化中 self.load() File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 421,负载中 numChannels=self.numChannels, sampleRate=self.sampleRate, verbose=self.verbose) File "/usr/local/lib/python2.7/dist-packages/echonest/remix/support/ffmpeg.py", 第 91 行,在 FFMPEG 中 close_fds=(not win) 文件 "/usr/lib/python2.7/subprocess.py",第 710 行,在 init 中 errread, errwrite) 文件 "/usr/lib/python2.7/subprocess.py",第 1327 行,_execute_child 提高child_exception OSError: [错误 2] 没有这样的文件或目录

我检查了输入和输出文件权限,确保文件和所有相关文件路径都存在,并且安装了所有相关的 python 工具。第一个线索是 Subprocess.py 遇到了麻烦。查看第 88 行的 ffmpeg.py,我开始玩弄 Popen 函数调用,看看它是如何以及为什么行为异常的。

溶液:

在弄乱了 ffmpeg.py 文件之后,我将输入通过管道传输到 shell(shell=True 而不是 shell=False),这引发了以下错误:

check raise Run timeError(ffmpeg_install_instructions) RuntimeError: en-ffmpeg not found! Please make sure ffmpeg is installed and create a link as follows: sudo ln -s which ffmpeg /usr/local/bin/en-ffmpeg Alternatively, import echonest.remix.support.ffmpeg and modify ffmpeg.FFMPEG to name the appropriate binary.

因此,要最终确定解决方案,您需要从 https://ffmpeg.org/download.html#build-linux 获取二进制文件,这在 Ubuntu 14.04 中意味着您只需要:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ffmpeg
sudo ln -s `which ffmpeg` /usr/local/bin/en-ffmpeg

这应该可以解决这个问题。

我想

我本可以发布链接的问题,并将我的答案放在这里。但重申一下,这不是文件存在的问题,而是未正确安装和配置的 ffmpeg 问题。安装 ffmpeg 并放置正确的符号链接使一切对我有用。

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install ffmpeg
sudo ln -s `which ffmpeg` /usr/local/bin/en-ffmpeg

相关内容

  • 没有找到相关文章

最新更新