sox retorna um erro quando tento manipular arquivos mp3

5

Olá, então aqui está o acordo, eu usei:

$ yum install sox 

Para instalá-lo no CentOS 6. Depois disso, fiz um teste rápido:

$ sox test.mp3 test.amr

e é isso que ele retorna:

$ sox formats: no handler for file extension 'mp3'

Eu preciso que isso seja feito com sox não lame porque eu precisarei usá-lo para misturar e outras funções não disponíveis com lame .

    
por cppit 02.11.2013 / 08:56

1 resposta

3

A versão baunilha de sox no CentOS não suporta o codec mp3 . Aqui está uma lista do que ele suporta.

$ sox
...
AUDIO FILE FORMATS: 8svx aif aifc aiff aiffc al amb au avr caf cdda cdr cvs cvsd
cvu dat dvms f32 f4 f64 f8 fap flac fssd gsm gsrt hcom htk ima ircam la lpc 
lpc10 lu mat mat4 mat5 maud nist ogg paf prc pvf raw s1 s16 s2 s24 s3 s32 s4 s8 
sb sd2 sds sf sl smp snd sndfile sndr sndt sou sox sph sw txw u1 u16 u2 u24 u3 
u32 u4 u8 ub ul uw vms voc vorbis vox w64 wav wavpcm wv wve xa xi
PLAYLIST FORMATS: m3u pls
AUDIO DEVICE DRIVERS: alsa ao oss ossdsp pulseaudio

Você pode fazer o download do RPM de origem de sox e recompilar com as bibliotecas libmad e lame-devel instaladas para adicionar suporte a esse recurso.

Este tutorial deve ajudar, intitulado: INSTALANDO SOX W / MP3 SUPPORT NO CENTOS 5.X , embora seja para O CentOS 5.x ainda deve ser aplicado. Há também etapas nos comentários dessa postagem para compilar sox com mp3 support no CentOS 6.x.

Etapas

Dos comentários.

A solução one-stop para o CentOS 6.4 sem mad ou libid3tag (YMMV):

### as root

$ yum install -y sox lame    
$ mkdir /usr/local/src/SoX
$ cd /usr/local/src/SoX
$ wget http://downloads.sourceforge.net/project/sox/sox/14.4.1/sox-14.4.1.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsox%2Ffiles%2Fsox%2F14.4.1%2F&ts=1366019279&use_mirror=freefr
$ tar -xvzf sox-14.4.1.tar.gz
$ cd sox-14.4.1/
$ ./configure
$ make -s
$ make install
$ echo “include /usr/local/lib” >> /etc/ld.so.conf
$ /sbin/ldconfig

Repo # 1 - RPM Fusion

Para instalar o lame , você precisará adicionar um YUM Repo adicional ao seu mix. O repositório que contém lame é chamado de RPM Fusion . No momento em que estou escrevendo isso, a versão mais recente do RPM que instalará o repositório RPM Fusion está em: rpmfusion-nonfree-release-6-1.noarch . Para instalá-lo:

$ sudo rpm -ivh http://download1.rpmfusion.org/nonfree/el/updates/6/x86_64/rpmfusion-nonfree-release-6-1.noarch.rpm

OBSERVAÇÃO: você pode precisar de chaves de assinatura de RPM , especificamente esta para o EL6 .

Repo # 2 - EPEL

Instalar o repositório RPM Fusion requer outro repositório YUM chamado EPEL - Pacotes Extra para o Enterprise Linux . Você precisará instalar este RPM também, antes de instalar o RPM do Fusion.

$ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

OBSERVAÇÃO: O número da versão neste repositório muda de tempos em tempos, por isso é melhor verificar o que é o mais recente. Atualmente, no momento desta postagem, a versão mais recente era a 6.8. Você pode ver esses números no nome do pacote acima, "epel-release-6-8.noarch.rpm".

Referências

por 02.11.2013 / 09:37

Tags