|
From: Jugdish <ju...@gm...> - 2008-12-31 01:06:52
|
Hi, I'm trying to get SoX to handle AAC files, and not having much luck. I have compiled ffmpeg with libfaac and libfaad, so it is able to encode/decode the AAC format. But when I build SoX, linking it with ffmpeg's libraries, SoX still gives me this error: no handler for file extension `aac' |
|
From: Sanjeev S. <thr...@gm...> - 2008-12-31 20:22:01
|
>From this it sounds like it's not currently workng, ffmpeg or otherwise >>>>>>>>>> From: robs <aq...@ya...> Subject: Re: [SoX-users] faad2/faac libraries Cc: sox...@li... --- On Wed, 24/12/08, Chris J <cp...@vi...> wrote: > Is anyone working on patch to get sox working with the > faad2/faac > libraries? Not AFAIK; please go ahead, all patches welcome! Cheers, Rob >>>>>>>>>>>>>>>>>>>>> On Tue, Dec 30, 2008 at 8:06 PM, Jugdish <ju...@gm...> wrote: > Hi, I'm trying to get SoX to handle AAC files, and not having much |
|
From: Chris B. <ch...@cn...> - 2008-12-31 20:29:36
|
Jugdish wrote: > Hi, I'm trying to get SoX to handle AAC files, and not having much > luck. I have compiled ffmpeg with libfaac and libfaad, so it is able > to encode/decode the AAC format. But when I build SoX, linking it with > ffmpeg's libraries, SoX still gives me this error: > > no handler for file extension `aac' > I have not had a chance to try this myself but you may be able to get it working with an addtional option. Right now we do not directly map aac files to ffmpeg handler. We do map mp4 and m4a file extensions though which I think are the same thing (I don't have any non-encrypted aac files so don't really know if they are the same for sure). Try something like this: play -t ffmpeg input.aac Let us know if it works and we can make a small change to map aac file extensions to ffmpeg handler. Chris |
|
From: Jugdish <ju...@gm...> - 2008-12-31 22:56:02
|
> I have not had a chance to try this myself but you may be able to get it > working with an addtional option. Right now we do not directly map aac > files to ffmpeg handler. We do map mp4 and m4a file extensions though > which I think are the same thing (I don't have any non-encrypted aac > files so don't really know if they are the same for sure). > > Try something like this: play -t ffmpeg input.aac > > Let us know if it works and we can make a small change to map aac file > extensions to ffmpeg handler. Gave this a try, and produced this error: > play -t ffmpeg audio.aac play ffmpeg: ffmpeg could not open CODECs for audio.aac play formats: can't open input `audio.aac': Does this mean I don't have things correctly configured, or just that it doesn't know how to decode AAC? |
|
From: Chris B. <ch...@cn...> - 2009-01-01 01:24:19
|
Jugdish wrote: >> I have not had a chance to try this myself but you may be able to get it >> working with an addtional option. Right now we do not directly map aac >> files to ffmpeg handler. We do map mp4 and m4a file extensions though >> which I think are the same thing (I don't have any non-encrypted aac >> files so don't really know if they are the same for sure). >> >> Try something like this: play -t ffmpeg input.aac >> >> Let us know if it works and we can make a small change to map aac file >> extensions to ffmpeg handler. >> > > Gave this a try, and produced this error: > > >> play -t ffmpeg audio.aac >> > play ffmpeg: ffmpeg could not open CODECs for audio.aac > play formats: can't open input `audio.aac': > > Does this mean I don't have things correctly configured, or just that > it doesn't know how to decode AAC? > > Since I've not used ffmpeg for aac support yet, I'm not sure if it tells us anything. It will be helpful to verify that your version of ffmpeg actually has faac/faad support linked in. There is probably an easier way but try this. Run this commnand on where ever you installed sox: ldd /usr/local/lib/sox/libsox_fmt_ffmpeg.so Look for the line were its referencing libavcodec.so.*. If you don't find libsox_fmt_ffmpeg.so or it doesn't link to libavcodec.so then its a compile issue with SoX. Next, run ldd on that: ldd /usr/lib/sse2/libavformat.so.52 Make sure you see references to libfaac.so and libfaad.so. If not then your ffmpeg libraries need some updates. If its there then somehow SoX is not working with aac files and its not ffmpeg's issue. Chris |
|
From: Jugdish <ju...@gm...> - 2009-01-01 22:52:37
|
> Run this commnand on where ever you installed sox:
>
> ldd /usr/local/lib/sox/libsox_fmt_ffmpeg.so
OK, turns out I am missing that file. My lib/sox directory is actually empty.
I thought that I was correctly linking SoX to the ffmpeg libraries,
but maybe not. Here's what I did for the compile:
export CPPFLAGS="-I/home/jugdish/apps/ffmpeg-r16391/include"
export LDFLAGS="-L/home/jugdish/apps/ffmpeg-r16391/lib
-Wl,-rpath,/home/jugdish/apps/ffmpeg-r16391/lib"
./configure --without-libltdl --prefix=/home/jugdish/apps/sox-14.2.0
make
make install
I noticed that during the configure step, it printed this out:
checking for FFMPEG... no
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
The fact that it said it couldn't find FFMPEG concerned me, but then
at the end of the output from configure, it said this:
Debugging build................... no
External module support........... no
ALSA driver....................... yes
libao driver...................... no
OSS driver........................ yes
SUN audio driver.................. no
CoreAudio driver.................. no
symlinks enabled.................. yes
play and rec symlinks............. yes
libgsm............................ in-tree
liblpc10.......................... in-tree
libsndfile formats................ no
Ogg Vorbis format................. no
FLAC format....................... no
ffmpeg formats.................... yes
magic library..................... no
MAD MP3 reader.................... no
id3tag library.................... no
LAME MP3 writer................... no
AMR-WB format..................... no
AMR-NB format..................... no
WavPack format.................... no
LADSPA effects.................... no
PNG support....................... yes
Secret Rabbit Code resampling..... no
pkg-config location............... $(libdir)/pkgconfig
So that made me think that it had successfully found ffmpeg.
Now, even though I'm missing that libsox_fmt_ffmpeg.so, I did run ldd
on libsox.so itself, and this is what it output:
> ldd /home/jugdish/apps/sox-14.2.0/lib/libsox.so.1.0.0
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x0000002a956fe000)
libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a95825000)
libavformat.so.52 =>
/home/jugdish/apps/ffmpeg-r16391/lib/libavformat.so.52
(0x0000002a95938000)
libavcodec.so.52 =>
/home/jugdish/apps/ffmpeg-r16391/lib/libavcodec.so.52
(0x0000002a95b1f000)
libavutil.so.49 =>
/home/jugdish/apps/ffmpeg-r16391/lib/libavutil.so.49
(0x0000002a962be000)
libasound.so.2 => /lib64/libasound.so.2 (0x0000002a963ca000)
libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a96590000)
libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a96716000)
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x0000002a96950000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000002a96a5f000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a96b62000)
libfaac.so.0 => /home/jugdish/apps/faac-1.26/lib/libfaac.so.0
(0x0000002a96c78000)
libfaad.so.0 =>
/home/jugdish/apps/faad2-2.6.1/lib/libfaad.so.0 (0x0000002a96d91000)
libmp3lame.so.0 =>
/home/jugdish/apps/lame-3.98.2/lib/libmp3lame.so.0
(0x0000002a96ef4000)
libvorbisenc.so.2 =>
/home/jugdish/apps/libvorbis-1.2.0/lib/libvorbisenc.so.2
(0x0000002a9706b000)
libvorbis.so.0 =>
/home/jugdish/apps/libvorbis-1.2.0/lib/libvorbis.so.0
(0x0000002a97344000)
/lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
libogg.so.0 => /home/jugdish/apps/libogg-1.1.3/lib/libogg.so.0
(0x0000002a9746f000)
So again, looks to me like it is linking to the ffmpeg libs. And I'm
guessing that the links to lib{faac,faad,mp3lame,vorbisenc,vorbis,ogg}
are all getting pulled in from the rpath links in the ffmpeg libs
themselves (?)
|
|
From: Chris B. <ch...@cn...> - 2009-01-02 03:33:32
|
Jugdish wrote:
>> Run this commnand on where ever you installed sox:
>>
>> ldd /usr/local/lib/sox/libsox_fmt_ffmpeg.so
>>
>
> OK, turns out I am missing that file. My lib/sox directory is actually empty.
>
>
I neglected to mention modules are option features... So you did correct
by looking at libsox. Your output below shows libfaac and libfaad as
linked in so all looks good from that point of view. Its probably more
a bug in SoX then that it can't handle aac files. Not sure why as I
thought ffmpeg would just auto-detect it was an aac and process it.
I'm not much more to offer right now... If you want to email me directly
a small aac file, I can do some debugging and get it working some
time... it may be a while though.
Chris
> I thought that I was correctly linking SoX to the ffmpeg libraries,
> but maybe not. Here's what I did for the compile:
>
>
> libavformat.so.52 =>
> /home/jugdish/apps/ffmpeg-r16391/lib/libavformat.so.52
> (0x0000002a95938000)
> libavcodec.so.52 =>
> /home/jugdish/apps/ffmpeg-r16391/lib/libavcodec.so.52
> (0x0000002a95b1f000)
> libavutil.so.49 =>
> /home/jugdish/apps/ffmpeg-r16391/lib/libavutil.so.49
> (0x0000002a962be000)
> libasound.so.2 => /lib64/libasound.so.2 (0x0000002a963ca000)
> libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a96590000)
> libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a96716000)
> libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x0000002a96950000)
> libdl.so.2 => /lib64/libdl.so.2 (0x0000002a96a5f000)
> libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a96b62000)
> libfaac.so.0 => /home/jugdish/apps/faac-1.26/lib/libfaac.so.0
> (0x0000002a96c78000)
> libfaad.so.0 =>
> /home/jugdish/apps/faad2-2.6.1/lib/libfaad.so.0 (0x0000002a96d91000)
> libmp3lame.so.0 =>
> /home/jugdish/apps/lame-3.98.2/lib/libmp3lame.so.0
> (0x0000002a96ef4000)
> libvorbisenc.so.2 =>
> /home/jugdish/apps/libvorbis-1.2.0/lib/libvorbisenc.so.2
> (0x0000002a9706b000)
> libvorbis.so.0 =>
> /home/jugdish/apps/libvorbis-1.2.0/lib/libvorbis.so.0
> (0x0000002a97344000)
> /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
> libogg.so.0 => /home/jugdish/apps/libogg-1.1.3/lib/libogg.so.0
> (0x0000002a9746f000)
>
> So again, looks to me like it is linking to the ffmpeg libs. And I'm
> guessing that the links to lib{faac,faad,mp3lame,vorbisenc,vorbis,ogg}
> are all getting pulled in from the rpath links in the ffmpeg libs
> themselves (?)
>
>
|