1 (24.09.2010 14:54:17 отредактировано Xlighte)

Приветствую! Столкнулся с такой проблемой:
1. Установлена программа sox:

+ открыть спойлер

[root@asterisk-org etc]# sox -h
sox: Version 12.18.1

Usage: [ gopts ] [ fopts ] ifile [ fopts ] ofile [ effect [ effopts ] ]

gopts: -e -h -p -q -S -V

fopts: -r rate -c channels -s/-u/-U/-A/-a/-i/-g/-f -b/-w/-l/-d -v volume -x

effect: avg band bandpass bandreject chorus compand copy dcshift deemph earwax echo echos fade filter flanger highp highpass lowp lowpass mask mcompand noiseprof noisered pan phaser pick pitch polyphase rate repeat resample reverb reverse silence speed stat stretch swap synth trim vibro vol

effopts: depends on effect

Supported file formats: aiff al alsa au auto avr cdr cvs dat vms gsm hcom la lu maud nul ossdsp prc raw sb sf sl smp sndt sph 8svx sw txw ub ul uw voc vorbis vox wav wve

2. Там есть строчка - Supported file formats в которой отсутствует формат mp3
3. В мане sox вычитал следующее в разделе FILE TYPES:

+ открыть спойлер

.mp3      MP3 Compressed Audio
                 MP3  audio files come from the MPEG standards for audio and video compression.  They are a lossy compression format that achieves good compression rates with a minimum amount of quality loss.  Also see Ogg Vorbis for a simi-
                 lar format.  MP3 support in SoX is optional and requires access to either or both the external libmad and libmp3lame libraries.  To see if there is support for Mp3 run sox -h and look for it under the list of supported  file
                 formats as "mp3".

4. Ясно, что нужно поставить две либы libmad\libmp3lame и подружить их с sox.
5. Поставил  libmad (нашел вот такую доку: http://www.bog.pp.ru/dw/audiolib.html#libmad, поставил либу)
6. Поставил libmp3lame (Вот тут нашел rpm: http://www.rpmfind.net/linux/rpm2html/s … libmp3lame поставил «libmp3lame-3.96.1-4.i386.rpm»

Sox по прежнему не понимает mp3 вывод sox -h остался такой же, как я приводил выше.
Ну и собственно вопрос - как сбороть сию оказию?

2

Xlighte пишет:

Sox по прежнему не понимает

что значит "не понимает"? подробнее напишите

3 (24.09.2010 15:44:51 отредактировано i2ks)

вообще то так:
yum install libmad
yum install ffmpeg
yum install lame
yum install sox

в итоге:
#whereis libmp3lame
libmp3lame: /usr/lib/libmp3lame.so

пакет libmp3lame входит в состав ffmpeg или lame, точно сказать сейчас не могу, вот как то так)

It is good day to die ...
MS Windows 10
Заметки о главном...

4

Hrafn
При наборе команды sox -h (дает общую информацию о пакете и о поддерживаемых форматах)
Выдает:

+ открыть спойлер

[root@asterisk-org etc]# sox -h
sox: Version 12.18.1

Usage: [ gopts ] [ fopts ] ifile [ fopts ] ofile [ effect [ effopts ] ]

gopts: -e -h -p -q -S -V

fopts: -r rate -c channels -s/-u/-U/-A/-a/-i/-g/-f -b/-w/-l/-d -v volume -x

effect: avg band bandpass bandreject chorus compand copy dcshift deemph earwax echo echos fade filter flanger highp highpass lowp lowpass mask mcompand noiseprof noisered pan phaser pick pitch polyphase rate repeat resample reverb reverse silence speed stat stretch swap synth trim vibro vol

effopts: depends on effect

Supported file formats: aiff al alsa au auto avr cdr cvs dat vms gsm hcom la lu maud nul ossdsp prc raw sb sf sl smp sndt sph 8svx sw txw ub ul uw voc vorbis vox wav wve

, где в "поддерживаемых форматах файлов" mp3 по прежнему не значится.

5

Насколько я понимаю, необходимо пересобирать sox, поскольку закрытый формат, и сам sox собирается без поддержки этого формата.

6

Hrafn
А как его интересно пересобрать? Вы имеете в виду из тарбола и (возможно) при ./configure указать что то типо --with-libmp3lame --with-libmad?
Я просто ставил его yum-ом. И переустанавливал (yum reinstall) после подгруза библиотек.

i2ks
Не получается проинсталлировать ничего из предложенных вами пакетов, хотя yum вроде настроен и репы там есть (умолчальные правда, сам ничего не добавлял, т.к. не знаю что)
вот вывод:

+ открыть спойлер

[root@asterisk-org etc]# yum install libmad
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: ftp.chg.ru
* base: ftp.chg.ru
* epel: ftp.rhd.ru
* extras: ftp.chg.ru
* ius: download.srv.ro
* updates: ftp.chg.ru
Setting up Install Process
No package libmad available.
Nothing to do

пакет libmp3lame входит в состав lame, тут вы совершенно правы.

7

Xlighte пишет:

Не получается проинсталлировать ничего из предложенных вами пакетов, хотя yum вроде настроен и репы там есть (умолчальные правда, сам ничего не добавлял, т.к. не знаю что)

добавьте репу: rpmfusion-free

а пересобирать из src.rpm

8

Xlighte, репозиторий rpmforge надо подкл, тогда поставится

It is good day to die ...
MS Windows 10
Заметки о главном...

9 (24.09.2010 17:14:07 отредактировано Xlighte)

i2ks, Hrafn
Ага, спасибо!
Подключил rpmforge, пакеты поставил:
libmad
lame


Потом сделал yum reinstal sox

Все установки, переустановки - без проблем.

+ открыть спойлер

[root@asterisk-org etc]# rpm -q libmad
libmad-0.15.1b-4.el5.rf
[root@asterisk-org etc]# whereis libmad
libmad: /usr/local/lib/libmad.a /usr/local/lib/libmad.so /usr/local/lib/libmad.la

А вот с libmp3lame что то не срослось:

[root@asterisk-org etc]# rpm -q libmp3lame 
package libmp3lame is not installed

Хотя, он должен идти в комплекте с lame (спецом проверил пакет ffmpeg, там этой либы нет)
Ну и печальный итог, по прежнему sox mp3 не поддерживает!
P.S Ах, да .. просто проинсталить либу, тоже не может: yum install libmp3lame результатов не дает - не находит пакет.

10

Xlighte, покажи whereis libmp3lame

It is good day to die ...
MS Windows 10
Заметки о главном...

11 (24.09.2010 17:52:21 отредактировано Xlighte)

i2ks, показывает пустоту:

[root@asterisk-org monitor]# whereis libmp3lame
libmp3lame:
[root@asterisk-org monitor]#

Так, что остаются 2-е проблемы. Установка этой либы и как советует человек с другого форума (опеннет.ру):

Нужно пересобрать sox с линковкой этих двух либ.

# ldd /path/sox | grep libmad

12

Xlighte, библиотека libmp3lame входит в состав ffmpeg, если собирать из src, то вот так вот:

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

cd ffmpeg

./configure --enable-gpl --enable-pp --enable-pthreads --enable-swscaler --enable-encoder=libvorbis --enable-encoder=libogg --enable-encoder=liba52 --enable-encoder=libgsm --enable-encoder=dc1394 --enable-encoder=libxvid --disable-debug --enable-encoder=libfaac --enable-encoder=libmp3lame --enable-encoder=libx264 --enable-encoder=libfaad --enable-encoder=libtheora --enable-decoder=libvorbis --enable-decoder=libogg --enable-decoder=liba52 --enable-decoder=libgsm --enable-decoder=dc1394 --enable-decoder=libxvid --enable-decoder=libfaac --enable-decoder=libmp3lame --enable-decoder=libx264 --enable-decoder=libfaad

make

make install
---------

my config file looks like:
/usr/local/lib
/usr/lib
include /etc/ld.so.conf.d/*.conf

вы точно поставили ffmpeg?

It is good day to die ...
MS Windows 10
Заметки о главном...

13 (24.09.2010 18:01:24 отредактировано Xlighte)

i2ks, Нет не поставил, исправляю:

+ открыть спойлер

Total                                                                                                                                                                                                                                       1.0 MB/s | 9.0 MB     00:08     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : faac                                                                                                                                                                                                                                                1/13
  Installing     : giflib                                                                                                                                                                                                                                              2/13
  Installing     : SDL                                                                                                                                                                                                                                                 3/13
  Installing     : x264                                                                                                                                                                                                                                                4/13
  Installing     : a52dec                                                                                                                                                                                                                                              5/13
  Installing     : libtheora                                                                                                                                                                                                                                           6/13
  Installing     : libid3tag                                                                                                                                                                                                                                           7/13
  Installing     : imlib2                                                                                                                                                                                                                                              8/13
  Installing     : opencore-amr                                                                                                                                                                                                                                        9/13
  Installing     : cppunit                                                                                                                                                                                                                                            10/13
  Installing     : dirac                                                                                                                                                                                                                                              11/13
  Installing     : ffmpeg                                                                                                                                                                                                                                             12/13
  Installing     : ffmpeg-libpostproc                                                                                                                                                                                                                                 13/13

Installed:
  ffmpeg.i386 0:0.5.2-2.el5.rf                                                                                                                                                                                                                                             

Dependency Installed:
  SDL.i386 0:1.2.10-8.el5        a52dec.i386 0:0.7.4-8.el5.rf cppunit.i386 0:1.12.0-4.el5.1      dirac.i386 0:1.0.2-1.el5.rf           faac.i386 0:1.26-1.el5.rf ffmpeg-libpostproc.i386 0:0.5.2-2.el5.rf giflib.i386 0:4.1.3-7.1.el5_3.1 imlib2.i386 0:1.4.4-1.el5.rf
  libid3tag.i386 0:0.15.1b-5.el5 libtheora.i386 0:1.0alpha7-1 opencore-amr.i386 0:0.1.2-1.el5.rf x264.i386 0:0.0.0-0.4.20090708.el5.rf

Complete!

Не вижу я там все таки libmp3lame в составе ffmpeg.

После установки whereis libmp3lame не дает результатов ac

Соответственно у пакета sox библиотек так и нет:

+ открыть спойлер

[root@asterisk-org monitor]# ldd /usr/bin/sox
    linux-gate.so.1 =>  (0x00efd000)
    libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0x00bc3000)
    libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00bdb000)
    libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00cd8000)
    libogg.so.0 => /usr/lib/libogg.so.0 (0x00bbb000)
    libm.so.6 => /lib/libm.so.6 (0x00b90000)
    libasound.so.2 => /lib/libasound.so.2 (0x03aa9000)
    libc.so.6 => /lib/libc.so.6 (0x00a14000)
    /lib/ld-linux.so.2 (0x009f0000)
    libdl.so.2 => /lib/libdl.so.2 (0x00b6e000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00b75000)
    librt.so.1 => /lib/librt.so.1 (0x00bd0000)