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.
you can find which codecs are available with ffmpeg -codecs
or avconv -codecs
and on the line with mp3
you'll see something like:
DEA.L. mp3 MP3 (MPEG audio layer 3) (decoders: mp3 mp3float mp3_at ) (encoders: libmp3lame )
D
means ffmpeg can decode
E
means it can encode
A
means it's an audio codec
L
means it's a lossy encoding
but the most important part is the encoders: …
portion
I think you'll need to pick one of the encoders listed and tell pydub to use it (I'm not sure why, this isn't required on my machine - but it probably depends on your ffmpeg installation)
from pydub import AudioSegment
sound = AudioSegment.from_file(…)
sound.export("/path/to/output.mp3", codec="libmp3lame")