How do I render a video with 2 languages, and have a video player like VLC choose between 2 audio tracks (i.e. 1 track for Japanese and the other for English)?
with three inputs (-i flag) -- a video file, and two audio files.
The streams are explicitly mapped into the result, counting the inputs from 0 -- i.e. -map 0:v maps input 0 (the first file) as video (v) to the output file and -map 1:a maps the next input as audio (a), etc.
It sets the metadata for the audio tracks -metadata:s:a:0 language=jpn sets the first audio track (again counting from 0...) to Japanese; the second metadata option sets the next audio track to English.
-c:v copy specifies that the video codec should be copied directly (i.e. don't re-encode -- remove this if you DO need to re-encode)
-c:a copy specifies that the audio codec should be copied directly (i.e. don't re-encode -- remove this if you DO need to re-encode)
output.mp4 -- finally, list the name of the file you want the result written into.