
It seems there's a couple of dummy streams and also that the overall file is prefixed with what looks like null garbage.
You could confirm this by running avprobe on the file.
$ avprobe .... avprobe version 0.8.4-6:0.8.4-0ubuntu0.12.10.1, Copyright (c) 2007-2012 the Libav developers built on Nov 6 2012 16:51:11 with gcc 4.7.2 [mpeg @ 0xf5b980] Format detected only with low score of 25, misdetection possible! [mp1 @ 0xf5c440] Header missing [mp1 @ 0xf5c440] Header missing [mp1 @ 0xf5c440] Header missing [mp1 @ 0xf5c440] Header missing [mp1 @ 0xf5c440] Header missing [mp1 @ 0xf5c440] Header missing [mp1 @ 0xf5c440] Header missing [mp1 @ 0xf5c440] Header missing [mpeg @ 0xf5b980] max_analyze_duration reached [NULL @ 0xf5c440] start time is not set in estimate_timings_from_pts Input #0, mpeg, from '....': Duration: 00:01:48.14, start: 2697.433633, bitrate: 3867 kb/s Stream #0.0[0x1d6]: Audio: mp1, 0 channels, s16 Stream #0.1[0x1c0]: Audio: mp3, 48000 Hz, stereo, s16, 256 kb/s $ avprobe -f mpegts .... avprobe version 0.8.4-6:0.8.4-0ubuntu0.12.10.1, Copyright (c) 2007-2012 the Libav developers built on Nov 6 2012 16:51:11 with gcc 4.7.2 ....: Operation not permitted $ avconv -i .... -acodec:0.1 copy audio.mp3 avconv version 0.8.4-6:0.8.4-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers built on Nov 6 2012 16:51:11 with gcc 4.7.2 [mpeg @ 0xf87960] Format detected only with low score of 25, misdetection possible! [mp1 @ 0xf89a80] Header missing Last message repeated 7 times [mpeg @ 0xf87960] max_analyze_duration reached [NULL @ 0xf89a80] start time is not set in estimate_timings_from_pts Input #0, mpeg, from '....': Duration: 00:01:48.14, start: 2697.433633, bitrate: 3867 kb/s Stream #0.0[0x1d6]: Audio: mp1, 0 channels, s16 Stream #0.1[0x1c0]: Audio: mp3, 48000 Hz, stereo, s16, 256 kb/s File 'audio.mp3' already exists. Overwrite ? [y/N] y Output #0, mp3, to 'audio.mp3': Metadata: TSSE : Lavf53.21.0 Stream #0.0: Audio: [0][0][0][0] / 0x0000, 48000 Hz, stereo, 256 kb/s Stream mapping: Stream #0:1 -> #0:0 (copy) Press ctrl-c to stop encoding size= 3384kB time=108.22 bitrate= 256.2kbits/s video:0kB audio:3384kB global headers:0kB muxing overhead 0.003723% The file I end up with is a silent MP3 of 3.4MB with a whole bucket load of streams in it still. Basically I'm of the opinion that an audio format is in there, I don't want to transcode it, I just want to demux it. Looking at the avconv output, it looks like it's taking the sample rate details from stream 0.0 and then using them for stream 0.1. Maybe I'm misreading this all? :) ... ffmpeg is a black art :)