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 :)