[Speex-dev] ffmpeg to speexenc via pipe

Conrad Parker conrad at metadecks.org
Thu Mar 18 00:26:59 PDT 2010


On 12 March 2010 17:51, Tom Sparks <tom_a_sparks at yahoo.com.au> wrote:
> I am transcoding mp3 to wave using ffmpeg
> I am then piping it to speexenc for speex encoding
> but the speex file size is 496 bytes after the command ends
>
> https://lists.ubuntu.com/archives/ubuntu-users/2010-March/212927.html
> https://lists.ubuntu.com/archives/ubuntu-users/2010-March/212949.html
> https://lists.ubuntu.com/archives/ubuntu-users/2010-March/212954.html
>
> what am I doing wrong?
>
> bellow is the command line and the output
>
>
>> tom at tom-laptop:~/Videos$ ffmpeg -i
>> "ART_raw.mp3" -ac 1 -ar 16000 -f wav - | speexenc --skeleton
>> -V - "test.spx"
>>
>> FFmpeg version SVN-r19352-4:0.5+svn20090706-2ubuntu2,
>> Copyright (c) 2000-2009 Fabrice Bellard, et al.
>>   configuration:
>> --extra-version=4:0.5+svn20090706-2ubuntu2 --prefix=/usr
>> --enable-avfilter --enable-avfilter-lavf --enable-vdpau
>> --enable-bzlib --enable-libgsm --enable-libschroedinger
>> --enable-libspeex --enable-libtheora --enable-libvorbis
>> --enable-pthreads --enable-zlib --disable-stripping
>> --disable-vhook --enable-gpl --enable-postproc
>> --enable-swscale --enable-x11grab --enable-libdc1394
>> --extra-cflags=-I/build/buildd/ffmpeg-0.5+svn20090706/debian/include
>> --enable-shared --disable-static
>>   libavutil     49.15. 0 / 49.15.
>> 0
>>   libavcodec    52.20. 0 / 52.20. 0
>>   libavformat   52.31. 0 / 52.31. 0
>>   libavdevice   52. 1. 0 / 52. 1. 0
>>   libavfilter    0. 4. 0 /  0. 4. 0
>>   libswscale     0. 7. 1 /
>> 0. 7. 1
>>   libpostproc   51. 2. 0 / 51. 2. 0
>>   built on Oct 13 2009 22:15:16, gcc: 4.4.1
>> Input #0, mp3, from 'ART_raw.mp3':
>>   Duration: 01:57:49.77, start: 0.000000, bitrate: 128
>> kb/s
>>     Stream #0.0: Audio: mp3, 48000 Hz, stereo,
>> s16, 128 kb/s
>> Output #0, wav, to 'pipe:':
>>     Stream #0.0: Audio: pcm_s16le, 16000 Hz,
>> mono, s16, 256 kb/s
>> Stream mapping:
>>   Stream #0.0 -> #0.0
>> Press [q] to stop encoding
>> Encoding 16000 Hz audio using wideband (sub-band CELP) mode
>> (mono)
>> Warning: Enabling skeleton output may cause some decoders
>> to fail.
>> Bitrate is use: 27800 bps
>> tom at tom-laptop:~/Videos$

if you instead write the file out:

$ ffmpeg ... > foo.wav

then try speexenc on that wav file; do these work?

$ cat foo.wav | speexenc --skeleton -V - "test.spx"
$ speexenc --skeleton -V foo.wav "test.spx"

Conrad.


More information about the Speex-dev mailing list