【发布时间】:2016-03-05 03:20:44
【问题描述】:
很像这里的问题http://developer.echonest.com/forums/thread/3843#reply,我遇到以下错误:
文件 “/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py”,行 944,在 初始化 sampleRate=sampleRate, numChannels=numChannels) 文件“/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py”,行 403,在 初始化 self.load() 文件“/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py”,行 421,加载中 numChannels=self.numChannels, sampleRate=self.sampleRate, verbose=self.verbose) 文件 “/usr/local/lib/python2.7/dist-packages/echonest/remix/support/ffmpeg.py”, 第 91 行,在 ffmpeg 中 close_fds=(not win) init 中的文件“/usr/lib/python2.7/subprocess.py”,第 710 行 errread,errwrite)文件“/usr/lib/python2.7/subprocess.py”,第 1327 行,在 _execute_child 中 raise child_exception OSError: [Errno 2] No such file or directory
我检查了输入和输出文件的权限,确保两个文件和所有相关的文件路径都存在,并且我安装了所有相关的 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
这应该可以解决这个问题。
【问题讨论】:
-
虽然你想发布你的解决方案很好,但你的问题不是一个好地方。如果这是对您链接的问题的一个很好的答案,请在那里回答。如果它只是对此处问题的一个很好的答案,请将其作为您自己问题的答案发布。
-
不可能。他们已经关闭了该站点上的 cmets,并迁移到 Stack Overflow,称所有内容都应标记为 echonest。我也有同样的问题......所以我应该用我自己的话重复这个问题吗?
-
是的。这样就好了。
标签: python linux api ffmpeg echonest