(Obviously vlc and mpv will only work for DRM-free videos, e.g. from youtube or a DVD.)
If you were asking specifically about Netflix subtitles, there used to be an open source NflxMultiSubs extension[1] for both Firefox and Chromium, but it was broken by Netflix introducing changes to its video player and discontinued. There is an active, open-source dual-captions[2] extension, but it's for Chrome only. (However, since it's open source adapting it it for Firefox should be straightforward.) Finally, as an alternative approach, you could try a Firefox addon which allows loading arbitrary subtitles in the SRT format to netflix,[3] and which might perhaps allow you to have both netflix's subtitles and your own SRT ones at the same time.
[0] https://github.com/videolan/vlc/blob/master/NEWS#L30
[1] https://github.com/dannvix/NflxMultiSubs/
[2] https://github.com/mikesteele/dual-captions
[3] https://addons.mozilla.org/en-US/firefox/addon/netflix-srt-s...
https://chrome.google.com/webstore/detail/nflxmultisubs-netf...
That's great! It's a shame that it's (apparently) no longer open source, though obviously given the MIT license you're allowed to stop disclosing the source.
mpv --sid=auto --secondary-sid=auto --sub-pos=95 --slang de,en movie.mkv
Same works for youtube URLs. If it doesn't work, changing "de,en" to "en,de" may help.With a computer running mpv and plugged into the TV everything just works and I can trivially fix common issues like subtitle/audio sync with my phone as the remote.
On-topic: mpv seems to have a similar language learning extension to OP https://github.com/oltodosel/interSubs
Having a scriptable media player is really something else.