FileNotFoundError:[Errno 2]没有这样的文件或目录:' ffmpeg'

时间:2015-04-05 04:13:47

标签: python ubuntu ffmpeg pydub

我是python中的新手,我使用pydub模块播放mp3曲目。

这是我播放mp3的简单代码:

#Let's play some mp3 files using python!

from pydub import AudioSegment
from pydub.playback import play

song = AudioSegment.from_mp3("/media/rajendra/0C86E11786E10256/05_I_Like_It_Rough.mp3")
play(song)

当我运行这个程序时,它说:

*/usr/bin/python3.4 /home/rajendra/PycharmProjects/pythonProject5/myProgram.py
/usr/local/lib/python3.4/dist-packages/pydub/utils.py:161: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
/usr/local/lib/python3.4/dist-packages/pydub/utils.py:174: RuntimeWarning: Couldn't find ffplay or avplay - defaulting to ffplay, but may not work
  warn("Couldn't find ffplay or avplay - defaulting to ffplay, but may not work", RuntimeWarning)
Traceback (most recent call last):
  File "/home/rajendra/PycharmProjects/pythonProject5/myProgram.py", line 11, in <module>
    song = AudioSegment.from_mp3("/media/rajendra/0C86E11786E10256/05_I_Like_It_Rough.mp3")
  File "/usr/local/lib/python3.4/dist-packages/pydub/audio_segment.py", line 355, in from_mp3
    return cls.from_file(file, 'mp3')
  File "/usr/local/lib/python3.4/dist-packages/pydub/audio_segment.py", line 339, in from_file
    retcode = subprocess.call(convertion_command, stderr=open(os.devnull))
  File "/usr/lib/python3.4/subprocess.py", line 533, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.4/subprocess.py", line 848, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.4/subprocess.py", line 1446, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg'

Process finished with exit code 1*

请帮帮我!我检查了所有路径,但它没有工作。我目前正在使用Ubuntu。

帮助将不胜感激!

5 个答案:

答案 0 :(得分:6)

就像警告说:

Couldn't find ffplay or avplay - defaulting to ffplay, but may not work

您需要ffplayavplay;但是ffplay指的是ffmpeg,它在最近的版本中无法在Ubuntu中安装。使用libav-tools安装apt-get包:

sudo apt-get install libav-tools

答案 1 :(得分:3)

好像你需要ffmpeg,但是

sudo apt-get install ffmpeg 

不再起作用了。你可以通过以下方式获得ffmpeg:

sudo add-apt-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg

答案 2 :(得分:1)

sudo apt-get install ffmpeg

注意:已在Ubuntu 18.04上测试

答案 3 :(得分:0)

如果不允许您使用sudo apt-get install libav-tools安装,可以download the .deb from here

wget http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb

然后运行sudo apt install ./libav-tools_3.3.4.2_all.deb

答案 4 :(得分:0)

我在Ubuntu Ubuntu 18.04.3 LTS上也遇到了同样的问题。

通过使用以下命令安装ffmpeg即可解决此问题:

sudo apt-get install ffmpeg 

代替流行的Git线程(https://github.com/lengstrom/fast-style-transfer/issues/129)建议:

brew install ffmpeg

但是,如果一个都不起作用,您可以随时尝试两种方法。