Pydub export error - Choose encoder manually

Viewed 8584

I'm trying to export a file as mp3 in pydub, but I get this error:

Automatic encoder selection failed for output stream #0:0. Default encoder for format mp3 is probably disabled. Please choose an encoder manually

How do I select an encoder manually, what is the default encoder, and how could I enable it?

PS: My Pydub opens mp3 files without any problem. I'm using Windows and Libav.

3 Answers

The other solution did not work for me. The problem for me was that the ffmpeg version that came installed with Anaconda did not seem to be compiled with an encoder. So instead of:

DEA.L. mp3 MP3 (MPEG audio layer 3) (decoders: mp3 mp3float mp3_at ) (encoders: libmp3lame )

I saw:

DEA.L. mp3 MP3 (MPEG audio layer 3) (decoders: mp3 mp3float mp3_at )

Without the (encoders: ...) part.

My solution was to do this:

  • ffmpeg -codecs | grep mp3, to check if there is any encoder (there isn't!).
  • conda uninstall ffmpeg
  • Open new terminal window.
  • brew install ffmpeg --with-libmp3lame
  • ffmpeg -codecs | grep mp3, to check if there is any encoder (now there is!).

I had the same problem as Emiel, where the ffmpeg version available in Anaconda did have an mp3 encoder. I solved the problem another way, by installing this version of ffmpeg from the conda-forge channel. I used:

conda install -n <anaconda-env> -c conda-forge ffmpeg 

Now using ffmpeg -codecs | grep mp3 the mp3 encoders show up:

 DEA.L. mp3      MP3 (MPEG audio layer 3) (decoders: mp3float mp3 ) (encoders: libmp3lame libshine )
Related