What I'm trying to do is to take a movie (in an Matroska container), convert all audio tracks to AC3 and don't touch anything else. I'm using this line:
avconv -i infile.mkv -map 0 -vcodec copy -scodec copy -acodec ac3 -ab 256k outfile.mkv
This works fine, except when there are subtitles embedded. Then, after some time processing with no progress, avconv just "dies" (output shortened, these seem to be the interesting parts):
[matroska,webm @ 0xf867a0] max_analyze_duration reached
[matroska,webm @ 0xf867a0] Estimating duration from bitrate, this may be inaccurate
...
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
...
Stream #0.0(eng): Video: H264 / 0x34363248, yuv420p, 1280x536 [PAR 1:1 DAR 160:67], q=2-31, 1k tbn, 1k tbc (default)
Stream #0.1(ger): Audio: ac3, 48000 Hz, 5.1, flt, 256 kb/s (default)
Stream #0.2(eng): Audio: ac3, 48000 Hz, 5.1, flt, 256 kb/s
Stream #0.3(ger): Subtitle: dvdsub (default) (forced)
Metadata:
title : forced
Stream #0.4(ger): Subtitle: dvdsub
Metadata:
title : complete
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (dca -> ac3)
Stream #0:2 -> #0:2 (dca -> ac3)
Stream #0:3 -> #0:3 (copy)
Stream #0:4 -> #0:4 (copy)
Input stream #0:2 frame changed from rate:48000 fmt:s16 ch:6 to rate:48000 fmt:flt ch:6
Input stream #0:1 frame changed from rate:48000 fmt:s16 ch:6 to rate:48000 fmt:flt ch:6
frame= 2606 fps=1303 q=-1.0 size= 3kB time=107.36 bitrate= 0.2kbits/s
...
frame=96141 fps=813 q=-1.0 size= 2195806kB time=2807.04 bitrate=6408.2kbits/s
frame=96251 fps=810 q=-1.0 size= 2195806kB time=2807.04 bitrate=6408.2kbits/s
...
frame=97015 fps=397 q=-1.0 size= 2195806kB time=2807.04 bitrate=6408.2kbits/s
Getötet ["Killed", in English]
I have no idea why this happens, as there is no error-output.
I'd like to just copy the subtitles over, not touch them at all. If that won't work, they can be completely dropped.