Sox + MP3:libsox-fmt-mp3不能正常工作

时间:2014-04-24 19:16:45

标签: audio mp3 sox

我的服务器抛出此错误

Sox::Error (sox FAIL formats: no handler for file extension `mp3'
)

这个人(https://superuser.com/questions/421153/how-to-add-a-mp3-handler-to-sox)有类似的问题。列出的解决方案是

sudo apt-get install libsox-fmt-mp3

运行后我仍然遇到同样的错误,所以我卸载了sox(sudo apt-get remove sox)然后重新安装它。在这一点上,我相信它们都安装了最新版本,因为任何安装它们的尝试都会产生这个

libsox-fmt-mp3 is already the newest version.
sox is already the newest version.

但是,我仍然收到同样的错误。

知道我缺少什么吗?

编辑:

我正在使用ruby-sox gem(https://github.com/TMXCredit/ruby-sox),它说下面应该足够了。

apt-get install libsox-fmt-all sox libchromaprint-dev

但所有这些都已安装,但仍然没有骰子。

编辑:

我能想到这一点的唯一方法是,如果sox正在寻找错误位置的lib文件。考虑到这一点,这些细节可能会有所帮助,

sudo find / -name sox
/usr/bin/sox
/usr/lib/x86_64-linux-gnu/sox
/usr/lib/mime/packages/sox
/usr/share/doc/sox
/home/deployer/apps/eko/shared/bundle/ruby/2.1.0/gems/ruby-sox-0.0.1/lib/sox

sudo find / -name libsox-fmt-mp3
/usr/share/doc/libsox-fmt-mp3

当我卸载sox(apt-get remove sox)时,我在搜索sox时得到了这个

ubuntu@ip-10-0-0-9:~$ sudo find / -name sox
/usr/lib/x86_64-linux-gnu/sox
/home/deployer/apps/eko/shared/bundle/ruby/2.1.0/gems/ruby-sox-0.0.1/lib/sox

为了摆脱这个袜子,希望除了宝石体验之外的任何地方都能回到没有sox,我试过

sudo apt-get remove libsox-dev 

告诉我a)没有安装libsox-dev而b)我需要

sudo apt-get autoremove

删除不再需要的与sox相关的大量文件。此时,除了gem之外,还没有sox文件。然后我

apt-get install libsox-fmt-all sox libchromaprint-dev

正如宝石建议的那样。

没有骰子。同样的错误。

2 个答案:

答案 0 :(得分:2)

Ult决定只使用wavs。几个月后(又名现在)需求发生变化,为了支持IE,我必须启动并运行mp3支持。所有上述问题仍然适用。

使用跛脚结束。

system "lame -b 32 --resample 8 -a #{Rails.root.join("tmp",@filename)} #{Rails.root.join("tmp",@output_file_name)}"

答案 1 :(得分:0)

我也遇到了这个问题。对我来说,问题是我收到了我认为是mp3但实际上是aac的音频流。 Sox没有用于aac的处理程序,但是切换到ffmpeg就像一个魅力:

ffmpeg -i input.aac output.wav