Compression without important video quality loss (tested with relatively low quality full HD source):
$ ffmpeg -i input -vcodec libx265 -crf 24 output
⇒ -crf is the compression factor. Lower is better, 24 is about as low as is useful for libx265
⇒ -map 0 to keep all streams (audio, subtitles, but also video)
⇒ Use -vf scale=-1:720 to resize to 720p (keeping aspect ratio with -1, resulting in calculation of width)
Do not re-encode streams, keep all subtitles and select English and French audio languages:
$ ffmpeg -i input -map 0:v -map 0:s -map 0:m:language:eng -map 0:m:language:fre? -c copy output
⇒ -c copy to avoid re-encoding streams
⇒ -map:0:v to keep all video streams
⇒ -map 0:s to keel all subtitle streams
⇒ -map 0:m:language:eng to keep streams with english metadata defined (all types of streams but impacting only audio (a) since we're keeping all subtitles in this case)
⇒ the ? at the end of -map instruction avoids failure if the matching input is missing