FileNotFoundError: [Errno 2] Нет такого файла или каталога: 'ffmpeg'
Я новичок в 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.
Помощь будет оценена!
4 ответа
Как предупреждение говорит:
Couldn't find ffplay or avplay - defaulting to ffplay, but may not work
Вам нужно иметь либо ffplay
или же avplay
; тем не мение ffplay
относится к ffmpeg
который не устанавливается в Ubuntu в последних версиях. Установите libav-tools
пакет с apt-get
:
sudo apt-get install libav-tools
sudo apt-get install ffmpeg
Примечание: протестировано на Ubuntu 18.04
Похоже, вам нужен ffmpeg, но
sudo apt-get install ffmpeg
больше не работает. Вы можете получить ffmpeg:
sudo add-apt-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg
Я столкнулся с той же проблемой на моем Ubuntu Ubuntu 18.04.3 LTS.
Проблема решается простой установкой ffmpeg с помощью:
sudo apt-get install ffmpeg
Вместо популярного Git-thread (https://github.com/lengstrom/fast-style-transfer/issues/129) предлагается:
brew install ffmpeg
Но вы всегда можете попробовать оба, если один не работает.
Если это не позволит вам установить с помощью 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