2015-06-15 7 views
1

Я делюсь этим для потомков, так как я уже понял ответ. Я пытаюсь создать фрагменты предварительного просмотра файлов MP3 с pydub в Python, но когда я запускал экспорт, файлы всегда были равны нулю в байтах.pydub возвращает нулевой файл байта, когда я пытаюсь экспортировать часть Mp3

пример:

from pydub import AudioSegment  

sound = AudioSegment.from_mp3("preview_temp/n/1/mp3/01_Beyond_and_Into_the_Ultimate.mp3") 

# len() and slicing are in milliseconds 
halfway_point = len(sound)/2 

second_half = sound[halfway_point:] 
print second_half 
second_half.export("preview_temp/n/1/prev/prev_test.mp3", format="mp3", bitrate="192k") 

Я проверил исходный файл существовал и был доступен. Я подозревал, что это связано с ffmpeg. Он был установлен правильно, но затем я наткнулся на это на pydub github:

Вы можете использовать libav или ffmpeg. libav рекомендуется.

Разработчик pydub проходит через установку на нескольких платформах в викторине github. Я поделюсь им здесь, чтобы облегчить поиск людей.

ответ

1

Как только я установил libav, все было в порядке. Не уверен, почему ffmpeg не выводил, но установка libav решила его.

В Debian/Ubuntu:

# libav 
apt-get install libav-tools libavcodec-extra 

#### OR ##### 

# ffmpeg 
apt-get install ffmpeg libavcodec-extra 

На OSX, с доморощенного:

# libav 
brew install libav --with-libvorbis --with-sdl --with-theora 

#### OR ##### 

# ffmpeg 
brew install ffmpeg --with-libvorbis --with-ffplay --with-theora 

Все от pydub readme