18

I'm new in python and i'm using pydub modules to play mp3 track.

Here is my simple code to play 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)

When i run this program, it says:

*/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*

Please help me! I've checked everything path but it's not working. I'm currently using Ubuntu.

Help would be appreciated!

stackoverflow
  • 197
  • 1
  • 1
  • 4

5 Answers5

19
sudo apt-get install ffmpeg

Note: Tested on Ubuntu 18.04

Foreever
  • 7,099
  • 8
  • 53
  • 55
11

Like the warning says:

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

You need to have either ffplay or avplay; however ffplay refers to ffmpeg which is not installable in Ubuntu in recent versions. Install the libav-tools package with apt-get:

sudo apt-get install libav-tools
6

Seems like you need ffmpeg, but

sudo apt-get install ffmpeg 

does not work anymore. You can get ffmpeg by:

sudo add-apt-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg
Scott
  • 6,089
  • 4
  • 34
  • 51
3

I've faced the same problem on my Ubuntu Ubuntu 18.04.3 LTS.

The issue is being solved by simply installing ffmpeg using:

sudo apt-get install ffmpeg 

Instead of the popular Git-thread (https://github.com/lengstrom/fast-style-transfer/issues/129) suggestion of:

brew install ffmpeg

But you can always try both if the one doesn't work.

Strayhorn
  • 687
  • 6
  • 16
  • This is what worked for me. And this is almost the last thing I tried after reading this thread and related threads. However, it's probably the first thing I should have tried given that this is what the github instructions say to do: https://github.com/jiaaro/pydub (and there was a 2nd option in the github instructions that would have been the last thing I would have tried). – windyvation Dec 10 '22 at 21:44
0

If it won't let you install using sudo apt-get install libav-tools You can download the .deb from here:

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

Then run sudo apt install ./libav-tools_3.3.4.2_all.deb

Ron Hudson
  • 11
  • 1