0
votes

Much like the question here http://developer.echonest.com/forums/thread/3843#reply, I am having the following error:

File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 944, in init sampleRate=sampleRate, numChannels=numChannels) File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 403, in init self.load() File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line 421, in load numChannels=self.numChannels, sampleRate=self.sampleRate, verbose=self.verbose) File "/usr/local/lib/python2.7/dist-packages/echonest/remix/support/ffmpeg.py", line 91, in ffmpeg close_fds=(not win) File "/usr/lib/python2.7/subprocess.py", line 710, in init errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory

I checked input and output file permissions, made sure that both files and all related file paths existed, and that I have all the relevant python tools installed. The first clue is that Subprocess.py is having trouble. Looking at ffmpeg.py on line 88, I started playing around with the Popen function call to see how and why it was misbehaving.

Solution:

After messing around with the ffmpeg.py file, I piped the input to the shell (shell=True instead of shell=False), which raised the following error:

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.

So, to finalize the solution, you need to get the binary from https://ffmpeg.org/download.html#build-linux, which in Ubuntu 14.04 means you just need to:

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

That should clear this problem right up.

1
While it's great that you want to post your solution, your question is not a good place for it. If it is a good answer to the question you linked, answer it there. If it is just a good answer to the question here, post it as an answer to your own question.zondo
Not possible. They've closed comments on that site, and migrated to Stack Overflow, saying that everything should be tagged as echonest. And I had the same question... so should I just repeat the question in my own words?beriukay
Yes. That would be fine.zondo

1 Answers

0
votes

I guess I could have just posted the linked question, and put my answer here. But to restate, it wasn't a file existing problem, it was a not-correctly-installed-and-configured ffmpeg issue. Installing ffmpeg and putting the proper symbolic link makes everything work for me.

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