【问题标题】:Error with LocalAudioFile(file) returns OSError: [Errno 2] No such file or directoryLocalAudioFile(file) 错误返回 OSError: [Errno 2] No such file or directory
【发布时间】: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


【解决方案1】:

我想我可以发布链接的问题,然后将我的答案放在这里。但重申一下,这不是文件存在的问题,而是未正确安装和配置的 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

【讨论】:

    猜你喜欢
    • 2019-03-25
    • 2016-06-07
    • 2017-07-05
    • 2018-11-20
    • 2018-07-24
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 2018-01-21
    相关资源
    最近更新 更多