2017-05-18 7 views
2

をエンコーダを選択してください:Pydubエクスポートエラー - 私はpydubでmp3などのファイルをエクスポートしようとしているが、私はこのエラーを取得し、手動で

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

を私は手動でエンコーダを選択するにはどうすればよい、デフォルトのエンコーダは何ですか、どのように私はそれを可能にすることができますか?

PS:私のPydubは問題なくMP3ファイルを開きます。私はWindowsとLibavを使用しています。あなたがffmpeg -codecsまたはavconv -codecsで、あなたが何かわかりますmp3とラインで使用可能なコーデックを見つけることができます

+0

https://stackoverflow.com/questions/20443850/error-when-exporting-with-pydub-how-to-install-mp3-codecs-for-pydub#20445742の可能な複製。あなたのファイルがエンコード可能であることを保証するために 'wav'ファイルとしてエンコードを試みましたか? mp3コーデックがインストールされていることを確認してください。 – NuclearPeon

+0

はい、wavとしてエクスポートします。そしてmp3を読み込みます。 –

+1

mp3を再生するにはデコーダが必要ですが、mp3を書き込むにはエンコーダが必要です。使用しているOSは何ですか?また、MP3エンコーダは何ですか?あなたは 'ffmpeg'、' gstreamer'、 'ubuntu-restricted-codecs'、 などを使っていますか?Mac/Linux/Windowsでは、Lame(mp3 encoder)のソースをダウンロードしてコンパイルできます:http://lame.sourceforge .net/download.php。 – NuclearPeon

答えて

1

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

Dはffmpegのは
Eが、それはエンコードすることができることを意味しデコードすることができることを意味し
Aオーディオコーデックを意味します。
Lは、非可逆符号化を意味します。

しかし、最も重要な部分は、私はこれが私の上で必要とされていない理由、あなたが記載されているエンコーダのいずれかを選んで、(私はわからないんだけど、それを使用するようにpydubを伝える必要がありますだと思うencoders: …部分

ですマシン - それはおそらくあなたのffmpegのインストールによって異なります)

from pydub import AudioSegment 
sound = AudioSegment.from_file(…) 
sound.export("/path/to/output.mp3", codec="libmp3lame") 
+0

私はffmpegを持っていないと思います....私はlibavを使ってpydubのドキュメンテーションで言及されている別のインストールに従いました.... –

+0

@ Daniel libavコマンドを含むように私の答えを更新しました – Jiaaro

+0

私はエンコーダを持っていません.... –

1

他の解決策は私のために動作しませんでした。私の問題は、Anacondaと共にインストールされたffmpegバージョンがエンコーダでコンパイルされていないように見えることでした。だから、代わりに:

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

私は見た:

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

(encoders: ...)部分がないと。 (!ありません)任意のエンコーダがあるかどうかを確認するために、

  • ffmpeg -codecs | grep mp3

    私のソリューションは、これを実行することでした。

  • conda uninstall ffmpeg
  • 新しいターミナルウィンドウを開きます。
  • brew install ffmpeg --with-libmp3lame
  • ffmpeg -codecs | grep mp3(現在はあります!)
関連する問題