当我尝试导出 Mp3 的一部分时,pydub 返回零字节文件

pydub returning zero byte file when I try to export part of an Mp3

我把这个分享给后代,因为我已经找到了答案。我正在尝试在 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:

上遇到了这个

You may use libav or ffmpeg. libav is recommended.

pydub 开发人员在 github wiki 上的多个平台上运行安装。不过,我在这里分享它是为了让人们更容易找到它。

安装 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