ffmpeg: convert an existing audio stream as an additional audio stream (keeping untouched original as well)
ffmpeg -i input.mkv -map 0:v:0 -c:v copy -map 0:a:0 -c:a:0 aac -b:a:0 512k -map 0:a:0 -c:a:1 copy -map 0:s:0 -c:s:0 copy -metadata:s:s:0 language=eng -map 0:s:1 -c:s:1 copy -metadata:s:s:1 language=fre output.mkv
Stream #0:0 -&gt; #0:0 (copy)
Stream #0:1 -&gt; #0:1 (truehd (native) -&gt; aac (native))
Stream #0:1 -&gt; #0:2 (copy) # truehd 7.1
Stream #0:3 -&gt; #0:3 (copy) # (English subtitles)
Stream #0:6 -&gt; #0:4 (copy) # (French subtitles)

If I've done this correctly it should only copy or encode what you asked for and nothing else..
-canvas_size 1920x804 (WidthxHeight of video.. Is needed to copy DVD &amp; Blu-ray picture based subtitles over..)

And on a side note:
-map 0:m:language:eng (Missing Index on which stream metadata should be changed)
-map 0:m:language:fre (Missing Index on which stream metadata should be changed)
-c copy (This will copy all streams over regardless of mapping..)