文件未找到错误:[Errno 2] 没有这个文件或目录:'ffmpeg'

20

我是新手,正在使用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。

非常感谢您的帮助!


Ubuntu 甚至在软件源中都没有 ffmpeg 命令。 - Antti Haapala -- Слава Україні
5个回答

19
sudo apt-get install ffmpeg

注意:此测试在Ubuntu 18.04上进行。


11

如警告所述:

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

您需要安装ffplayavplay,但是ffplay指的是ffmpeg,而在最新版本的Ubuntu中无法安装。请使用apt-get安装libav-tools软件包:

sudo apt-get install libav-tools

1
而且 ffmpeg 应该再次可用。 - Antti Haapala -- Слава Україні

7
似乎您需要使用ffmpeg,但是...
sudo apt-get install ffmpeg 

不再起作用。您可以通过以下方式获取FFmpeg:

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

4

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

解决方法很简单,只需安装 ffmpeg 即可:

sudo apt-get install ffmpeg 

与其使用流行的Git线程(https://github.com/lengstrom/fast-style-transfer/issues/129)建议:

brew install ffmpeg

但如果一个不起作用,你总可以尝试另一个。


这是对我有效的方法。在阅读了此线程和相关线程后,这几乎是我尝试的最后一件事情。然而,鉴于 Github 的说明说要这么做 https://github.com/jiaaro/pydub (并且 Github 说明中还有第二个选项,这将是我最后一个尝试的选择),实际上这应该是我应该尝试的第一件事情。 - windyvation

0
如果使用 sudo apt-get install libav-tools 安装不了,你可以从这里下载 .deb 文件wget http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb 然后运行 sudo apt install ./libav-tools_3.3.4.2_all.deb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接