2013-12-07 5 views
2

Im, используя эту библиотеку в первый раз, поэтому я не уверен, что это ошибка, или Im не правильно что-то делает.Ошибка при экспорте с помощью pydub - как установить mp3-кодеки для pydub?

Я хочу, чтобы экспортировать файл в формате mp3, загрузка работает отлично:

wav=AudioSegment.from_wav(Path) #If I execute only this line, there are no errors. 

Но когда я пытаюсь экспортировать свой файл в формате mp3:

wav.export(r"WavOut.mp3",format="mp3") 

Он проливает следующее сообщение об ошибке:

WindowsError: [Error 2] Не удается найти файл

Ful l сообщение об ошибке: http://pastebin.com/3CpZBkEK

Я считаю, что использую правильный синтаксис. Это создает выходной файл mp3, но абсолютно пустой, и путь Imput является правильным, так как:

os.startfile(Path) #Will work 

Кроме того, я зарегистрировал FFmpeg, в пути окна, как:

;c:\ffmpeg\bin #It is currently callable from any cmd prompt in windows. 

Что может быть провал? Благодаря!


После тестирования я узнал о проблеме с кодировкой. Если я устанавливаю вывод как «wav», он работает. Но я не знаю, как мне установить mp3-кодер для работы с pydub, поэтому я изменил вопрос, чтобы спросить об этом, так как это реальная проблема. ffmpeg установлен, поэтому я не знаю, что еще делать: \

ответ

5

Я думаю, что он не может найти двоичный файл ffmpeg. У Python встроена волновая поддержка, поэтому pydub не требует, чтобы ffmpeg открывал/закрывал/изменял волновые файлы.

Попробуйте назначить расположение FFmpeg двоичном, прежде чем использовать его, как так:

from pydub import AudioSegment 
AudioSegment.converter = "c:\ffmpeg\bin\ffmpeg.exe" 

wav = AudioSegment.from_wav(Path) #If I execute only this line, there are no errors. 
wav.export(r"WavOut.mp3",format="mp3") 

редактировать: У нас изменения изменили имя свойства от AudioSegment.ffmpeg к AudioSegment.converter, потому что теперь мы поддерживаем как FFmpeg и avconv.

Пожалуйста, проверьте, какой ваша версия использует перед присвоением этого свойства (это «преобразователь», начиная с выпуском 0.9.0)

+0

Эй: Спасибо за эту большую библиотеку и за вашу поддержку. Просто попробованный предложенный бит изменения все еще не работает. Двойной проверял путь к файлу ffmpeg.exe. И снова, если вместо «mp3» экспорта в wav, он будет работать. Перхафис связан с этим, но для меня это слишком сложно понять: http://superuser.com/questions/196857/how-to-install-libmp3lame-for-ffmpeg –